From b29d86d9ed34fd890eb14cb7a75f6ae4f7148865 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 01 九月 2026 13:58:03 +0800
Subject: [PATCH] feat(mes): 新增防伪防窜货功能模块

---
 docs/sales_outbound_traceability_integration.md                                                                                           |  120 +
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/integrity/MesTraceIntegrityService.java                          |   57 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/trace/MesTraceWarningStatusEnum.java                                     |   38 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanEventService.java                   |   36 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/vo/MesWmProductSalesPageReqVO.java            |    4 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/consumer/vo/MesTraceConsumerScanSummaryRespVO.java      |   13 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/integrity/vo/MesTraceIntegrityRecordPageReqVO.java      |   24 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/trace/integrity/MesTraceIntegrityRecordDO.java                  |   48 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/crossregion/MesTraceCrossRegionService.java                      |   80 +
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/trace/integrity/MesTraceIntegrityRecordMapper.java                   |   32 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/trace/crossregion/MesTraceAntiConfigMapper.java                      |   19 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/MesProTracePublicServiceImpl.java                                |   79 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceAntiConfigRespVO.java            |   16 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/pub/trace/vo/MesProTracePublicRespVO.java                           |   15 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionSummaryRespVO.java    |   28 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/trace/consumer/MesTraceConsumerScanEventMapper.java                  |   30 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/consumer/vo/MesTraceConsumerScanDistributionReqVO.java  |   27 
 sql/mysql/mes_dealer_menu_init.sql                                                                                                        |   67 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/MesWmProductSalesController.java              |   11 
 sql/mysql/mes_trace_anti_cross_region_init.sql                                                                                            |   82 +
 sql/mysql/mes_trace_consumer_scan_event.sql                                                                                               |   28 
 sql/mysql/mes_wm_sales_outbound_traceability.sql                                                                                          |    9 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/trace/crossregion/MesTraceCrossRegionWarningMapper.java              |   42 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionWarningRespVO.java    |   99 +
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/vo/MesWmProductSalesRespVO.java               |   11 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanStatisticsServiceImpl.java          |  150 +
 yudao-server/src/main/resources/static/trace.html                                                                                         |  113 +
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/batch/MesProBatchServiceImpl.java                                  |    9 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/MesTraceConfigController.java                           |   38 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/trace/crossregion/MesTraceCrossRegionWarningDO.java             |  107 +
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionWarningPageReqVO.java |   45 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/trace/MesTraceWarningTypeEnum.java                                       |   27 
 yudao-module-mes/src/test/resources/sql/create_tables.sql                                                                                 |   98 +
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/integrity/MesTraceIntegrityServiceImpl.java                      |  237 +++
 yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanStatisticsServiceImplTest.java      |  154 ++
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/integrity/MesTraceIntegrityController.java              |   45 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productsales/MesWmProductSalesDO.java                        |   12 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/batch/MesProBatchMapper.java                                     |    5 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java                                                  |   11 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/consumer/vo/MesTraceConsumerScanDistributionRespVO.java |   11 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/vo/MesTraceQrConfigRespVO.java                          |   16 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/pallet/MesProPalletMapper.java                                   |    5 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/consumer/MesTraceConsumerScanController.java            |   63 
 docs/consumer_trace_scan_statistics_api.md                                                                                                |  111 +
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanStatisticsService.java              |   15 
 sql/mysql/mes_trace_consumer_scan_menu.sql                                                                                                |   20 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/trace/MesTraceIntegrityBizTypeEnum.java                                  |   43 
 docs/qr_trace_modal_url_integration.md                                                                                                    |   65 
 yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/trace/crossregion/MesTraceCrossRegionServiceImplTest.java              |  367 ++++
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesServiceImpl.java                      |   27 
 yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/trace/integrity/MesTraceIntegrityServiceImplTest.java                  |  129 +
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/integrity/vo/MesTraceIntegrityVerifyReqVO.java          |   20 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/trace/consumer/MesTraceConsumerScanStatisticsMapper.java             |   31 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/trace/consumer/MesTraceConsumerScanEventDO.java                 |   69 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productsales/MesWmProductSalesDetailMapper.java                   |   20 
 sql/mysql/mes_trace_anti_module_menu.sql                                                                                                  |   66 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/integrity/vo/MesTraceIntegrityVerifyRespVO.java         |   34 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionHandleReqVO.java      |   22 
 yudao-module-mes/src/test/resources/sql/clean.sql                                                                                         |    4 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/MesTraceCrossRegionController.java          |   89 +
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionStatisticsReqVO.java  |   28 
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/trace/crossregion/MesTraceAntiConfigDO.java                     |   37 
 docs/anti_cross_region_integrity_integration.md                                                                                           |  157 ++
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productsales/MesWmProductSalesMapper.java                         |    2 
 /dev/null                                                                                                                                 |  337 ----
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanEventServiceImpl.java               |  118 +
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/crossregion/MesTraceCrossRegionServiceImpl.java                  |  423 +++++
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/consumer/vo/MesTraceConsumerScanTrendRespVO.java        |   13 
 yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanEventServiceImplTest.java           |   89 +
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionStatisticsRespVO.java |   16 
 70 files changed, 4,150 insertions(+), 363 deletions(-)

diff --git a/.playwright-mcp/img.png b/.playwright-mcp/img.png
deleted file mode 100644
index d6c77b2..0000000
--- a/.playwright-mcp/img.png
+++ /dev/null
Binary files differ
diff --git a/.playwright-mcp/page-2026-07-21T07-05-51-287Z.yml b/.playwright-mcp/page-2026-07-21T07-05-51-287Z.yml
deleted file mode 100644
index 8cff50c..0000000
--- a/.playwright-mcp/page-2026-07-21T07-05-51-287Z.yml
+++ /dev/null
@@ -1,90 +0,0 @@
-- generic [active] [ref=e1]:
-  - generic [ref=e3]:
-    - generic [ref=e4]:
-      - generic [ref=e8]: 涓皬浼佷笟鏀归�燽ug淇敼鍒楄〃
-      - button "鐧诲綍鑵捐鏂囨。" [ref=e12]
-    - generic [ref=e13]:
-      - generic [ref=e14]:
-        - generic [ref=e15]: 寮�濮�
-        - generic [ref=e16]: 鎻掑叆
-        - generic [ref=e17]: 鏁版嵁
-        - generic [ref=e18]: 鍏紡
-        - generic [ref=e19]: 鍗忎綔
-        - generic [ref=e20]: 瑙嗗浘
-      - generic [ref=e21]:
-        - generic [ref=e27]:
-          - generic [ref=e28]: 榛樿瀛椾綋
-          - generic [ref=e30]: "10"
-        - generic [ref=e42]: 琛ㄦ牸鏍峰紡
-        - generic [ref=e44]: 鏉′欢鏍煎紡
-        - generic [ref=e53]: 鎹㈣
-        - generic [ref=e55]: 鍚堝苟
-        - generic [ref=e58]: 甯歌
-        - generic [ref=e64]: 绛涢��
-        - generic [ref=e66]: 鍐荤粨
-        - generic [ref=e68]: 鎺掑簭
-        - generic [ref=e70]: 姹傚拰
-        - generic [ref=e72]: 鏁版嵁
-        - generic [ref=e74]: 淇濇姢
-        - generic [ref=e77]: 鎻掑叆
-        - generic [ref=e79]: 鍥剧墖
-        - generic [ref=e81]: 鍥捐〃
-        - generic [ref=e83]: 閫忚琛�
-        - generic [ref=e86]: 蹇嵎宸ュ叿
-        - generic [ref=e88]: 鐢熸垚鍥剧墖
-        - generic [ref=e90]: 鍏宠仈鏀堕泦琛�
-        - generic [ref=e92]: 鍥剧墖杞〃鏍�
-        - generic [ref=e94]: 鐢熸垚鏅鸿兘琛�
-        - generic [ref=e96]: PDF杞崲
-        - generic [ref=e99]: 鎵撳嵃
-  - generic [ref=e106]:
-    - textbox [ref=e107]
-    - combobox [ref=e108]:
-      - paragraph [ref=e109]
-  - generic [ref=e122]:
-    - generic [ref=e125]:
-      - link "杩涢攢瀛橀噸鏋�-NEW" [ref=e126]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=fs73ok
-      - generic [ref=e129]: 閾跺窛3绾OM绯荤粺
-      - link "OA闂琛�" [ref=e132]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=f64daq
-      - link "瀹佸-涓囬�氬缓鏉�" [ref=e135]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=ept4mh
-      - link "娴疆" [ref=e138]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=spyhmp
-      - link "閰掓硥楠屾敹闂" [ref=e141]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=x00zho
-      - link "婀熸按宄¢獙鏀堕棶棰樿〃" [ref=e144]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=h625nh
-      - link "澶╂触鈥斿弻濂囩偣" [ref=e147]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=BB08J2
-      - link "澶╂触鈥斿啗娉颁紵涓�" [ref=e150]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=lspijq
-      - link "澶╂触--鍚涙瓕鍖栧伐" [ref=e153]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=mq8fx1
-      - link "澶╂触鈥旈槼鍏夊嵃鍒�" [ref=e156]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=0l2zs6
-      - link "楣ゅ鈥斿ぉ娌愮幓鐠�" [ref=e159]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=iwl1zq
-      - link "澶╂触鈥斿痉鐟炴柉褰辫" [ref=e162]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=uw3s1s
-      - link "婀栧崡鈥斿潳娉板寲宸�" [ref=e165]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=lhgufk
-      - link "婀栧崡鈥旈箯鍒涚數瀛�" [ref=e168]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=qr1hgf
-      - link "瀹佸-涓洓寤烘潗" [ref=e171]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=glpee8
-      - link "闀挎不鈥斿仴榻块娇绉戝櫒鏉�" [ref=e174]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=f6oijb
-      - link "闀挎不鈥斿畨閾佺啍鍓�" [ref=e177]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=27v3ks
-      - link "闀挎不-绁ラ洦" [ref=e180]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=51i5b3
-      - link "闀挎不-鏅嬪拰鍥�" [ref=e183]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=bo7qyg
-      - link "娌冲崡-楣ゅ" [ref=e186]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=mkpiqo
-    - generic [ref=e191]: 100%
-  - textbox [ref=e193]
-  - combobox [ref=e195]:
-    - paragraph
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-07-21T07-06-20-697Z.yml b/.playwright-mcp/page-2026-07-21T07-06-20-697Z.yml
deleted file mode 100644
index ef6405c..0000000
--- a/.playwright-mcp/page-2026-07-21T07-06-20-697Z.yml
+++ /dev/null
@@ -1,315 +0,0 @@
-- generic [ref=e1]:
-  - generic [ref=e197]:
-    - toolbar "titlebar" [ref=e198]:
-      - generic [ref=e205]: 涓皬浼佷笟鏀归�燽ug淇敼鍒楄〃
-      - button "鍙兘鏌ョ湅" [ref=e219]
-      - img "breadcrumb" [ref=e236]
-      - generic [ref=e246]:
-        - img "澶村儚" [ref=e249]
-        - img "澶村儚" [ref=e254]
-      - button "鐧诲綍鑵捐鏂囨。" [ref=e261]
-    - toolbar "Toolbar" [ref=e267]:
-      - tablist [ref=e269]:
-        - tab "寮�濮�" [selected] [ref=e270]
-        - tab "鎻掑叆" [ref=e271]
-        - tab "鏁版嵁" [ref=e272]
-        - tab "鍏紡" [ref=e273]
-        - tab "鍗忎綔" [ref=e274]
-        - tab "瑙嗗浘" [ref=e275]
-        - tab "鏁堢巼宸ュ叿" [ref=e276]
-        - tab "浼氬憳涓撲韩" [ref=e277]
-      - tabpanel [ref=e279]:
-        - toolbar "寮�濮�" [ref=e280]:
-          - generic [ref=e281]:
-            - generic [ref=e282]:
-              - generic [ref=e283]:
-                - button [disabled] [ref=e288]:
-                  - button [disabled] [ref=e290]
-                - button [disabled] [ref=e296]:
-                  - button [disabled] [ref=e298]
-              - generic [ref=e300]:
-                - button [disabled] [ref=e305]:
-                  - button [disabled] [ref=e307]
-                - button [disabled] [ref=e313]:
-                  - button [disabled] [ref=e315]
-            - generic [ref=e318]:
-              - generic [ref=e319]:
-                - button [disabled] [ref=e327]:
-                  - generic [ref=e328]: 榛樿瀛椾綋
-                - button [disabled] [ref=e339]:
-                  - generic [ref=e340]: "12"
-                - group [disabled] [ref=e351]:
-                  - generic [ref=e352]:
-                    - button [disabled] [ref=e353]
-                    - button [disabled] [ref=e356]
-                - button [disabled] [ref=e364]:
-                  - button [disabled] [ref=e366]
-                - button [disabled] [ref=e377]:
-                  - generic [ref=e378]:
-                    - button [disabled] [ref=e379]
-                    - generic [ref=e381]: 琛ㄦ牸鏍峰紡
-              - generic [ref=e384]:
-                - button [disabled] [pressed] [ref=e389]:
-                  - button [disabled] [ref=e391]
-                - button [disabled] [ref=e397]:
-                  - button [disabled] [ref=e399]
-                - button [disabled] [ref=e405]:
-                  - button [disabled] [ref=e407]
-                - button [disabled] [ref=e413]:
-                  - button [disabled] [ref=e415]
-                - group [disabled] [ref=e424]:
-                  - generic [ref=e425]:
-                    - button [disabled] [ref=e426]
-                    - button [disabled] [ref=e430]
-                - group [disabled] [ref=e438]:
-                  - generic [ref=e439]:
-                    - button [disabled] [ref=e440]
-                    - button [disabled] [ref=e444]
-                - button [disabled] [ref=e452]:
-                  - generic [ref=e453]:
-                    - button [disabled] [ref=e454]
-                    - generic [ref=e456]: 鏉′欢鏍煎紡
-            - button [ref=e468]:
-              - button [ref=e470]
-              - generic [ref=e474]: 瀛椾綋鏍峰紡
-            - generic [ref=e476]:
-              - generic [ref=e477]:
-                - button [disabled] [ref=e485]:
-                  - button [disabled] [ref=e487]
-                - button [disabled] [ref=e498]:
-                  - button [disabled] [ref=e500]
-              - generic [ref=e504]:
-                - button [disabled] [ref=e509]:
-                  - button [disabled] [ref=e511]
-                - button [disabled] [pressed] [ref=e517]:
-                  - button [disabled] [ref=e519]
-                - button [disabled] [ref=e525]:
-                  - button [disabled] [ref=e527]
-            - generic [ref=e529]:
-              - button [disabled] [ref=e535]:
-                - generic [ref=e536]:
-                  - button [disabled] [ref=e537]
-                  - generic [ref=e539]: 鎹㈣
-              - group [disabled] [ref=e548]:
-                - generic [ref=e549]:
-                  - button [disabled] [ref=e550]
-                  - generic [ref=e552]: 鍚堝苟
-                  - button [disabled] [ref=e554]
-            - button [ref=e564]:
-              - button [ref=e566]
-              - generic [ref=e570]: 瀵归綈鏂瑰紡
-            - generic [ref=e572]:
-              - button [disabled] [ref=e581]:
-                - generic [ref=e582]: 甯歌
-              - generic [ref=e586]:
-                - button [disabled] [ref=e591]:
-                  - button [disabled] [ref=e593]
-                - button [disabled] [ref=e599]:
-                  - button [disabled] [ref=e601]
-            - button [ref=e612]:
-              - button [ref=e614]
-              - generic [ref=e618]: 鏁板瓧鏍煎紡
-            - group [ref=e629]:
-              - generic [ref=e630]:
-                - button [ref=e631]
-                - button [ref=e634]
-              - generic [ref=e635]: 绛涢��
-            - generic [ref=e636]:
-              - generic [ref=e637]:
-                - button [disabled] [ref=e645]:
-                  - generic [ref=e646]:
-                    - button [disabled] [ref=e647]
-                    - generic [ref=e649]: 鍐荤粨
-                - group [disabled] [ref=e659]:
-                  - generic [ref=e660]:
-                    - button [disabled] [ref=e661]
-                    - generic [ref=e663]: 姹傚拰
-                    - button [disabled] [ref=e665]
-              - generic [ref=e666]:
-                - button [disabled] [ref=e674]:
-                  - generic [ref=e675]:
-                    - button [disabled] [ref=e676]
-                    - generic [ref=e678]: 鎺掑簭
-                - button [disabled] [ref=e688]:
-                  - generic [ref=e689]:
-                    - button [disabled] [ref=e690]
-                    - generic [ref=e692]: 鏁版嵁
-            - button [ref=e704]:
-              - button [ref=e706]
-              - generic [ref=e710]: 鏁版嵁
-            - button [disabled] [ref=e720]:
-              - button [disabled] [ref=e722]
-              - generic [ref=e726]: 淇濇姢
-            - button [disabled] [ref=e737]:
-              - button [disabled] [ref=e739]
-              - generic [ref=e743]: 鎻掑叆
-            - button [disabled] [ref=e753]:
-              - button [disabled] [ref=e755]
-              - generic [ref=e759]: 鍥剧墖
-            - generic [ref=e760]:
-              - button [disabled] [ref=e769]:
-                - generic [ref=e770]:
-                  - button [disabled] [ref=e771]
-                  - generic [ref=e773]: 鍥捐〃
-              - button [disabled] [ref=e781]:
-                - generic [ref=e782]:
-                  - button [disabled] [ref=e783]
-                  - generic [ref=e785]: 閫忚琛�
-            - button [disabled] [ref=e795]:
-              - button [disabled] [ref=e797]
-              - generic [ref=e801]: 鎻掑叆
-            - button [disabled] [ref=e812]:
-              - button [disabled] [ref=e814]
-              - generic [ref=e818]: 蹇嵎宸ュ叿
-            - button [disabled] [ref=e825]:
-              - button [disabled] [ref=e827]
-              - generic [ref=e829]: 鐢熸垚鍥剧墖
-            - generic [ref=e830]:
-              - generic [ref=e831]:
-                - button [ref=e836]:
-                  - generic [ref=e837]:
-                    - button [ref=e838]
-                    - generic [ref=e840]: 鐢熸垚鏌ヨ
-                - button [ref=e845]:
-                  - generic [ref=e846]:
-                    - button [ref=e847]
-                    - generic [ref=e849]: 鐢熸垚鏅鸿兘琛�
-              - generic [ref=e850]:
-                - button [disabled] [ref=e855]:
-                  - generic [ref=e856]:
-                    - button [disabled] [ref=e857]
-                    - generic [ref=e859]: 鍥剧墖杞〃鏍�
-                - button [disabled] [ref=e867]:
-                  - generic [ref=e868]:
-                    - button [disabled] [ref=e869]
-                    - generic [ref=e871]: PDF杞崲
-            - button [ref=e883]:
-              - button [ref=e885]
-              - generic [ref=e889]: 蹇嵎宸ュ叿
-            - button [ref=e897]:
-              - button [ref=e899]
-              - generic [ref=e901]: 鎵撳嵃
-            - button [ref=e911]:
-              - button [ref=e913]
-              - generic [ref=e920]: 鏇村
-          - generic [ref=e921]:
-            - generic [ref=e922]:
-              - generic [ref=e923]:
-                - button "鎾ら攢" [disabled] [ref=e928]:
-                  - button [disabled] [ref=e930]
-                - button "閲嶅仛" [disabled] [ref=e936]:
-                  - button [disabled] [ref=e938]
-              - generic [ref=e940]:
-                - button "鏍煎紡鍒凤紝鍙屽嚮鍙噸澶嶄娇鐢�" [disabled] [ref=e945]:
-                  - button [disabled] [ref=e947]
-                - button "娓呴櫎鏍煎紡" [disabled] [ref=e953]:
-                  - button [disabled] [ref=e955]
-            - generic [ref=e958]:
-              - generic [ref=e959]:
-                - button "榛樿瀛椾綋" [disabled] [ref=e967]
-                - button "12" [disabled] [ref=e979]
-                - group "杈规" [disabled] [ref=e991]:
-                  - generic [ref=e992]:
-                    - button "杈规" [disabled] [ref=e993]
-                    - button "杈规 鏇村閫夐」" [disabled] [ref=e996]
-                - button "鍗曞厓鏍兼牱寮�" [disabled] [ref=e1004]:
-                  - button [disabled] [ref=e1006]
-                - button "琛ㄦ牸鏍峰紡" [disabled] [ref=e1017]:
-                  - generic [ref=e1018]:
-                    - button [disabled] [ref=e1019]
-                    - generic [ref=e1021]: 琛ㄦ牸鏍峰紡
-              - generic [ref=e1024]:
-                - button "鍔犵矖" [disabled] [pressed] [ref=e1029]:
-                  - button [disabled] [ref=e1031]
-                - button "鍊炬枩" [disabled] [ref=e1037]:
-                  - button [disabled] [ref=e1039]
-                - button "涓嬪垝绾�" [disabled] [ref=e1045]:
-                  - button [disabled] [ref=e1047]
-                - button "鍒犻櫎绾�" [disabled] [ref=e1053]:
-                  - button [disabled] [ref=e1055]
-                - group "瀛椾綋棰滆壊" [disabled] [ref=e1064]:
-                  - generic [ref=e1065]:
-                    - button "瀛椾綋棰滆壊" [disabled] [ref=e1066]
-                    - button "瀛椾綋棰滆壊 鏇村閫夐」" [disabled] [ref=e1070]
-                - group "濉厖棰滆壊" [disabled] [ref=e1078]:
-                  - generic [ref=e1079]:
-                    - button "濉厖棰滆壊" [disabled] [ref=e1080]
-                    - button "濉厖棰滆壊 鏇村閫夐」" [disabled] [ref=e1084]
-                - button "鏉′欢鏍煎紡" [disabled] [ref=e1092]:
-                  - generic [ref=e1093]:
-                    - button [disabled] [ref=e1094]
-                    - generic [ref=e1096]: 鏉′欢鏍煎紡
-            - button "瀵归綈鏂瑰紡" [ref=e1109]:
-              - button [ref=e1111]
-            - button "鏁板瓧鏍煎紡" [ref=e1126]:
-              - button [ref=e1128]
-            - generic [ref=e1135]:
-              - group "绛涢��" [ref=e1143]:
-                - generic [ref=e1144]:
-                  - button "绛涢��" [ref=e1145]
-                  - button "绛涢�� 鏇村閫夐」" [ref=e1148]
-              - button "鏁版嵁" [ref=e1157]:
-                - button [ref=e1159]
-              - button "淇濇姢" [disabled] [ref=e1171]:
-                - button [disabled] [ref=e1173]
-            - button "鎻掑叆" [disabled] [ref=e1188]:
-              - button [disabled] [ref=e1190]
-            - button "蹇嵎宸ュ叿" [ref=e1205]:
-              - button [ref=e1207]
-            - button "鎵撳嵃" [ref=e1219]:
-              - button [ref=e1221]
-        - toolbar [ref=e1225]:
-          - generic [ref=e1228]:
-            - button "鏌ユ壘鏇挎崲" [ref=e1233]:
-              - button [ref=e1235]
-            - button "宸ュ叿鏍忓垏鎹�" [ref=e1244]:
-              - button [ref=e1246]
-    - generic [ref=e105]:
-      - generic [ref=e106]:
-        - textbox [ref=e107]
-        - combobox [ref=e108]:
-          - paragraph [ref=e109]
-      - combobox [active] [ref=e195]:
-        - paragraph
-    - toolbar "鐘舵�佹爮" [ref=e1264]:
-      - button [ref=e1265]
-      - button [ref=e1277]
-      - button [ref=e1289]:
-        - tablist "宸ヤ綔琛�" [ref=e1296]:
-          - generic [ref=e1298]:
-            - tab "杩涢攢瀛橀噸鏋�-NEW" [ref=e1300] [cursor=pointer]
-            - tab "閾跺窛3绾OM绯荤粺" [selected] [ref=e1303] [cursor=pointer]
-            - tab "OA闂琛�" [ref=e1306] [cursor=pointer]
-            - tab "瀹佸-涓囬�氬缓鏉�" [ref=e1309] [cursor=pointer]
-            - tab "娴疆" [ref=e1312] [cursor=pointer]
-            - tab "閰掓硥楠屾敹闂" [ref=e1315] [cursor=pointer]
-            - tab "婀熸按宄¢獙鏀堕棶棰樿〃" [ref=e1318] [cursor=pointer]
-            - tab "澶╂触鈥斿弻濂囩偣" [ref=e1321] [cursor=pointer]
-            - tab "澶╂触鈥斿啗娉颁紵涓�" [ref=e1324] [cursor=pointer]
-            - tab "澶╂触--鍚涙瓕鍖栧伐" [ref=e1327] [cursor=pointer]
-            - tab "澶╂触鈥旈槼鍏夊嵃鍒�" [ref=e1330] [cursor=pointer]
-            - tab "楣ゅ鈥斿ぉ娌愮幓鐠�" [ref=e1333] [cursor=pointer]
-            - tab "澶╂触鈥斿痉鐟炴柉褰辫" [ref=e1336] [cursor=pointer]
-            - tab "婀栧崡鈥斿潳娉板寲宸�" [ref=e1339] [cursor=pointer]
-            - tab "婀栧崡鈥旈箯鍒涚數瀛�" [ref=e1342] [cursor=pointer]
-            - tab "瀹佸-涓洓寤烘潗" [ref=e1345] [cursor=pointer]
-            - tab "闀挎不鈥斿仴榻块娇绉戝櫒鏉�" [ref=e1348] [cursor=pointer]
-            - tab "闀挎不鈥斿畨閾佺啍鍓�" [ref=e1351] [cursor=pointer]
-            - tab "闀挎不-绁ラ洦" [ref=e1354] [cursor=pointer]
-            - tab "闀挎不-鏅嬪拰鍥�" [ref=e1357] [cursor=pointer]
-            - tab "娌冲崡-楣ゅ" [ref=e1360] [cursor=pointer]
-          - generic [ref=e1362]:
-            - generic [ref=e1365]:
-              - button [disabled]
-            - button [ref=e1369]
-      - button
-      - button "楂樹寒鎵�鍦ㄨ鍒�" [ref=e1370]
-      - button [ref=e1382]
-      - button "鍏ㄥ睆鏌ョ湅 缂╁皬,Ctrl+0鍙仮澶嶈嚦100% 鏀惧ぇ,Ctrl+0鍙仮澶嶈嚦100%" [ref=e1387]:
-        - generic [ref=e1392]:
-          - generic "鍏ㄥ睆鏌ョ湅" [ref=e1396]
-          - generic "缂╁皬,Ctrl+0鍙仮澶嶈嚦100%" [ref=e1400]
-          - combobox [ref=e1404]:
-            - generic [ref=e1405]: 100%
-          - generic "鏀惧ぇ,Ctrl+0鍙仮澶嶈嚦100%" [ref=e1410]
-  - textbox [ref=e193]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-07-21T07-06-46-253Z.png b/.playwright-mcp/page-2026-07-21T07-06-46-253Z.png
deleted file mode 100644
index c0a1f5a..0000000
--- a/.playwright-mcp/page-2026-07-21T07-06-46-253Z.png
+++ /dev/null
Binary files differ
diff --git a/.playwright-mcp/page-2026-07-21T07-08-30-493Z.png b/.playwright-mcp/page-2026-07-21T07-08-30-493Z.png
deleted file mode 100644
index 2f01bfe..0000000
--- a/.playwright-mcp/page-2026-07-21T07-08-30-493Z.png
+++ /dev/null
Binary files differ
diff --git a/.playwright-mcp/page-2026-07-21T07-08-59-408Z.png b/.playwright-mcp/page-2026-07-21T07-08-59-408Z.png
deleted file mode 100644
index 75a9be5..0000000
--- a/.playwright-mcp/page-2026-07-21T07-08-59-408Z.png
+++ /dev/null
Binary files differ
diff --git a/.playwright-mcp/page-2026-07-21T07-09-42-959Z.yml b/.playwright-mcp/page-2026-07-21T07-09-42-959Z.yml
deleted file mode 100644
index 369ff22..0000000
--- a/.playwright-mcp/page-2026-07-21T07-09-42-959Z.yml
+++ /dev/null
@@ -1,428 +0,0 @@
-- generic [ref=e1]:
-  - generic [ref=e197]:
-    - toolbar "titlebar" [ref=e198]:
-      - generic [ref=e205]: 涓皬浼佷笟鏀归�燽ug淇敼鍒楄〃
-      - button "鍙兘鏌ョ湅" [ref=e219]
-      - img "breadcrumb" [ref=e236]
-      - generic [ref=e246]:
-        - img "澶村儚" [ref=e249]
-        - img "澶村儚" [ref=e254]
-        - img "澶村儚" [ref=e1727]
-      - button "鐧诲綍鑵捐鏂囨。" [active] [ref=e261]
-    - toolbar "Toolbar" [ref=e267]:
-      - tablist [ref=e269]:
-        - tab "寮�濮�" [selected] [ref=e270]
-        - tab "鎻掑叆" [ref=e271]
-        - tab "鏁版嵁" [ref=e272]
-        - tab "鍏紡" [ref=e273]
-        - tab "鍗忎綔" [ref=e274]
-        - tab "瑙嗗浘" [ref=e275]
-        - tab "鏁堢巼宸ュ叿" [ref=e276]
-        - tab "浼氬憳涓撲韩" [ref=e277]
-      - tabpanel [ref=e279]:
-        - toolbar "寮�濮�" [ref=e280]:
-          - generic [ref=e281]:
-            - generic [ref=e282]:
-              - generic [ref=e283]:
-                - button [disabled] [ref=e288]:
-                  - button [disabled] [ref=e290]
-                - button [disabled] [ref=e296]:
-                  - button [disabled] [ref=e298]
-              - generic [ref=e300]:
-                - button [disabled] [ref=e305]:
-                  - button [disabled] [ref=e307]
-                - button [disabled] [ref=e313]:
-                  - button [disabled] [ref=e315]
-            - generic [ref=e318]:
-              - generic [ref=e319]:
-                - button [disabled] [ref=e327]:
-                  - generic [ref=e328]: 榛樿瀛椾綋
-                - button [disabled] [ref=e339]:
-                  - generic [ref=e340]: "12"
-                - group [disabled] [ref=e351]:
-                  - generic [ref=e352]:
-                    - button [disabled] [ref=e353]
-                    - button [disabled] [ref=e356]
-                - button [disabled] [ref=e364]:
-                  - button [disabled] [ref=e366]
-                - button [disabled] [ref=e377]:
-                  - generic [ref=e378]:
-                    - button [disabled] [ref=e379]
-                    - generic [ref=e381]: 琛ㄦ牸鏍峰紡
-              - generic [ref=e384]:
-                - button [disabled] [pressed] [ref=e389]:
-                  - button [disabled] [ref=e391]
-                - button [disabled] [ref=e397]:
-                  - button [disabled] [ref=e399]
-                - button [disabled] [ref=e405]:
-                  - button [disabled] [ref=e407]
-                - button [disabled] [ref=e413]:
-                  - button [disabled] [ref=e415]
-                - group [disabled] [ref=e424]:
-                  - generic [ref=e425]:
-                    - button [disabled] [ref=e426]
-                    - button [disabled] [ref=e430]
-                - group [disabled] [ref=e438]:
-                  - generic [ref=e439]:
-                    - button [disabled] [ref=e440]
-                    - button [disabled] [ref=e444]
-                - button [disabled] [ref=e452]:
-                  - generic [ref=e453]:
-                    - button [disabled] [ref=e454]
-                    - generic [ref=e456]: 鏉′欢鏍煎紡
-            - button [ref=e468]:
-              - button [ref=e470]
-              - generic [ref=e474]: 瀛椾綋鏍峰紡
-            - generic [ref=e476]:
-              - generic [ref=e477]:
-                - button [disabled] [ref=e485]:
-                  - button [disabled] [ref=e487]
-                - button [disabled] [ref=e498]:
-                  - button [disabled] [ref=e500]
-              - generic [ref=e504]:
-                - button [disabled] [ref=e509]:
-                  - button [disabled] [ref=e511]
-                - button [disabled] [pressed] [ref=e517]:
-                  - button [disabled] [ref=e519]
-                - button [disabled] [ref=e525]:
-                  - button [disabled] [ref=e527]
-            - generic [ref=e529]:
-              - button [disabled] [ref=e535]:
-                - generic [ref=e536]:
-                  - button [disabled] [ref=e537]
-                  - generic [ref=e539]: 鎹㈣
-              - group [disabled] [ref=e548]:
-                - generic [ref=e549]:
-                  - button [disabled] [ref=e550]
-                  - generic [ref=e552]: 鍚堝苟
-                  - button [disabled] [ref=e554]
-            - button [ref=e564]:
-              - button [ref=e566]
-              - generic [ref=e570]: 瀵归綈鏂瑰紡
-            - generic [ref=e572]:
-              - button [disabled] [ref=e581]:
-                - generic [ref=e582]: 甯歌
-              - generic [ref=e586]:
-                - button [disabled] [ref=e591]:
-                  - button [disabled] [ref=e593]
-                - button [disabled] [ref=e599]:
-                  - button [disabled] [ref=e601]
-            - button [ref=e612]:
-              - button [ref=e614]
-              - generic [ref=e618]: 鏁板瓧鏍煎紡
-            - group [ref=e629]:
-              - generic [ref=e630]:
-                - button [ref=e631]
-                - button [ref=e634]
-              - generic [ref=e635]: 绛涢��
-            - generic [ref=e636]:
-              - generic [ref=e637]:
-                - button [disabled] [ref=e645]:
-                  - generic [ref=e646]:
-                    - button [disabled] [ref=e647]
-                    - generic [ref=e649]: 鍐荤粨
-                - group [disabled] [ref=e659]:
-                  - generic [ref=e660]:
-                    - button [disabled] [ref=e661]
-                    - generic [ref=e663]: 姹傚拰
-                    - button [disabled] [ref=e665]
-              - generic [ref=e666]:
-                - button [disabled] [ref=e674]:
-                  - generic [ref=e675]:
-                    - button [disabled] [ref=e676]
-                    - generic [ref=e678]: 鎺掑簭
-                - button [disabled] [ref=e688]:
-                  - generic [ref=e689]:
-                    - button [disabled] [ref=e690]
-                    - generic [ref=e692]: 鏁版嵁
-            - button [ref=e704]:
-              - button [ref=e706]
-              - generic [ref=e710]: 鏁版嵁
-            - button [disabled] [ref=e720]:
-              - button [disabled] [ref=e722]
-              - generic [ref=e726]: 淇濇姢
-            - button [disabled] [ref=e737]:
-              - button [disabled] [ref=e739]
-              - generic [ref=e743]: 鎻掑叆
-            - button [disabled] [ref=e753]:
-              - button [disabled] [ref=e755]
-              - generic [ref=e759]: 鍥剧墖
-            - generic [ref=e760]:
-              - button [disabled] [ref=e769]:
-                - generic [ref=e770]:
-                  - button [disabled] [ref=e771]
-                  - generic [ref=e773]: 鍥捐〃
-              - button [disabled] [ref=e781]:
-                - generic [ref=e782]:
-                  - button [disabled] [ref=e783]
-                  - generic [ref=e785]: 閫忚琛�
-            - button [disabled] [ref=e795]:
-              - button [disabled] [ref=e797]
-              - generic [ref=e801]: 鎻掑叆
-            - button [disabled] [ref=e812]:
-              - button [disabled] [ref=e814]
-              - generic [ref=e818]: 蹇嵎宸ュ叿
-            - button [disabled] [ref=e825]:
-              - button [disabled] [ref=e827]
-              - generic [ref=e829]: 鐢熸垚鍥剧墖
-            - generic [ref=e830]:
-              - generic [ref=e831]:
-                - button [ref=e836]:
-                  - generic [ref=e837]:
-                    - button [ref=e838]
-                    - generic [ref=e840]: 鐢熸垚鏌ヨ
-                - button [ref=e845]:
-                  - generic [ref=e846]:
-                    - button [ref=e847]
-                    - generic [ref=e849]: 鐢熸垚鏅鸿兘琛�
-              - generic [ref=e850]:
-                - button [disabled] [ref=e855]:
-                  - generic [ref=e856]:
-                    - button [disabled] [ref=e857]
-                    - generic [ref=e859]: 鍥剧墖杞〃鏍�
-                - button [disabled] [ref=e867]:
-                  - generic [ref=e868]:
-                    - button [disabled] [ref=e869]
-                    - generic [ref=e871]: PDF杞崲
-            - button [ref=e883]:
-              - button [ref=e885]
-              - generic [ref=e889]: 蹇嵎宸ュ叿
-            - button [ref=e897]:
-              - button [ref=e899]
-              - generic [ref=e901]: 鎵撳嵃
-            - button [ref=e911]:
-              - button [ref=e913]
-              - generic [ref=e920]: 鏇村
-          - generic [ref=e921]:
-            - generic [ref=e922]:
-              - generic [ref=e923]:
-                - button "鎾ら攢" [disabled] [ref=e928]:
-                  - button [disabled] [ref=e930]
-                - button "閲嶅仛" [disabled] [ref=e936]:
-                  - button [disabled] [ref=e938]
-              - generic [ref=e940]:
-                - button "鏍煎紡鍒凤紝鍙屽嚮鍙噸澶嶄娇鐢�" [disabled] [ref=e945]:
-                  - button [disabled] [ref=e947]
-                - button "娓呴櫎鏍煎紡" [disabled] [ref=e953]:
-                  - button [disabled] [ref=e955]
-            - generic [ref=e958]:
-              - generic [ref=e959]:
-                - button "榛樿瀛椾綋" [disabled] [ref=e967]
-                - button "12" [disabled] [ref=e979]
-                - group "杈规" [disabled] [ref=e991]:
-                  - generic [ref=e992]:
-                    - button "杈规" [disabled] [ref=e993]
-                    - button "杈规 鏇村閫夐」" [disabled] [ref=e996]
-                - button "鍗曞厓鏍兼牱寮�" [disabled] [ref=e1004]:
-                  - button [disabled] [ref=e1006]
-                - button "琛ㄦ牸鏍峰紡" [disabled] [ref=e1017]:
-                  - generic [ref=e1018]:
-                    - button [disabled] [ref=e1019]
-                    - generic [ref=e1021]: 琛ㄦ牸鏍峰紡
-              - generic [ref=e1024]:
-                - button "鍔犵矖" [disabled] [pressed] [ref=e1029]:
-                  - button [disabled] [ref=e1031]
-                - button "鍊炬枩" [disabled] [ref=e1037]:
-                  - button [disabled] [ref=e1039]
-                - button "涓嬪垝绾�" [disabled] [ref=e1045]:
-                  - button [disabled] [ref=e1047]
-                - button "鍒犻櫎绾�" [disabled] [ref=e1053]:
-                  - button [disabled] [ref=e1055]
-                - group "瀛椾綋棰滆壊" [disabled] [ref=e1064]:
-                  - generic [ref=e1065]:
-                    - button "瀛椾綋棰滆壊" [disabled] [ref=e1066]
-                    - button "瀛椾綋棰滆壊 鏇村閫夐」" [disabled] [ref=e1070]
-                - group "濉厖棰滆壊" [disabled] [ref=e1078]:
-                  - generic [ref=e1079]:
-                    - button "濉厖棰滆壊" [disabled] [ref=e1080]
-                    - button "濉厖棰滆壊 鏇村閫夐」" [disabled] [ref=e1084]
-                - button "鏉′欢鏍煎紡" [disabled] [ref=e1092]:
-                  - generic [ref=e1093]:
-                    - button [disabled] [ref=e1094]
-                    - generic [ref=e1096]: 鏉′欢鏍煎紡
-            - generic [ref=e1411]:
-              - generic [ref=e1412]:
-                - button "鍨傜洿瀵归綈" [disabled] [ref=e1420]:
-                  - button [disabled] [ref=e1422]
-                - button "鏂囧瓧鏂瑰悜" [disabled] [ref=e1433]:
-                  - button [disabled] [ref=e1435]
-              - generic [ref=e1439]:
-                - button "宸﹀榻�" [disabled] [ref=e1444]:
-                  - button [disabled] [ref=e1446]
-                - button "灞呬腑瀵归綈" [disabled] [pressed] [ref=e1452]:
-                  - button [disabled] [ref=e1454]
-                - button "鍙冲榻�" [disabled] [ref=e1460]:
-                  - button [disabled] [ref=e1462]
-            - generic [ref=e1464]:
-              - button "鎹㈣" [disabled] [ref=e1470]:
-                - generic [ref=e1471]:
-                  - button [disabled] [ref=e1472]
-                  - generic [ref=e1474]: 鎹㈣
-              - group "鍚堝苟" [disabled] [ref=e1483]:
-                - generic [ref=e1484]:
-                  - button "鍚堝苟" [disabled] [ref=e1485]
-                  - generic [ref=e1487]: 鍚堝苟
-                  - button "鍚堝苟 鏇村閫夐」" [disabled] [ref=e1489]
-            - generic [ref=e1490]:
-              - button "甯歌" [disabled] [ref=e1499]
-              - generic [ref=e1504]:
-                - button "鐧惧垎姣旀牱寮�" [disabled] [ref=e1509]:
-                  - button [disabled] [ref=e1511]
-                - button "鍗冧綅鍒嗛殧鏍峰紡" [disabled] [ref=e1517]:
-                  - button [disabled] [ref=e1519]
-            - group "绛涢��" [ref=e1143]:
-              - generic [ref=e1144]:
-                - button "绛涢��" [ref=e1145]
-                - button "绛涢�� 鏇村閫夐」" [ref=e1148]
-            - generic [ref=e1521]:
-              - generic [ref=e1522]:
-                - button "鍐荤粨" [disabled] [ref=e1530]:
-                  - generic [ref=e1531]:
-                    - button [disabled] [ref=e1532]
-                    - generic [ref=e1534]: 鍐荤粨
-                - group "姹傚拰" [disabled] [ref=e1544]:
-                  - generic [ref=e1545]:
-                    - button "姹傚拰" [disabled] [ref=e1546]
-                    - generic [ref=e1548]: 姹傚拰
-                    - button "姹傚拰 鏇村閫夐」" [disabled] [ref=e1550]
-              - generic [ref=e1551]:
-                - button "鎺掑簭" [disabled] [ref=e1559]:
-                  - generic [ref=e1560]:
-                    - button [disabled] [ref=e1561]
-                    - generic [ref=e1563]: 鎺掑簭
-                - button "鏁版嵁" [disabled] [ref=e1573]:
-                  - generic [ref=e1574]:
-                    - button [disabled] [ref=e1575]
-                    - generic [ref=e1577]: 鏁版嵁
-            - button "淇濇姢" [disabled] [ref=e1589]:
-              - button [disabled] [ref=e1591]
-            - button "鎻掑叆" [disabled] [ref=e1605]:
-              - button [disabled] [ref=e1607]
-            - button "鍥剧墖" [disabled] [ref=e1621]:
-              - button [disabled] [ref=e1623]
-            - generic [ref=e1628]:
-              - button "鍥捐〃" [disabled] [ref=e1637]:
-                - generic [ref=e1638]:
-                  - button [disabled] [ref=e1639]
-                  - generic [ref=e1641]: 鍥捐〃
-              - button "閫忚琛�" [disabled] [ref=e1649]:
-                - generic [ref=e1650]:
-                  - button [disabled] [ref=e1651]
-                  - generic [ref=e1653]: 閫忚琛�
-            - button "蹇嵎宸ュ叿" [disabled] [ref=e1663]:
-              - button [disabled] [ref=e1665]
-            - button "鐢熸垚鍥剧墖" [disabled] [ref=e1676]:
-              - button [disabled] [ref=e1678]
-            - generic [ref=e1681]:
-              - generic [ref=e1682]:
-                - button "鐢熸垚鏌ヨ" [ref=e1687]:
-                  - generic [ref=e1688]:
-                    - button [ref=e1689]
-                    - generic [ref=e1691]: 鐢熸垚鏌ヨ
-                - button "鐢熸垚鏅鸿兘琛�" [ref=e1696]:
-                  - generic [ref=e1697]:
-                    - button [ref=e1698]
-                    - generic [ref=e1700]: 鐢熸垚鏅鸿兘琛�
-              - generic [ref=e1701]:
-                - button "鍥剧墖杞〃鏍�" [disabled] [ref=e1706]:
-                  - generic [ref=e1707]:
-                    - button [disabled] [ref=e1708]
-                    - generic [ref=e1710]: 鍥剧墖杞〃鏍�
-                - button "PDF杞崲" [disabled] [ref=e1718]:
-                  - generic [ref=e1719]:
-                    - button [disabled] [ref=e1720]
-                    - generic [ref=e1722]: PDF杞崲
-            - button "鎵撳嵃" [ref=e1219]:
-              - button [ref=e1221]
-        - toolbar [ref=e1225]:
-          - generic [ref=e1228]:
-            - button "鏌ユ壘鏇挎崲" [ref=e1233]:
-              - button [ref=e1235]
-            - button "宸ュ叿鏍忓垏鎹�" [ref=e1244]:
-              - button [ref=e1246]
-    - generic [ref=e105]:
-      - generic [ref=e106]:
-        - textbox [ref=e107]
-        - combobox [ref=e108]:
-          - paragraph [ref=e109]
-      - combobox [ref=e195]:
-        - paragraph
-    - toolbar "鐘舵�佹爮" [ref=e1264]:
-      - button [ref=e1265]
-      - button [ref=e1277]
-      - button [ref=e1289]:
-        - tablist "宸ヤ綔琛�" [ref=e1296]:
-          - generic [ref=e1298]:
-            - tab "杩涢攢瀛橀噸鏋�-NEW" [ref=e1300] [cursor=pointer]
-            - tab "閾跺窛3绾OM绯荤粺" [selected] [ref=e1303] [cursor=pointer]
-            - tab "OA闂琛�" [ref=e1306] [cursor=pointer]
-            - tab "瀹佸-涓囬�氬缓鏉�" [ref=e1309] [cursor=pointer]
-            - tab "娴疆" [ref=e1312] [cursor=pointer]
-            - tab "閰掓硥楠屾敹闂" [ref=e1315] [cursor=pointer]
-            - tab "婀熸按宄¢獙鏀堕棶棰樿〃" [ref=e1318] [cursor=pointer]
-            - tab "澶╂触鈥斿弻濂囩偣" [ref=e1321] [cursor=pointer]
-            - tab "澶╂触鈥斿啗娉颁紵涓�" [ref=e1324] [cursor=pointer]
-            - tab "澶╂触--鍚涙瓕鍖栧伐" [ref=e1327] [cursor=pointer]
-            - tab "澶╂触鈥旈槼鍏夊嵃鍒�" [ref=e1330] [cursor=pointer]
-            - tab "楣ゅ鈥斿ぉ娌愮幓鐠�" [ref=e1333] [cursor=pointer]
-            - tab "澶╂触鈥斿痉鐟炴柉褰辫" [ref=e1336] [cursor=pointer]
-            - tab "婀栧崡鈥斿潳娉板寲宸�" [ref=e1339] [cursor=pointer]
-            - tab "婀栧崡鈥旈箯鍒涚數瀛�" [ref=e1342] [cursor=pointer]
-            - tab "瀹佸-涓洓寤烘潗" [ref=e1345] [cursor=pointer]
-            - tab "闀挎不鈥斿仴榻块娇绉戝櫒鏉�" [ref=e1348] [cursor=pointer]
-            - tab "闀挎不鈥斿畨閾佺啍鍓�" [ref=e1351] [cursor=pointer]
-            - tab "闀挎不-绁ラ洦" [ref=e1354] [cursor=pointer]
-            - tab "闀挎不-鏅嬪拰鍥�" [ref=e1357] [cursor=pointer]
-            - tab "娌冲崡-楣ゅ" [ref=e1360] [cursor=pointer]
-          - generic [ref=e1362]:
-            - generic [ref=e1365]:
-              - button [disabled]
-            - button [ref=e1369]
-      - button
-      - button "楂樹寒鎵�鍦ㄨ鍒�" [ref=e1370]
-      - button [ref=e1382]
-      - button "鍏ㄥ睆鏌ョ湅 缂╁皬,Ctrl+0鍙仮澶嶈嚦100% 鏀惧ぇ,Ctrl+0鍙仮澶嶈嚦100%" [ref=e1387]:
-        - generic [ref=e1392]:
-          - generic "鍏ㄥ睆鏌ョ湅" [ref=e1396]
-          - generic "缂╁皬,Ctrl+0鍙仮澶嶈嚦100%" [ref=e1400]
-          - combobox [ref=e1404]:
-            - generic [ref=e1405]: 100%
-          - generic "鏀惧ぇ,Ctrl+0鍙仮澶嶈嚦100%" [ref=e1410]
-  - textbox [ref=e193]
-  - generic [ref=e1732]:
-    - generic [ref=e1733]: 璇烽�夋嫨鐧诲綍鏂瑰紡
-    - generic [ref=e1737]:
-      - generic [ref=e1738]:
-        - tablist [ref=e1740] [cursor=pointer]:
-          - tab "寰俊鐧诲綍" [selected] [ref=e1741]
-          - tab "QQ鐧诲綍" [ref=e1743]
-        - tabpanel [ref=e1746]:
-          - generic [ref=e1747]: 寮�鍚揩鎹风櫥褰�
-          - generic [ref=e1749]:
-            - iframe [ref=e1753]:
-              - generic [ref=f3e1]:
-                - alert [ref=f3e2]:
-                  - paragraph [ref=f3e4]: 宸插厑璁�
-                - alert [ref=f3e5]:
-                  - paragraph [ref=f3e7]: 宸叉嫆缁�
-                - alert [ref=f3e8]:
-                  - paragraph [ref=f3e10]: 宸叉嫆缁濅娇鐢ㄤ綘鐨勫井淇¤韩浠借繍琛�
-                - alert [ref=f3e11]:
-                  - paragraph [ref=f3e14]: 绯荤粺閿欒锛岃鍒锋柊閲嶈瘯
-                - alert [ref=f3e15]:
-                  - paragraph [ref=f3e18]: 姝ゅ簲鐢ㄤ粎鏀寔鎵竴鎵櫥褰�
-                - alert [ref=f3e19]:
-                  - paragraph [ref=f3e21]: 鐧诲綍瓒呮椂
-                - alert [ref=f3e22]:
-                  - paragraph [ref=f3e24]: 姝e湪鍔犺浇
-            - button "绔嬪嵆鐧诲綍" [ref=e1757] [cursor=pointer]
-            - generic [ref=e1759]:
-              - generic [ref=e1760]: 鍏朵粬璐﹀彿鐧诲綍
-              - generic [ref=e1761]:
-                - generic [ref=e1762] [cursor=pointer]: 鎵嬫満鍙�
-                - generic [ref=e1767] [cursor=pointer]: 浼佷笟寰俊
-                - generic [ref=e1772] [cursor=pointer]: SSO鐧诲綍
-                - generic [ref=e1777] [cursor=pointer]: 鍒涘缓缁勭粐
-      - generic [ref=e1786]:
-        - checkbox "鎴戝凡闃呰骞舵帴鍙楄吘璁枃妗g殑 鏈嶅姟鍗忚 鍜� 闅愮鏀跨瓥" [ref=e1787]
-        - generic [ref=e1789]: 鎴戝凡闃呰骞舵帴鍙楄吘璁枃妗g殑 鏈嶅姟鍗忚 鍜� 闅愮鏀跨瓥
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-07-21T07-09-59-810Z.yml b/.playwright-mcp/page-2026-07-21T07-09-59-810Z.yml
deleted file mode 100644
index 35dfa81..0000000
--- a/.playwright-mcp/page-2026-07-21T07-09-59-810Z.yml
+++ /dev/null
@@ -1,416 +0,0 @@
-- generic [ref=e1]:
-  - generic [ref=e197]:
-    - toolbar "titlebar" [ref=e198]:
-      - generic [ref=e205]: 涓皬浼佷笟鏀归�燽ug淇敼鍒楄〃
-      - button "鍙兘鏌ョ湅" [ref=e219]
-      - img "breadcrumb" [ref=e236]
-      - generic [ref=e246]:
-        - img "澶村儚" [ref=e249]
-        - img "澶村儚" [ref=e254]
-        - img "澶村儚" [ref=e1727]
-      - button "鐧诲綍鑵捐鏂囨。" [active] [ref=e261]
-    - toolbar "Toolbar" [ref=e267]:
-      - tablist [ref=e269]:
-        - tab "寮�濮�" [selected] [ref=e270]
-        - tab "鎻掑叆" [ref=e271]
-        - tab "鏁版嵁" [ref=e272]
-        - tab "鍏紡" [ref=e273]
-        - tab "鍗忎綔" [ref=e274]
-        - tab "瑙嗗浘" [ref=e275]
-        - tab "鏁堢巼宸ュ叿" [ref=e276]
-        - tab "浼氬憳涓撲韩" [ref=e277]
-      - tabpanel [ref=e279]:
-        - toolbar "寮�濮�" [ref=e280]:
-          - generic [ref=e281]:
-            - generic [ref=e282]:
-              - generic [ref=e283]:
-                - button [disabled] [ref=e288]:
-                  - button [disabled] [ref=e290]
-                - button [disabled] [ref=e296]:
-                  - button [disabled] [ref=e298]
-              - generic [ref=e300]:
-                - button [disabled] [ref=e305]:
-                  - button [disabled] [ref=e307]
-                - button [disabled] [ref=e313]:
-                  - button [disabled] [ref=e315]
-            - generic [ref=e318]:
-              - generic [ref=e319]:
-                - button [disabled] [ref=e327]:
-                  - generic [ref=e328]: 榛樿瀛椾綋
-                - button [disabled] [ref=e339]:
-                  - generic [ref=e340]: "12"
-                - group [disabled] [ref=e351]:
-                  - generic [ref=e352]:
-                    - button [disabled] [ref=e353]
-                    - button [disabled] [ref=e356]
-                - button [disabled] [ref=e364]:
-                  - button [disabled] [ref=e366]
-                - button [disabled] [ref=e377]:
-                  - generic [ref=e378]:
-                    - button [disabled] [ref=e379]
-                    - generic [ref=e381]: 琛ㄦ牸鏍峰紡
-              - generic [ref=e384]:
-                - button [disabled] [pressed] [ref=e389]:
-                  - button [disabled] [ref=e391]
-                - button [disabled] [ref=e397]:
-                  - button [disabled] [ref=e399]
-                - button [disabled] [ref=e405]:
-                  - button [disabled] [ref=e407]
-                - button [disabled] [ref=e413]:
-                  - button [disabled] [ref=e415]
-                - group [disabled] [ref=e424]:
-                  - generic [ref=e425]:
-                    - button [disabled] [ref=e426]
-                    - button [disabled] [ref=e430]
-                - group [disabled] [ref=e438]:
-                  - generic [ref=e439]:
-                    - button [disabled] [ref=e440]
-                    - button [disabled] [ref=e444]
-                - button [disabled] [ref=e452]:
-                  - generic [ref=e453]:
-                    - button [disabled] [ref=e454]
-                    - generic [ref=e456]: 鏉′欢鏍煎紡
-            - button [ref=e468]:
-              - button [ref=e470]
-              - generic [ref=e474]: 瀛椾綋鏍峰紡
-            - generic [ref=e476]:
-              - generic [ref=e477]:
-                - button [disabled] [ref=e485]:
-                  - button [disabled] [ref=e487]
-                - button [disabled] [ref=e498]:
-                  - button [disabled] [ref=e500]
-              - generic [ref=e504]:
-                - button [disabled] [ref=e509]:
-                  - button [disabled] [ref=e511]
-                - button [disabled] [pressed] [ref=e517]:
-                  - button [disabled] [ref=e519]
-                - button [disabled] [ref=e525]:
-                  - button [disabled] [ref=e527]
-            - generic [ref=e529]:
-              - button [disabled] [ref=e535]:
-                - generic [ref=e536]:
-                  - button [disabled] [ref=e537]
-                  - generic [ref=e539]: 鎹㈣
-              - group [disabled] [ref=e548]:
-                - generic [ref=e549]:
-                  - button [disabled] [ref=e550]
-                  - generic [ref=e552]: 鍚堝苟
-                  - button [disabled] [ref=e554]
-            - button [ref=e564]:
-              - button [ref=e566]
-              - generic [ref=e570]: 瀵归綈鏂瑰紡
-            - generic [ref=e572]:
-              - button [disabled] [ref=e581]:
-                - generic [ref=e582]: 甯歌
-              - generic [ref=e586]:
-                - button [disabled] [ref=e591]:
-                  - button [disabled] [ref=e593]
-                - button [disabled] [ref=e599]:
-                  - button [disabled] [ref=e601]
-            - button [ref=e612]:
-              - button [ref=e614]
-              - generic [ref=e618]: 鏁板瓧鏍煎紡
-            - group [ref=e629]:
-              - generic [ref=e630]:
-                - button [ref=e631]
-                - button [ref=e634]
-              - generic [ref=e635]: 绛涢��
-            - generic [ref=e636]:
-              - generic [ref=e637]:
-                - button [disabled] [ref=e645]:
-                  - generic [ref=e646]:
-                    - button [disabled] [ref=e647]
-                    - generic [ref=e649]: 鍐荤粨
-                - group [disabled] [ref=e659]:
-                  - generic [ref=e660]:
-                    - button [disabled] [ref=e661]
-                    - generic [ref=e663]: 姹傚拰
-                    - button [disabled] [ref=e665]
-              - generic [ref=e666]:
-                - button [disabled] [ref=e674]:
-                  - generic [ref=e675]:
-                    - button [disabled] [ref=e676]
-                    - generic [ref=e678]: 鎺掑簭
-                - button [disabled] [ref=e688]:
-                  - generic [ref=e689]:
-                    - button [disabled] [ref=e690]
-                    - generic [ref=e692]: 鏁版嵁
-            - button [ref=e704]:
-              - button [ref=e706]
-              - generic [ref=e710]: 鏁版嵁
-            - button [disabled] [ref=e720]:
-              - button [disabled] [ref=e722]
-              - generic [ref=e726]: 淇濇姢
-            - button [disabled] [ref=e737]:
-              - button [disabled] [ref=e739]
-              - generic [ref=e743]: 鎻掑叆
-            - button [disabled] [ref=e753]:
-              - button [disabled] [ref=e755]
-              - generic [ref=e759]: 鍥剧墖
-            - generic [ref=e760]:
-              - button [disabled] [ref=e769]:
-                - generic [ref=e770]:
-                  - button [disabled] [ref=e771]
-                  - generic [ref=e773]: 鍥捐〃
-              - button [disabled] [ref=e781]:
-                - generic [ref=e782]:
-                  - button [disabled] [ref=e783]
-                  - generic [ref=e785]: 閫忚琛�
-            - button [disabled] [ref=e795]:
-              - button [disabled] [ref=e797]
-              - generic [ref=e801]: 鎻掑叆
-            - button [disabled] [ref=e812]:
-              - button [disabled] [ref=e814]
-              - generic [ref=e818]: 蹇嵎宸ュ叿
-            - button [disabled] [ref=e825]:
-              - button [disabled] [ref=e827]
-              - generic [ref=e829]: 鐢熸垚鍥剧墖
-            - generic [ref=e830]:
-              - generic [ref=e831]:
-                - button [ref=e836]:
-                  - generic [ref=e837]:
-                    - button [ref=e838]
-                    - generic [ref=e840]: 鐢熸垚鏌ヨ
-                - button [ref=e845]:
-                  - generic [ref=e846]:
-                    - button [ref=e847]
-                    - generic [ref=e849]: 鐢熸垚鏅鸿兘琛�
-              - generic [ref=e850]:
-                - button [disabled] [ref=e855]:
-                  - generic [ref=e856]:
-                    - button [disabled] [ref=e857]
-                    - generic [ref=e859]: 鍥剧墖杞〃鏍�
-                - button [disabled] [ref=e867]:
-                  - generic [ref=e868]:
-                    - button [disabled] [ref=e869]
-                    - generic [ref=e871]: PDF杞崲
-            - button [ref=e883]:
-              - button [ref=e885]
-              - generic [ref=e889]: 蹇嵎宸ュ叿
-            - button [ref=e897]:
-              - button [ref=e899]
-              - generic [ref=e901]: 鎵撳嵃
-            - button [ref=e911]:
-              - button [ref=e913]
-              - generic [ref=e920]: 鏇村
-          - generic [ref=e921]:
-            - generic [ref=e922]:
-              - generic [ref=e923]:
-                - button "鎾ら攢" [disabled] [ref=e928]:
-                  - button [disabled] [ref=e930]
-                - button "閲嶅仛" [disabled] [ref=e936]:
-                  - button [disabled] [ref=e938]
-              - generic [ref=e940]:
-                - button "鏍煎紡鍒凤紝鍙屽嚮鍙噸澶嶄娇鐢�" [disabled] [ref=e945]:
-                  - button [disabled] [ref=e947]
-                - button "娓呴櫎鏍煎紡" [disabled] [ref=e953]:
-                  - button [disabled] [ref=e955]
-            - generic [ref=e958]:
-              - generic [ref=e959]:
-                - button "榛樿瀛椾綋" [disabled] [ref=e967]
-                - button "12" [disabled] [ref=e979]
-                - group "杈规" [disabled] [ref=e991]:
-                  - generic [ref=e992]:
-                    - button "杈规" [disabled] [ref=e993]
-                    - button "杈规 鏇村閫夐」" [disabled] [ref=e996]
-                - button "鍗曞厓鏍兼牱寮�" [disabled] [ref=e1004]:
-                  - button [disabled] [ref=e1006]
-                - button "琛ㄦ牸鏍峰紡" [disabled] [ref=e1017]:
-                  - generic [ref=e1018]:
-                    - button [disabled] [ref=e1019]
-                    - generic [ref=e1021]: 琛ㄦ牸鏍峰紡
-              - generic [ref=e1024]:
-                - button "鍔犵矖" [disabled] [pressed] [ref=e1029]:
-                  - button [disabled] [ref=e1031]
-                - button "鍊炬枩" [disabled] [ref=e1037]:
-                  - button [disabled] [ref=e1039]
-                - button "涓嬪垝绾�" [disabled] [ref=e1045]:
-                  - button [disabled] [ref=e1047]
-                - button "鍒犻櫎绾�" [disabled] [ref=e1053]:
-                  - button [disabled] [ref=e1055]
-                - group "瀛椾綋棰滆壊" [disabled] [ref=e1064]:
-                  - generic [ref=e1065]:
-                    - button "瀛椾綋棰滆壊" [disabled] [ref=e1066]
-                    - button "瀛椾綋棰滆壊 鏇村閫夐」" [disabled] [ref=e1070]
-                - group "濉厖棰滆壊" [disabled] [ref=e1078]:
-                  - generic [ref=e1079]:
-                    - button "濉厖棰滆壊" [disabled] [ref=e1080]
-                    - button "濉厖棰滆壊 鏇村閫夐」" [disabled] [ref=e1084]
-                - button "鏉′欢鏍煎紡" [disabled] [ref=e1092]:
-                  - generic [ref=e1093]:
-                    - button [disabled] [ref=e1094]
-                    - generic [ref=e1096]: 鏉′欢鏍煎紡
-            - generic [ref=e1411]:
-              - generic [ref=e1412]:
-                - button "鍨傜洿瀵归綈" [disabled] [ref=e1420]:
-                  - button [disabled] [ref=e1422]
-                - button "鏂囧瓧鏂瑰悜" [disabled] [ref=e1433]:
-                  - button [disabled] [ref=e1435]
-              - generic [ref=e1439]:
-                - button "宸﹀榻�" [disabled] [ref=e1444]:
-                  - button [disabled] [ref=e1446]
-                - button "灞呬腑瀵归綈" [disabled] [pressed] [ref=e1452]:
-                  - button [disabled] [ref=e1454]
-                - button "鍙冲榻�" [disabled] [ref=e1460]:
-                  - button [disabled] [ref=e1462]
-            - generic [ref=e1464]:
-              - button "鎹㈣" [disabled] [ref=e1470]:
-                - generic [ref=e1471]:
-                  - button [disabled] [ref=e1472]
-                  - generic [ref=e1474]: 鎹㈣
-              - group "鍚堝苟" [disabled] [ref=e1483]:
-                - generic [ref=e1484]:
-                  - button "鍚堝苟" [disabled] [ref=e1485]
-                  - generic [ref=e1487]: 鍚堝苟
-                  - button "鍚堝苟 鏇村閫夐」" [disabled] [ref=e1489]
-            - generic [ref=e1490]:
-              - button "甯歌" [disabled] [ref=e1499]
-              - generic [ref=e1504]:
-                - button "鐧惧垎姣旀牱寮�" [disabled] [ref=e1509]:
-                  - button [disabled] [ref=e1511]
-                - button "鍗冧綅鍒嗛殧鏍峰紡" [disabled] [ref=e1517]:
-                  - button [disabled] [ref=e1519]
-            - group "绛涢��" [ref=e1143]:
-              - generic [ref=e1144]:
-                - button "绛涢��" [ref=e1145]
-                - button "绛涢�� 鏇村閫夐」" [ref=e1148]
-            - generic [ref=e1521]:
-              - generic [ref=e1522]:
-                - button "鍐荤粨" [disabled] [ref=e1530]:
-                  - generic [ref=e1531]:
-                    - button [disabled] [ref=e1532]
-                    - generic [ref=e1534]: 鍐荤粨
-                - group "姹傚拰" [disabled] [ref=e1544]:
-                  - generic [ref=e1545]:
-                    - button "姹傚拰" [disabled] [ref=e1546]
-                    - generic [ref=e1548]: 姹傚拰
-                    - button "姹傚拰 鏇村閫夐」" [disabled] [ref=e1550]
-              - generic [ref=e1551]:
-                - button "鎺掑簭" [disabled] [ref=e1559]:
-                  - generic [ref=e1560]:
-                    - button [disabled] [ref=e1561]
-                    - generic [ref=e1563]: 鎺掑簭
-                - button "鏁版嵁" [disabled] [ref=e1573]:
-                  - generic [ref=e1574]:
-                    - button [disabled] [ref=e1575]
-                    - generic [ref=e1577]: 鏁版嵁
-            - button "淇濇姢" [disabled] [ref=e1589]:
-              - button [disabled] [ref=e1591]
-            - button "鎻掑叆" [disabled] [ref=e1605]:
-              - button [disabled] [ref=e1607]
-            - button "鍥剧墖" [disabled] [ref=e1621]:
-              - button [disabled] [ref=e1623]
-            - generic [ref=e1628]:
-              - button "鍥捐〃" [disabled] [ref=e1637]:
-                - generic [ref=e1638]:
-                  - button [disabled] [ref=e1639]
-                  - generic [ref=e1641]: 鍥捐〃
-              - button "閫忚琛�" [disabled] [ref=e1649]:
-                - generic [ref=e1650]:
-                  - button [disabled] [ref=e1651]
-                  - generic [ref=e1653]: 閫忚琛�
-            - button "蹇嵎宸ュ叿" [disabled] [ref=e1663]:
-              - button [disabled] [ref=e1665]
-            - button "鐢熸垚鍥剧墖" [disabled] [ref=e1676]:
-              - button [disabled] [ref=e1678]
-            - generic [ref=e1681]:
-              - generic [ref=e1682]:
-                - button "鐢熸垚鏌ヨ" [ref=e1687]:
-                  - generic [ref=e1688]:
-                    - button [ref=e1689]
-                    - generic [ref=e1691]: 鐢熸垚鏌ヨ
-                - button "鐢熸垚鏅鸿兘琛�" [ref=e1696]:
-                  - generic [ref=e1697]:
-                    - button [ref=e1698]
-                    - generic [ref=e1700]: 鐢熸垚鏅鸿兘琛�
-              - generic [ref=e1701]:
-                - button "鍥剧墖杞〃鏍�" [disabled] [ref=e1706]:
-                  - generic [ref=e1707]:
-                    - button [disabled] [ref=e1708]
-                    - generic [ref=e1710]: 鍥剧墖杞〃鏍�
-                - button "PDF杞崲" [disabled] [ref=e1718]:
-                  - generic [ref=e1719]:
-                    - button [disabled] [ref=e1720]
-                    - generic [ref=e1722]: PDF杞崲
-            - button "鎵撳嵃" [ref=e1219]:
-              - button [ref=e1221]
-        - toolbar [ref=e1225]:
-          - generic [ref=e1228]:
-            - button "鏌ユ壘鏇挎崲" [ref=e1233]:
-              - button [ref=e1235]
-            - button "宸ュ叿鏍忓垏鎹�" [ref=e1244]:
-              - button [ref=e1246]
-    - generic [ref=e105]:
-      - generic [ref=e106]:
-        - textbox [ref=e107]
-        - combobox [ref=e108]:
-          - paragraph [ref=e109]
-      - combobox [ref=e195]:
-        - paragraph
-    - toolbar "鐘舵�佹爮" [ref=e1264]:
-      - button [ref=e1265]
-      - button [ref=e1277]
-      - button [ref=e1289]:
-        - tablist "宸ヤ綔琛�" [ref=e1296]:
-          - generic [ref=e1298]:
-            - tab "杩涢攢瀛橀噸鏋�-NEW" [ref=e1300] [cursor=pointer]
-            - tab "閾跺窛3绾OM绯荤粺" [selected] [ref=e1303] [cursor=pointer]
-            - tab "OA闂琛�" [ref=e1306] [cursor=pointer]
-            - tab "瀹佸-涓囬�氬缓鏉�" [ref=e1309] [cursor=pointer]
-            - tab "娴疆" [ref=e1312] [cursor=pointer]
-            - tab "閰掓硥楠屾敹闂" [ref=e1315] [cursor=pointer]
-            - tab "婀熸按宄¢獙鏀堕棶棰樿〃" [ref=e1318] [cursor=pointer]
-            - tab "澶╂触鈥斿弻濂囩偣" [ref=e1321] [cursor=pointer]
-            - tab "澶╂触鈥斿啗娉颁紵涓�" [ref=e1324] [cursor=pointer]
-            - tab "澶╂触--鍚涙瓕鍖栧伐" [ref=e1327] [cursor=pointer]
-            - tab "澶╂触鈥旈槼鍏夊嵃鍒�" [ref=e1330] [cursor=pointer]
-            - tab "楣ゅ鈥斿ぉ娌愮幓鐠�" [ref=e1333] [cursor=pointer]
-            - tab "澶╂触鈥斿痉鐟炴柉褰辫" [ref=e1336] [cursor=pointer]
-            - tab "婀栧崡鈥斿潳娉板寲宸�" [ref=e1339] [cursor=pointer]
-            - tab "婀栧崡鈥旈箯鍒涚數瀛�" [ref=e1342] [cursor=pointer]
-            - tab "瀹佸-涓洓寤烘潗" [ref=e1345] [cursor=pointer]
-            - tab "闀挎不鈥斿仴榻块娇绉戝櫒鏉�" [ref=e1348] [cursor=pointer]
-            - tab "闀挎不鈥斿畨閾佺啍鍓�" [ref=e1351] [cursor=pointer]
-            - tab "闀挎不-绁ラ洦" [ref=e1354] [cursor=pointer]
-            - tab "闀挎不-鏅嬪拰鍥�" [ref=e1357] [cursor=pointer]
-            - tab "娌冲崡-楣ゅ" [ref=e1360] [cursor=pointer]
-          - generic [ref=e1362]:
-            - generic [ref=e1365]:
-              - button [disabled]
-            - button [ref=e1369]
-      - button
-      - button "楂樹寒鎵�鍦ㄨ鍒�" [ref=e1370]
-      - button [ref=e1382]
-      - button "鍏ㄥ睆鏌ョ湅 缂╁皬,Ctrl+0鍙仮澶嶈嚦100% 鏀惧ぇ,Ctrl+0鍙仮澶嶈嚦100%" [ref=e1387]:
-        - generic [ref=e1392]:
-          - generic "鍏ㄥ睆鏌ョ湅" [ref=e1396]
-          - generic "缂╁皬,Ctrl+0鍙仮澶嶈嚦100%" [ref=e1400]
-          - combobox [ref=e1404]:
-            - generic [ref=e1405]: 100%
-          - generic "鏀惧ぇ,Ctrl+0鍙仮澶嶈嚦100%" [ref=e1410]
-  - textbox [ref=e193]
-  - generic [ref=e1732]:
-    - generic [ref=e1733]: 璇烽�夋嫨鐧诲綍鏂瑰紡
-    - generic [ref=e1737]:
-      - generic [ref=e1738]:
-        - tablist [ref=e1740] [cursor=pointer]:
-          - tab "寰俊鐧诲綍" [selected] [ref=e1741]
-          - tab "QQ鐧诲綍" [ref=e1743]
-        - tabpanel [ref=e1746]:
-          - generic [ref=e1747]: 寮�鍚揩鎹风櫥褰�
-          - generic [ref=e1749]:
-            - iframe [ref=e1753]:
-              - generic [ref=f3e34]:
-                - paragraph [ref=f3e35]: 浣跨敤寰俊鎵竴鎵櫥褰�
-                - paragraph [ref=f3e36]: 鈥滆吘璁枃妗b��
-            - button "绔嬪嵆鐧诲綍" [ref=e1757] [cursor=pointer]
-            - generic [ref=e1759]:
-              - generic [ref=e1760]: 鍏朵粬璐﹀彿鐧诲綍
-              - generic [ref=e1761]:
-                - generic [ref=e1762] [cursor=pointer]: 鎵嬫満鍙�
-                - generic [ref=e1767] [cursor=pointer]: 浼佷笟寰俊
-                - generic [ref=e1772] [cursor=pointer]: SSO鐧诲綍
-                - generic [ref=e1777] [cursor=pointer]: 鍒涘缓缁勭粐
-      - generic [ref=e1786]:
-        - checkbox "鎴戝凡闃呰骞舵帴鍙楄吘璁枃妗g殑 鏈嶅姟鍗忚 鍜� 闅愮鏀跨瓥" [ref=e1787]
-        - generic [ref=e1789]: 鎴戝凡闃呰骞舵帴鍙楄吘璁枃妗g殑 鏈嶅姟鍗忚 鍜� 闅愮鏀跨瓥
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-07-21T07-11-18-147Z.png b/.playwright-mcp/page-2026-07-21T07-11-18-147Z.png
deleted file mode 100644
index 8e7543a..0000000
--- a/.playwright-mcp/page-2026-07-21T07-11-18-147Z.png
+++ /dev/null
Binary files differ
diff --git a/.playwright-mcp/page-2026-07-21T07-13-43-647Z.yml b/.playwright-mcp/page-2026-07-21T07-13-43-647Z.yml
deleted file mode 100644
index 25228a7..0000000
--- a/.playwright-mcp/page-2026-07-21T07-13-43-647Z.yml
+++ /dev/null
@@ -1,84 +0,0 @@
-- generic [active] [ref=f4e1]:
-  - generic [ref=f4e3]:
-    - generic [ref=f4e4]:
-      - generic [ref=f4e8]: 涓皬浼佷笟鏀归�燽ug淇敼鍒楄〃
-      - button "鐧诲綍鑵捐鏂囨。" [ref=f4e12]
-    - generic [ref=f4e13]:
-      - generic [ref=f4e14]:
-        - generic [ref=f4e15]: 寮�濮�
-        - generic [ref=f4e16]: 鎻掑叆
-        - generic [ref=f4e17]: 鏁版嵁
-        - generic [ref=f4e18]: 鍏紡
-        - generic [ref=f4e19]: 鍗忎綔
-        - generic [ref=f4e20]: 瑙嗗浘
-      - generic [ref=f4e21]:
-        - generic [ref=f4e27]:
-          - generic [ref=f4e28]: 榛樿瀛椾綋
-          - generic [ref=f4e30]: "10"
-        - generic [ref=f4e42]: 琛ㄦ牸鏍峰紡
-        - generic [ref=f4e44]: 鏉′欢鏍煎紡
-        - generic [ref=f4e53]: 鎹㈣
-        - generic [ref=f4e55]: 鍚堝苟
-        - generic [ref=f4e58]: 甯歌
-        - generic [ref=f4e64]: 绛涢��
-        - generic [ref=f4e66]: 鍐荤粨
-        - generic [ref=f4e68]: 鎺掑簭
-        - generic [ref=f4e70]: 姹傚拰
-        - generic [ref=f4e72]: 鏁版嵁
-        - generic [ref=f4e74]: 淇濇姢
-        - generic [ref=f4e77]: 鎻掑叆
-        - generic [ref=f4e79]: 鍥剧墖
-        - generic [ref=f4e81]: 鍥捐〃
-        - generic [ref=f4e83]: 閫忚琛�
-        - generic [ref=f4e86]: 蹇嵎宸ュ叿
-        - generic [ref=f4e88]: 鐢熸垚鍥剧墖
-        - generic [ref=f4e90]: 鍏宠仈鏀堕泦琛�
-        - generic [ref=f4e92]: 鍥剧墖杞〃鏍�
-        - generic [ref=f4e94]: 鐢熸垚鏅鸿兘琛�
-        - generic [ref=f4e96]: PDF杞崲
-        - generic [ref=f4e99]: 鎵撳嵃
-  - generic [ref=f4e105]: A1
-  - generic [ref=f4e122]:
-    - generic [ref=f4e125]:
-      - link "杩涢攢瀛橀噸鏋�-NEW" [ref=f4e126]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=fs73ok
-      - generic [ref=f4e129]: 閾跺窛3绾OM绯荤粺
-      - link "OA闂琛�" [ref=f4e132]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=f64daq
-      - link "瀹佸-涓囬�氬缓鏉�" [ref=f4e135]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=ept4mh
-      - link "娴疆" [ref=f4e138]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=spyhmp
-      - link "閰掓硥楠屾敹闂" [ref=f4e141]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=x00zho
-      - link "婀熸按宄¢獙鏀堕棶棰樿〃" [ref=f4e144]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=h625nh
-      - link "澶╂触鈥斿弻濂囩偣" [ref=f4e147]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=BB08J2
-      - link "澶╂触鈥斿啗娉颁紵涓�" [ref=f4e150]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=lspijq
-      - link "澶╂触--鍚涙瓕鍖栧伐" [ref=f4e153]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=mq8fx1
-      - link "澶╂触鈥旈槼鍏夊嵃鍒�" [ref=f4e156]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=0l2zs6
-      - link "楣ゅ鈥斿ぉ娌愮幓鐠�" [ref=f4e159]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=iwl1zq
-      - link "澶╂触鈥斿痉鐟炴柉褰辫" [ref=f4e162]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=uw3s1s
-      - link "婀栧崡鈥斿潳娉板寲宸�" [ref=f4e165]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=lhgufk
-      - link "婀栧崡鈥旈箯鍒涚數瀛�" [ref=f4e168]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=qr1hgf
-      - link "瀹佸-涓洓寤烘潗" [ref=f4e171]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=glpee8
-      - link "闀挎不鈥斿仴榻块娇绉戝櫒鏉�" [ref=f4e174]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=f6oijb
-      - link "闀挎不鈥斿畨閾佺啍鍓�" [ref=f4e177]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=27v3ks
-      - link "闀挎不-绁ラ洦" [ref=f4e180]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=51i5b3
-      - link "闀挎不-鏅嬪拰鍥�" [ref=f4e183]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=bo7qyg
-      - link "娌冲崡-楣ゅ" [ref=f4e186]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=mkpiqo
-    - generic [ref=f4e191]: 100%
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-07-21T07-14-06-572Z.yml b/.playwright-mcp/page-2026-07-21T07-14-06-572Z.yml
deleted file mode 100644
index abf35b8..0000000
--- a/.playwright-mcp/page-2026-07-21T07-14-06-572Z.yml
+++ /dev/null
@@ -1,394 +0,0 @@
-- generic [ref=f4e1]:
-  - generic [ref=f4e194]:
-    - toolbar "titlebar" [ref=f4e195]:
-      - generic [ref=f4e202]: 涓皬浼佷笟鏀归�燽ug淇敼鍒楄〃
-      - button "鍙兘鏌ョ湅" [ref=f4e216]
-      - img "breadcrumb" [ref=f4e233]
-      - generic [ref=f4e243]:
-        - img "澶村儚" [ref=f4e246]
-        - img "澶村儚" [ref=f4e251]
-        - img "澶村儚" [ref=f4e256]
-      - button "鐧诲綍鑵捐鏂囨。" [ref=f4e263]
-    - toolbar "Toolbar" [ref=f4e269]:
-      - tablist [ref=f4e271]:
-        - tab "寮�濮�" [selected] [ref=f4e272]
-        - tab "鎻掑叆" [ref=f4e273]
-        - tab "鏁版嵁" [ref=f4e274]
-        - tab "鍏紡" [ref=f4e275]
-        - tab "鍗忎綔" [ref=f4e276]
-        - tab "瑙嗗浘" [ref=f4e277]
-        - tab "鏁堢巼宸ュ叿" [ref=f4e278]
-        - tab "浼氬憳涓撲韩" [ref=f4e279]
-      - tabpanel [ref=f4e281]:
-        - toolbar "寮�濮�" [ref=f4e282]:
-          - generic [ref=f4e283]:
-            - generic [ref=f4e284]:
-              - generic [ref=f4e285]:
-                - button [disabled] [ref=f4e290]:
-                  - button [disabled] [ref=f4e292]
-                - button [disabled] [ref=f4e298]:
-                  - button [disabled] [ref=f4e300]
-              - generic [ref=f4e302]:
-                - button [disabled] [ref=f4e307]:
-                  - button [disabled] [ref=f4e309]
-                - button [disabled] [ref=f4e315]:
-                  - button [disabled] [ref=f4e317]
-            - generic [ref=f4e320]:
-              - generic [ref=f4e321]:
-                - button [disabled] [ref=f4e329]:
-                  - generic [ref=f4e330]: 榛樿瀛椾綋
-                - button [disabled] [ref=f4e341]:
-                  - generic [ref=f4e342]: "12"
-                - group [disabled] [ref=f4e353]:
-                  - generic [ref=f4e354]:
-                    - button [disabled] [ref=f4e355]
-                    - button [disabled] [ref=f4e358]
-                - button [disabled] [ref=f4e366]:
-                  - button [disabled] [ref=f4e368]
-                - button [disabled] [ref=f4e379]:
-                  - generic [ref=f4e380]:
-                    - button [disabled] [ref=f4e381]
-                    - generic [ref=f4e383]: 琛ㄦ牸鏍峰紡
-              - generic [ref=f4e386]:
-                - button [disabled] [pressed] [ref=f4e391]:
-                  - button [disabled] [ref=f4e393]
-                - button [disabled] [ref=f4e399]:
-                  - button [disabled] [ref=f4e401]
-                - button [disabled] [ref=f4e407]:
-                  - button [disabled] [ref=f4e409]
-                - button [disabled] [ref=f4e415]:
-                  - button [disabled] [ref=f4e417]
-                - group [disabled] [ref=f4e426]:
-                  - generic [ref=f4e427]:
-                    - button [disabled] [ref=f4e428]
-                    - button [disabled] [ref=f4e432]
-                - group [disabled] [ref=f4e440]:
-                  - generic [ref=f4e441]:
-                    - button [disabled] [ref=f4e442]
-                    - button [disabled] [ref=f4e446]
-                - button [disabled] [ref=f4e454]:
-                  - generic [ref=f4e455]:
-                    - button [disabled] [ref=f4e456]
-                    - generic [ref=f4e458]: 鏉′欢鏍煎紡
-            - button [ref=f4e470]:
-              - button [ref=f4e472]
-              - generic [ref=f4e476]: 瀛椾綋鏍峰紡
-            - generic [ref=f4e478]:
-              - generic [ref=f4e479]:
-                - button [disabled] [ref=f4e487]:
-                  - button [disabled] [ref=f4e489]
-                - button [disabled] [ref=f4e500]:
-                  - button [disabled] [ref=f4e502]
-              - generic [ref=f4e506]:
-                - button [disabled] [ref=f4e511]:
-                  - button [disabled] [ref=f4e513]
-                - button [disabled] [pressed] [ref=f4e519]:
-                  - button [disabled] [ref=f4e521]
-                - button [disabled] [ref=f4e527]:
-                  - button [disabled] [ref=f4e529]
-            - generic [ref=f4e531]:
-              - button [disabled] [ref=f4e537]:
-                - generic [ref=f4e538]:
-                  - button [disabled] [ref=f4e539]
-                  - generic [ref=f4e541]: 鎹㈣
-              - group [disabled] [ref=f4e550]:
-                - generic [ref=f4e551]:
-                  - button [disabled] [ref=f4e552]
-                  - generic [ref=f4e554]: 鍚堝苟
-                  - button [disabled] [ref=f4e556]
-            - button [ref=f4e566]:
-              - button [ref=f4e568]
-              - generic [ref=f4e572]: 瀵归綈鏂瑰紡
-            - generic [ref=f4e574]:
-              - button [disabled] [ref=f4e583]:
-                - generic [ref=f4e584]: 甯歌
-              - generic [ref=f4e588]:
-                - button [disabled] [ref=f4e593]:
-                  - button [disabled] [ref=f4e595]
-                - button [disabled] [ref=f4e601]:
-                  - button [disabled] [ref=f4e603]
-            - button [ref=f4e614]:
-              - button [ref=f4e616]
-              - generic [ref=f4e620]: 鏁板瓧鏍煎紡
-            - group [ref=f4e631]:
-              - generic [ref=f4e632]:
-                - button [ref=f4e633]
-                - button [ref=f4e636]
-              - generic [ref=f4e637]: 绛涢��
-            - generic [ref=f4e638]:
-              - generic [ref=f4e639]:
-                - button [disabled] [ref=f4e647]:
-                  - generic [ref=f4e648]:
-                    - button [disabled] [ref=f4e649]
-                    - generic [ref=f4e651]: 鍐荤粨
-                - group [disabled] [ref=f4e661]:
-                  - generic [ref=f4e662]:
-                    - button [disabled] [ref=f4e663]
-                    - generic [ref=f4e665]: 姹傚拰
-                    - button [disabled] [ref=f4e667]
-              - generic [ref=f4e668]:
-                - button [disabled] [ref=f4e676]:
-                  - generic [ref=f4e677]:
-                    - button [disabled] [ref=f4e678]
-                    - generic [ref=f4e680]: 鎺掑簭
-                - button [disabled] [ref=f4e690]:
-                  - generic [ref=f4e691]:
-                    - button [disabled] [ref=f4e692]
-                    - generic [ref=f4e694]: 鏁版嵁
-            - button [ref=f4e706]:
-              - button [ref=f4e708]
-              - generic [ref=f4e712]: 鏁版嵁
-            - button [disabled] [ref=f4e722]:
-              - button [disabled] [ref=f4e724]
-              - generic [ref=f4e728]: 淇濇姢
-            - button [disabled] [ref=f4e739]:
-              - button [disabled] [ref=f4e741]
-              - generic [ref=f4e745]: 鎻掑叆
-            - button [disabled] [ref=f4e755]:
-              - button [disabled] [ref=f4e757]
-              - generic [ref=f4e761]: 鍥剧墖
-            - generic [ref=f4e762]:
-              - button [disabled] [ref=f4e771]:
-                - generic [ref=f4e772]:
-                  - button [disabled] [ref=f4e773]
-                  - generic [ref=f4e775]: 鍥捐〃
-              - button [disabled] [ref=f4e783]:
-                - generic [ref=f4e784]:
-                  - button [disabled] [ref=f4e785]
-                  - generic [ref=f4e787]: 閫忚琛�
-            - button [disabled] [ref=f4e797]:
-              - button [disabled] [ref=f4e799]
-              - generic [ref=f4e803]: 鎻掑叆
-            - button [disabled] [ref=f4e814]:
-              - button [disabled] [ref=f4e816]
-              - generic [ref=f4e820]: 蹇嵎宸ュ叿
-            - button [disabled] [ref=f4e827]:
-              - button [disabled] [ref=f4e829]
-              - generic [ref=f4e831]: 鐢熸垚鍥剧墖
-            - generic [ref=f4e832]:
-              - generic [ref=f4e833]:
-                - button [ref=f4e838]:
-                  - generic [ref=f4e839]:
-                    - button [ref=f4e840]
-                    - generic [ref=f4e842]: 鐢熸垚鏌ヨ
-                - button [ref=f4e847]:
-                  - generic [ref=f4e848]:
-                    - button [ref=f4e849]
-                    - generic [ref=f4e851]: 鐢熸垚鏅鸿兘琛�
-              - generic [ref=f4e852]:
-                - button [disabled] [ref=f4e857]:
-                  - generic [ref=f4e858]:
-                    - button [disabled] [ref=f4e859]
-                    - generic [ref=f4e861]: 鍥剧墖杞〃鏍�
-                - button [disabled] [ref=f4e869]:
-                  - generic [ref=f4e870]:
-                    - button [disabled] [ref=f4e871]
-                    - generic [ref=f4e873]: PDF杞崲
-            - button [ref=f4e885]:
-              - button [ref=f4e887]
-              - generic [ref=f4e891]: 蹇嵎宸ュ叿
-            - button [ref=f4e899]:
-              - button [ref=f4e901]
-              - generic [ref=f4e903]: 鎵撳嵃
-            - button [ref=f4e913]:
-              - button [ref=f4e915]
-              - generic [ref=f4e922]: 鏇村
-          - generic [ref=f4e923]:
-            - generic [ref=f4e924]:
-              - generic [ref=f4e925]:
-                - button "鎾ら攢" [disabled] [ref=f4e930]:
-                  - button [disabled] [ref=f4e932]
-                - button "閲嶅仛" [disabled] [ref=f4e938]:
-                  - button [disabled] [ref=f4e940]
-              - generic [ref=f4e942]:
-                - button "鏍煎紡鍒凤紝鍙屽嚮鍙噸澶嶄娇鐢�" [disabled] [ref=f4e947]:
-                  - button [disabled] [ref=f4e949]
-                - button "娓呴櫎鏍煎紡" [disabled] [ref=f4e955]:
-                  - button [disabled] [ref=f4e957]
-            - generic [ref=f4e960]:
-              - generic [ref=f4e961]:
-                - button "榛樿瀛椾綋" [disabled] [ref=f4e969]
-                - button "12" [disabled] [ref=f4e981]
-                - group "杈规" [disabled] [ref=f4e993]:
-                  - generic [ref=f4e994]:
-                    - button "杈规" [disabled] [ref=f4e995]
-                    - button "杈规 鏇村閫夐」" [disabled] [ref=f4e998]
-                - button "鍗曞厓鏍兼牱寮�" [disabled] [ref=f4e1006]:
-                  - button [disabled] [ref=f4e1008]
-                - button "琛ㄦ牸鏍峰紡" [disabled] [ref=f4e1019]:
-                  - generic [ref=f4e1020]:
-                    - button [disabled] [ref=f4e1021]
-                    - generic [ref=f4e1023]: 琛ㄦ牸鏍峰紡
-              - generic [ref=f4e1026]:
-                - button "鍔犵矖" [disabled] [pressed] [ref=f4e1031]:
-                  - button [disabled] [ref=f4e1033]
-                - button "鍊炬枩" [disabled] [ref=f4e1039]:
-                  - button [disabled] [ref=f4e1041]
-                - button "涓嬪垝绾�" [disabled] [ref=f4e1047]:
-                  - button [disabled] [ref=f4e1049]
-                - button "鍒犻櫎绾�" [disabled] [ref=f4e1055]:
-                  - button [disabled] [ref=f4e1057]
-                - group "瀛椾綋棰滆壊" [disabled] [ref=f4e1066]:
-                  - generic [ref=f4e1067]:
-                    - button "瀛椾綋棰滆壊" [disabled] [ref=f4e1068]
-                    - button "瀛椾綋棰滆壊 鏇村閫夐」" [disabled] [ref=f4e1072]
-                - group "濉厖棰滆壊" [disabled] [ref=f4e1080]:
-                  - generic [ref=f4e1081]:
-                    - button "濉厖棰滆壊" [disabled] [ref=f4e1082]
-                    - button "濉厖棰滆壊 鏇村閫夐」" [disabled] [ref=f4e1086]
-                - button "鏉′欢鏍煎紡" [disabled] [ref=f4e1094]:
-                  - generic [ref=f4e1095]:
-                    - button [disabled] [ref=f4e1096]
-                    - generic [ref=f4e1098]: 鏉′欢鏍煎紡
-            - generic [ref=f4e1102]:
-              - generic [ref=f4e1103]:
-                - button "鍨傜洿瀵归綈" [disabled] [ref=f4e1111]:
-                  - button [disabled] [ref=f4e1113]
-                - button "鏂囧瓧鏂瑰悜" [disabled] [ref=f4e1124]:
-                  - button [disabled] [ref=f4e1126]
-              - generic [ref=f4e1130]:
-                - button "宸﹀榻�" [disabled] [ref=f4e1135]:
-                  - button [disabled] [ref=f4e1137]
-                - button "灞呬腑瀵归綈" [disabled] [pressed] [ref=f4e1143]:
-                  - button [disabled] [ref=f4e1145]
-                - button "鍙冲榻�" [disabled] [ref=f4e1151]:
-                  - button [disabled] [ref=f4e1153]
-            - generic [ref=f4e1155]:
-              - button "鎹㈣" [disabled] [ref=f4e1161]:
-                - generic [ref=f4e1162]:
-                  - button [disabled] [ref=f4e1163]
-                  - generic [ref=f4e1165]: 鎹㈣
-              - group "鍚堝苟" [disabled] [ref=f4e1174]:
-                - generic [ref=f4e1175]:
-                  - button "鍚堝苟" [disabled] [ref=f4e1176]
-                  - generic [ref=f4e1178]: 鍚堝苟
-                  - button "鍚堝苟 鏇村閫夐」" [disabled] [ref=f4e1180]
-            - generic [ref=f4e1182]:
-              - button "甯歌" [disabled] [ref=f4e1191]
-              - generic [ref=f4e1196]:
-                - button "鐧惧垎姣旀牱寮�" [disabled] [ref=f4e1201]:
-                  - button [disabled] [ref=f4e1203]
-                - button "鍗冧綅鍒嗛殧鏍峰紡" [disabled] [ref=f4e1209]:
-                  - button [disabled] [ref=f4e1211]
-            - group "绛涢��" [ref=f4e1223]:
-              - generic [ref=f4e1224]:
-                - button "绛涢��" [ref=f4e1225]
-                - button "绛涢�� 鏇村閫夐」" [ref=f4e1228]
-            - generic [ref=f4e1230]:
-              - generic [ref=f4e1231]:
-                - button "鍐荤粨" [disabled] [ref=f4e1239]:
-                  - generic [ref=f4e1240]:
-                    - button [disabled] [ref=f4e1241]
-                    - generic [ref=f4e1243]: 鍐荤粨
-                - group "姹傚拰" [disabled] [ref=f4e1253]:
-                  - generic [ref=f4e1254]:
-                    - button "姹傚拰" [disabled] [ref=f4e1255]
-                    - generic [ref=f4e1257]: 姹傚拰
-                    - button "姹傚拰 鏇村閫夐」" [disabled] [ref=f4e1259]
-              - generic [ref=f4e1260]:
-                - button "鎺掑簭" [disabled] [ref=f4e1268]:
-                  - generic [ref=f4e1269]:
-                    - button [disabled] [ref=f4e1270]
-                    - generic [ref=f4e1272]: 鎺掑簭
-                - button "鏁版嵁" [disabled] [ref=f4e1282]:
-                  - generic [ref=f4e1283]:
-                    - button [disabled] [ref=f4e1284]
-                    - generic [ref=f4e1286]: 鏁版嵁
-            - button "淇濇姢" [disabled] [ref=f4e1298]:
-              - button [disabled] [ref=f4e1300]
-            - button "鎻掑叆" [disabled] [ref=f4e1315]:
-              - button [disabled] [ref=f4e1317]
-            - button "鍥剧墖" [disabled] [ref=f4e1331]:
-              - button [disabled] [ref=f4e1333]
-            - generic [ref=f4e1338]:
-              - button "鍥捐〃" [disabled] [ref=f4e1347]:
-                - generic [ref=f4e1348]:
-                  - button [disabled] [ref=f4e1349]
-                  - generic [ref=f4e1351]: 鍥捐〃
-              - button "閫忚琛�" [disabled] [ref=f4e1359]:
-                - generic [ref=f4e1360]:
-                  - button [disabled] [ref=f4e1361]
-                  - generic [ref=f4e1363]: 閫忚琛�
-            - button "蹇嵎宸ュ叿" [disabled] [ref=f4e1374]:
-              - button [disabled] [ref=f4e1376]
-            - button "鐢熸垚鍥剧墖" [disabled] [ref=f4e1387]:
-              - button [disabled] [ref=f4e1389]
-            - generic [ref=f4e1392]:
-              - generic [ref=f4e1393]:
-                - button "鐢熸垚鏌ヨ" [ref=f4e1398]:
-                  - generic [ref=f4e1399]:
-                    - button [ref=f4e1400]
-                    - generic [ref=f4e1402]: 鐢熸垚鏌ヨ
-                - button "鐢熸垚鏅鸿兘琛�" [ref=f4e1407]:
-                  - generic [ref=f4e1408]:
-                    - button [ref=f4e1409]
-                    - generic [ref=f4e1411]: 鐢熸垚鏅鸿兘琛�
-              - generic [ref=f4e1412]:
-                - button "鍥剧墖杞〃鏍�" [disabled] [ref=f4e1417]:
-                  - generic [ref=f4e1418]:
-                    - button [disabled] [ref=f4e1419]
-                    - generic [ref=f4e1421]: 鍥剧墖杞〃鏍�
-                - button "PDF杞崲" [disabled] [ref=f4e1429]:
-                  - generic [ref=f4e1430]:
-                    - button [disabled] [ref=f4e1431]
-                    - generic [ref=f4e1433]: PDF杞崲
-            - button "鎵撳嵃" [ref=f4e1443]:
-              - button [ref=f4e1445]
-        - toolbar [ref=f4e1449]:
-          - generic [ref=f4e1452]:
-            - button "鏌ユ壘鏇挎崲" [ref=f4e1457]:
-              - button [ref=f4e1459]
-            - button "宸ュ叿鏍忓垏鎹�" [ref=f4e1468]:
-              - button [ref=f4e1470]
-    - generic [ref=f4e105]:
-      - generic [ref=f4e1480]:
-        - textbox [ref=f4e1481]
-        - combobox [ref=f4e1482]:
-          - paragraph [ref=f4e1483]
-      - combobox [active] [ref=f4e1487]:
-        - paragraph
-    - toolbar "鐘舵�佹爮" [ref=f4e1494]:
-      - button [ref=f4e1495]
-      - button [ref=f4e1507]
-      - button [ref=f4e1519]:
-        - tablist "宸ヤ綔琛�" [ref=f4e1526]:
-          - generic [ref=f4e1528]:
-            - tab "杩涢攢瀛橀噸鏋�-NEW" [ref=f4e1530] [cursor=pointer]
-            - tab "閾跺窛3绾OM绯荤粺" [selected] [ref=f4e1533] [cursor=pointer]
-            - tab "OA闂琛�" [ref=f4e1536] [cursor=pointer]
-            - tab "瀹佸-涓囬�氬缓鏉�" [ref=f4e1539] [cursor=pointer]
-            - tab "娴疆" [ref=f4e1542] [cursor=pointer]
-            - tab "閰掓硥楠屾敹闂" [ref=f4e1545] [cursor=pointer]
-            - tab "婀熸按宄¢獙鏀堕棶棰樿〃" [ref=f4e1548] [cursor=pointer]
-            - tab "澶╂触鈥斿弻濂囩偣" [ref=f4e1551] [cursor=pointer]
-            - tab "澶╂触鈥斿啗娉颁紵涓�" [ref=f4e1554] [cursor=pointer]
-            - tab "澶╂触--鍚涙瓕鍖栧伐" [ref=f4e1557] [cursor=pointer]
-            - tab "澶╂触鈥旈槼鍏夊嵃鍒�" [ref=f4e1560] [cursor=pointer]
-            - tab "楣ゅ鈥斿ぉ娌愮幓鐠�" [ref=f4e1563] [cursor=pointer]
-            - tab "澶╂触鈥斿痉鐟炴柉褰辫" [ref=f4e1566] [cursor=pointer]
-            - tab "婀栧崡鈥斿潳娉板寲宸�" [ref=f4e1569] [cursor=pointer]
-            - tab "婀栧崡鈥旈箯鍒涚數瀛�" [ref=f4e1572] [cursor=pointer]
-            - tab "瀹佸-涓洓寤烘潗" [ref=f4e1575] [cursor=pointer]
-            - tab "闀挎不鈥斿仴榻块娇绉戝櫒鏉�" [ref=f4e1578] [cursor=pointer]
-            - tab "闀挎不鈥斿畨閾佺啍鍓�" [ref=f4e1581] [cursor=pointer]
-            - tab "闀挎不-绁ラ洦" [ref=f4e1584] [cursor=pointer]
-            - tab "闀挎不-鏅嬪拰鍥�" [ref=f4e1587] [cursor=pointer]
-            - tab "娌冲崡-楣ゅ" [ref=f4e1590] [cursor=pointer]
-          - generic [ref=f4e1592]:
-            - generic [ref=f4e1595]:
-              - button [disabled]
-            - button [ref=f4e1599]
-      - button "100% 鍏紡璁$畻涓�..." [ref=f4e1600]:
-        - generic [ref=f4e1606]:
-          - generic [ref=f4e1608]: 100%
-          - text: 鍏紡璁$畻涓�...
-      - button "楂樹寒鎵�鍦ㄨ鍒�" [ref=f4e1609]
-      - button [ref=f4e1621]
-      - button "鍏ㄥ睆鏌ョ湅 缂╁皬,Ctrl+0鍙仮澶嶈嚦100% 鏀惧ぇ,Ctrl+0鍙仮澶嶈嚦100%" [ref=f4e1626]:
-        - generic [ref=f4e1631]:
-          - generic "鍏ㄥ睆鏌ョ湅" [ref=f4e1635]
-          - generic "缂╁皬,Ctrl+0鍙仮澶嶈嚦100%" [ref=f4e1639]
-          - combobox [ref=f4e1643]:
-            - generic [ref=f4e1644]: 100%
-          - generic "鏀惧ぇ,Ctrl+0鍙仮澶嶈嚦100%" [ref=f4e1649]
-  - textbox [ref=f4e1650]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-07-21T07-14-13-732Z.png b/.playwright-mcp/page-2026-07-21T07-14-13-732Z.png
deleted file mode 100644
index e8d5476..0000000
--- a/.playwright-mcp/page-2026-07-21T07-14-13-732Z.png
+++ /dev/null
Binary files differ
diff --git a/.playwright-mcp/page-2026-07-21T07-14-34-792Z.png b/.playwright-mcp/page-2026-07-21T07-14-34-792Z.png
deleted file mode 100644
index fd43064..0000000
--- a/.playwright-mcp/page-2026-07-21T07-14-34-792Z.png
+++ /dev/null
Binary files differ
diff --git a/.playwright-mcp/page-2026-07-21T07-57-24-131Z.yml b/.playwright-mcp/page-2026-07-21T07-57-24-131Z.yml
deleted file mode 100644
index f980e72..0000000
--- a/.playwright-mcp/page-2026-07-21T07-57-24-131Z.yml
+++ /dev/null
@@ -1,84 +0,0 @@
-- generic [active] [ref=e1]:
-  - generic [ref=e3]:
-    - generic [ref=e4]:
-      - generic [ref=e8]: 涓皬浼佷笟鏀归�燽ug淇敼鍒楄〃
-      - button "鐧诲綍鑵捐鏂囨。" [ref=e12]
-    - generic [ref=e13]:
-      - generic [ref=e14]:
-        - generic [ref=e15]: 寮�濮�
-        - generic [ref=e16]: 鎻掑叆
-        - generic [ref=e17]: 鏁版嵁
-        - generic [ref=e18]: 鍏紡
-        - generic [ref=e19]: 鍗忎綔
-        - generic [ref=e20]: 瑙嗗浘
-      - generic [ref=e21]:
-        - generic [ref=e27]:
-          - generic [ref=e28]: 榛樿瀛椾綋
-          - generic [ref=e30]: "10"
-        - generic [ref=e42]: 琛ㄦ牸鏍峰紡
-        - generic [ref=e44]: 鏉′欢鏍煎紡
-        - generic [ref=e53]: 鎹㈣
-        - generic [ref=e55]: 鍚堝苟
-        - generic [ref=e58]: 甯歌
-        - generic [ref=e64]: 绛涢��
-        - generic [ref=e66]: 鍐荤粨
-        - generic [ref=e68]: 鎺掑簭
-        - generic [ref=e70]: 姹傚拰
-        - generic [ref=e72]: 鏁版嵁
-        - generic [ref=e74]: 淇濇姢
-        - generic [ref=e77]: 鎻掑叆
-        - generic [ref=e79]: 鍥剧墖
-        - generic [ref=e81]: 鍥捐〃
-        - generic [ref=e83]: 閫忚琛�
-        - generic [ref=e86]: 蹇嵎宸ュ叿
-        - generic [ref=e88]: 鐢熸垚鍥剧墖
-        - generic [ref=e90]: 鍏宠仈鏀堕泦琛�
-        - generic [ref=e92]: 鍥剧墖杞〃鏍�
-        - generic [ref=e94]: 鐢熸垚鏅鸿兘琛�
-        - generic [ref=e96]: PDF杞崲
-        - generic [ref=e99]: 鎵撳嵃
-  - generic [ref=e105]: A1
-  - generic [ref=e113]:
-    - generic [ref=e116]:
-      - link "杩涢攢瀛橀噸鏋�-NEW" [ref=e117]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=fs73ok&_t=1784617837525&nlc=1&u=8829bcd3bce040719f56b04f14245507
-      - generic [ref=e120]: 閾跺窛3绾OM绯荤粺
-      - link "OA闂琛�" [ref=e123]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=f64daq&_t=1784617837525&nlc=1&u=8829bcd3bce040719f56b04f14245507
-      - link "瀹佸-涓囬�氬缓鏉�" [ref=e126]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=ept4mh&_t=1784617837525&nlc=1&u=8829bcd3bce040719f56b04f14245507
-      - link "娴疆" [ref=e129]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=spyhmp&_t=1784617837525&nlc=1&u=8829bcd3bce040719f56b04f14245507
-      - link "閰掓硥楠屾敹闂" [ref=e132]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=x00zho&_t=1784617837525&nlc=1&u=8829bcd3bce040719f56b04f14245507
-      - link "婀熸按宄¢獙鏀堕棶棰樿〃" [ref=e135]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=h625nh&_t=1784617837525&nlc=1&u=8829bcd3bce040719f56b04f14245507
-      - link "澶╂触鈥斿弻濂囩偣" [ref=e138]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=BB08J2&_t=1784617837525&nlc=1&u=8829bcd3bce040719f56b04f14245507
-      - link "澶╂触鈥斿啗娉颁紵涓�" [ref=e141]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=lspijq&_t=1784617837525&nlc=1&u=8829bcd3bce040719f56b04f14245507
-      - link "澶╂触--鍚涙瓕鍖栧伐" [ref=e144]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=mq8fx1&_t=1784617837525&nlc=1&u=8829bcd3bce040719f56b04f14245507
-      - link "澶╂触鈥旈槼鍏夊嵃鍒�" [ref=e147]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=0l2zs6&_t=1784617837525&nlc=1&u=8829bcd3bce040719f56b04f14245507
-      - link "楣ゅ鈥斿ぉ娌愮幓鐠�" [ref=e150]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=iwl1zq&_t=1784617837525&nlc=1&u=8829bcd3bce040719f56b04f14245507
-      - link "澶╂触鈥斿痉鐟炴柉褰辫" [ref=e153]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=uw3s1s&_t=1784617837525&nlc=1&u=8829bcd3bce040719f56b04f14245507
-      - link "婀栧崡鈥斿潳娉板寲宸�" [ref=e156]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=lhgufk&_t=1784617837525&nlc=1&u=8829bcd3bce040719f56b04f14245507
-      - link "婀栧崡鈥旈箯鍒涚數瀛�" [ref=e159]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=qr1hgf&_t=1784617837525&nlc=1&u=8829bcd3bce040719f56b04f14245507
-      - link "瀹佸-涓洓寤烘潗" [ref=e162]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=glpee8&_t=1784617837525&nlc=1&u=8829bcd3bce040719f56b04f14245507
-      - link "闀挎不鈥斿仴榻块娇绉戝櫒鏉�" [ref=e165]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=f6oijb&_t=1784617837525&nlc=1&u=8829bcd3bce040719f56b04f14245507
-      - link "闀挎不鈥斿畨閾佺啍鍓�" [ref=e168]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=27v3ks&_t=1784617837525&nlc=1&u=8829bcd3bce040719f56b04f14245507
-      - link "闀挎不-绁ラ洦" [ref=e171]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=51i5b3&_t=1784617837525&nlc=1&u=8829bcd3bce040719f56b04f14245507
-      - link "闀挎不-鏅嬪拰鍥�" [ref=e174]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=bo7qyg&_t=1784617837525&nlc=1&u=8829bcd3bce040719f56b04f14245507
-      - link "娌冲崡-楣ゅ" [ref=e177]:
-        - /url: https://docs.qq.com/sheet/DWWVMTEVSa1dVb3BF?aidPos=detail&no_promotion=1&is_blank_or_template=blank&tab=mkpiqo&_t=1784617837525&nlc=1&u=8829bcd3bce040719f56b04f14245507
-    - generic [ref=e182]: 100%
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-07-29T06-40-35-404Z.yml b/.playwright-mcp/page-2026-07-29T06-40-35-404Z.yml
deleted file mode 100644
index 987bb5e..0000000
--- a/.playwright-mcp/page-2026-07-29T06-40-35-404Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ュ巶鏁板瓧鍖朚OM绯荤粺
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-07-29T06-42-11-724Z.yml b/.playwright-mcp/page-2026-07-29T06-42-11-724Z.yml
deleted file mode 100644
index 987bb5e..0000000
--- a/.playwright-mcp/page-2026-07-29T06-42-11-724Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ュ巶鏁板瓧鍖朚OM绯荤粺
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-07-29T06-42-36-804Z.yml b/.playwright-mcp/page-2026-07-29T06-42-36-804Z.yml
deleted file mode 100644
index b4e4c37..0000000
--- a/.playwright-mcp/page-2026-07-29T06-42-36-804Z.yml
+++ /dev/null
@@ -1,112 +0,0 @@
-- generic [ref=e7]:
-  - complementary [ref=e8]:
-    - generic [ref=e9]:
-      - link "宸ュ巶鏁板瓧鍖朚OM绯荤粺 宸ュ巶鏁板瓧鍖朚OM绯荤粺" [ref=e15] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ュ巶鏁板瓧鍖朚OM绯荤粺" [ref=e18]
-        - generic [ref=e19]: 宸ュ巶鏁板瓧鍖朚OM绯荤粺
-      - menu [ref=e22]:
-        - listitem [ref=e23]:
-          - generic [ref=e24] [cursor=pointer]: 姒傝
-        - listitem [ref=e34]:
-          - generic [ref=e35] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=e43]:
-          - generic [ref=e44] [cursor=pointer]: 閲囪喘绠$悊
-        - listitem [ref=e50]:
-          - generic [ref=e51] [cursor=pointer]: 钀ラ攢绠$悊
-        - listitem [ref=e57]:
-          - generic [ref=e58] [cursor=pointer]: 璁惧绠$悊
-        - listitem [ref=e65]:
-          - generic [ref=e66] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=e74]:
-          - generic [ref=e75] [cursor=pointer]: 鐢熶骇绠℃帶
-        - listitem [ref=e82]:
-          - generic [ref=e83] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=e89]:
-          - generic [ref=e90] [cursor=pointer]: 鍗忓悓鍔炲叕
-        - listitem [ref=e96]:
-          - generic [ref=e97] [cursor=pointer]: 浜哄姏璧勬簮
-        - listitem [ref=e103]:
-          - generic [ref=e104] [cursor=pointer]: 鍩虹璁炬柦
-        - listitem [ref=e110]:
-          - generic [ref=e111] [cursor=pointer]: 绯荤粺绠$悊
-        - listitem [ref=e117]:
-          - generic [ref=e118] [cursor=pointer]: IM 鍗虫椂閫氳
-  - generic [ref=e131]:
-    - generic [ref=e132]:
-      - banner [ref=e133]:
-        - button [ref=e134] [cursor=pointer]
-        - button [ref=e137] [cursor=pointer]
-        - navigation "breadcrumb" [ref=e142]:
-          - list [ref=e143]:
-            - listitem [ref=e144]:
-              - link [ref=e145] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=e152]
-            - listitem [ref=e155]:
-              - link "鎷涙爣璇︽儏" [disabled] [ref=e156]
-        - generic [ref=e159]:
-          - generic [ref=e161] [cursor=pointer]:
-            - generic [ref=e165]: 鎼滅储
-            - generic [ref=e166]: Ctrl K
-          - button [ref=e168] [cursor=pointer]
-          - button "dark" [ref=e173] [cursor=pointer]
-          - button [ref=e182] [cursor=pointer]
-          - button [ref=e188] [cursor=pointer]
-          - button [ref=e191] [cursor=pointer]
-          - button [ref=e197] [cursor=pointer]:
-            - button [ref=e199]
-          - button "宸ヤ綔鍙�" [ref=e203] [cursor=pointer]
-          - button "婧愮爜" [ref=e207] [cursor=pointer]
-      - generic [ref=e214]:
-        - generic [ref=e219]:
-          - generic [ref=e220] [cursor=pointer]: 鍒嗘瀽椤�
-          - generic [ref=e238] [cursor=pointer]: 鎷涙爣璇︽儏
-        - button [ref=e254] [cursor=pointer]
-    - main [ref=e272]:
-      - generic [ref=e275]:
-        - generic [ref=e276]:
-          - button [ref=e277] [cursor=pointer]
-          - generic [ref=e280]: 娴嬭瘯椤圭洰
-          - generic [ref=e281]: 娴嬭瘯缂栧彿
-          - generic [ref=e282]: 璇勬爣涓�
-          - generic [ref=e283]: 鍏紑鎷涙爣
-          - button "鍒锋柊" [ref=e284] [cursor=pointer]
-        - generic [ref=e290]:
-          - generic:
-            - generic "鑽夌"
-            - generic "鍙戝竷"
-            - generic "鎶曟爣涓�"
-            - generic "璇勬爣涓�"
-            - generic "宸插畾鏍�"
-          - generic [ref=e291]:
-            - generic [ref=e292]:
-              - generic [ref=e293]: 棰勭畻閲戦
-              - generic [ref=e294]: 15,000 鍏�
-            - generic [ref=e295]:
-              - generic [ref=e296]: 璐熻矗浜�
-              - generic [ref=e297]: "-"
-            - generic [ref=e298]:
-              - generic [ref=e299]: 閲囪喘缁勭粐
-              - generic [ref=e300]: "-"
-            - generic [ref=e301]:
-              - generic [ref=e302]: 寮�鏍囨椂闂�
-              - generic [ref=e303]: 2026-07-29 11:20:11
-            - generic [ref=e304]:
-              - generic [ref=e305]: 寮�濮嬫椂闂�
-              - generic [ref=e306]: 2026-07-29 11:13:02
-            - generic [ref=e307]:
-              - generic [ref=e308]: 鎴鏃堕棿
-              - generic [ref=e309]: 2026-07-29 19:13:06
-        - generic [ref=e313]:
-          - tablist [ref=e314]:
-            - generic [ref=e316]:
-              - tab [ref=e318] [cursor=pointer]
-              - tab [ref=e323] [cursor=pointer]
-              - tab [ref=e328] [cursor=pointer]
-              - tab [ref=e333] [cursor=pointer]
-              - tab [ref=e338] [cursor=pointer]
-              - tab [active] [selected] [ref=e343] [cursor=pointer]
-          - tabpanel "瀹氭爣" [ref=e404]:
-            - generic [ref=e405]:
-              - generic "灏氭湭瀹氭爣"
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-07-29T06-43-35-225Z.yml b/.playwright-mcp/page-2026-07-29T06-43-35-225Z.yml
deleted file mode 100644
index 0dd6375..0000000
--- a/.playwright-mcp/page-2026-07-29T06-43-35-225Z.yml
+++ /dev/null
@@ -1,112 +0,0 @@
-- generic [ref=e7]:
-  - complementary [ref=e8]:
-    - generic [ref=e9]:
-      - link "宸ュ巶鏁板瓧鍖朚OM绯荤粺 宸ュ巶鏁板瓧鍖朚OM绯荤粺" [ref=e15] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ュ巶鏁板瓧鍖朚OM绯荤粺" [ref=e18]
-        - generic [ref=e19]: 宸ュ巶鏁板瓧鍖朚OM绯荤粺
-      - menu [ref=e22]:
-        - listitem [ref=e23]:
-          - generic [ref=e24] [cursor=pointer]: 姒傝
-        - listitem [ref=e34]:
-          - generic [ref=e35] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=e43]:
-          - generic [ref=e44] [cursor=pointer]: 閲囪喘绠$悊
-        - listitem [ref=e50]:
-          - generic [ref=e51] [cursor=pointer]: 钀ラ攢绠$悊
-        - listitem [ref=e57]:
-          - generic [ref=e58] [cursor=pointer]: 璁惧绠$悊
-        - listitem [ref=e65]:
-          - generic [ref=e66] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=e74]:
-          - generic [ref=e75] [cursor=pointer]: 鐢熶骇绠℃帶
-        - listitem [ref=e82]:
-          - generic [ref=e83] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=e89]:
-          - generic [ref=e90] [cursor=pointer]: 鍗忓悓鍔炲叕
-        - listitem [ref=e96]:
-          - generic [ref=e97] [cursor=pointer]: 浜哄姏璧勬簮
-        - listitem [ref=e103]:
-          - generic [ref=e104] [cursor=pointer]: 鍩虹璁炬柦
-        - listitem [ref=e110]:
-          - generic [ref=e111] [cursor=pointer]: 绯荤粺绠$悊
-        - listitem [ref=e117]:
-          - generic [ref=e118] [cursor=pointer]: IM 鍗虫椂閫氳
-  - generic [ref=e131]:
-    - generic [ref=e132]:
-      - banner [ref=e133]:
-        - button [ref=e134] [cursor=pointer]
-        - button [ref=e137] [cursor=pointer]
-        - navigation "breadcrumb" [ref=e142]:
-          - list [ref=e143]:
-            - listitem [ref=e144]:
-              - link [ref=e145] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=e152]
-            - listitem [ref=e155]:
-              - link "鎷涙爣璇︽儏" [disabled] [ref=e156]
-        - generic [ref=e159]:
-          - generic [ref=e161] [cursor=pointer]:
-            - generic [ref=e165]: 鎼滅储
-            - generic [ref=e166]: Ctrl K
-          - button [ref=e168] [cursor=pointer]
-          - button "dark" [ref=e173] [cursor=pointer]
-          - button [ref=e182] [cursor=pointer]
-          - button [ref=e188] [cursor=pointer]
-          - button [ref=e191] [cursor=pointer]
-          - button [ref=e197] [cursor=pointer]:
-            - button [ref=e199]
-          - button "宸ヤ綔鍙�" [ref=e203] [cursor=pointer]
-          - button "婧愮爜" [ref=e207] [cursor=pointer]
-      - generic [ref=e214]:
-        - generic [ref=e219]:
-          - generic [ref=e220] [cursor=pointer]: 鍒嗘瀽椤�
-          - generic [ref=e238] [cursor=pointer]: 鎷涙爣璇︽儏
-        - button [ref=e254] [cursor=pointer]
-    - main [ref=e272]:
-      - generic [ref=e275]:
-        - generic [ref=e276]:
-          - button [ref=e277] [cursor=pointer]
-          - generic [ref=e280]: 娴嬭瘯椤圭洰
-          - generic [ref=e281]: 娴嬭瘯缂栧彿
-          - generic [ref=e282]: 璇勬爣涓�
-          - generic [ref=e283]: 鍏紑鎷涙爣
-          - button "鍒锋柊" [ref=e284] [cursor=pointer]
-        - generic [ref=e290]:
-          - generic:
-            - generic "鑽夌"
-            - generic "鍙戝竷"
-            - generic "鎶曟爣涓�"
-            - generic "璇勬爣涓�"
-            - generic "宸插畾鏍�"
-          - generic [ref=e291]:
-            - generic [ref=e292]:
-              - generic [ref=e293]: 棰勭畻閲戦
-              - generic [ref=e294]: 15,000 鍏�
-            - generic [ref=e295]:
-              - generic [ref=e296]: 璐熻矗浜�
-              - generic [ref=e297]: "-"
-            - generic [ref=e298]:
-              - generic [ref=e299]: 閲囪喘缁勭粐
-              - generic [ref=e300]: "-"
-            - generic [ref=e301]:
-              - generic [ref=e302]: 寮�鏍囨椂闂�
-              - generic [ref=e303]: 2026-07-29 11:20:11
-            - generic [ref=e304]:
-              - generic [ref=e305]: 寮�濮嬫椂闂�
-              - generic [ref=e306]: 2026-07-29 11:13:02
-            - generic [ref=e307]:
-              - generic [ref=e308]: 鎴鏃堕棿
-              - generic [ref=e309]: 2026-07-29 19:13:06
-        - generic [ref=e313]:
-          - tablist [ref=e314]:
-            - generic [ref=e316]:
-              - tab [ref=e318] [cursor=pointer]
-              - tab [ref=e323] [cursor=pointer]
-              - tab [ref=e328] [cursor=pointer]
-              - tab [active] [selected] [ref=e333] [cursor=pointer]
-              - tab [ref=e338] [cursor=pointer]
-              - tab [ref=e343] [cursor=pointer]
-          - tabpanel "寮�鏍�" [ref=e406]:
-            - generic [ref=e407]:
-              - generic "灏氭湭寮�鏍�"
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-07-29T06-47-24-223Z.yml b/.playwright-mcp/page-2026-07-29T06-47-24-223Z.yml
deleted file mode 100644
index 987bb5e..0000000
--- a/.playwright-mcp/page-2026-07-29T06-47-24-223Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ュ巶鏁板瓧鍖朚OM绯荤粺
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-07-29T06-47-38-983Z.yml b/.playwright-mcp/page-2026-07-29T06-47-38-983Z.yml
deleted file mode 100644
index 75b64e4..0000000
--- a/.playwright-mcp/page-2026-07-29T06-47-38-983Z.yml
+++ /dev/null
@@ -1,113 +0,0 @@
-- generic [ref=f1e7]:
-  - complementary [ref=f1e8]:
-    - generic [ref=f1e9]:
-      - link "宸ュ巶鏁板瓧鍖朚OM绯荤粺 宸ュ巶鏁板瓧鍖朚OM绯荤粺" [ref=f1e15] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ュ巶鏁板瓧鍖朚OM绯荤粺" [ref=f1e18]
-        - generic [ref=f1e19]: 宸ュ巶鏁板瓧鍖朚OM绯荤粺
-      - menu [ref=f1e22]:
-        - listitem [ref=f1e23]:
-          - generic [ref=f1e24] [cursor=pointer]: 姒傝
-        - listitem [ref=f1e34]:
-          - generic [ref=f1e35] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=f1e43]:
-          - generic [ref=f1e44] [cursor=pointer]: 閲囪喘绠$悊
-        - listitem [ref=f1e50]:
-          - generic [ref=f1e51] [cursor=pointer]: 钀ラ攢绠$悊
-        - listitem [ref=f1e57]:
-          - generic [ref=f1e58] [cursor=pointer]: 璁惧绠$悊
-        - listitem [ref=f1e65]:
-          - generic [ref=f1e66] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=f1e74]:
-          - generic [ref=f1e75] [cursor=pointer]: 鐢熶骇绠℃帶
-        - listitem [ref=f1e82]:
-          - generic [ref=f1e83] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=f1e89]:
-          - generic [ref=f1e90] [cursor=pointer]: 鍗忓悓鍔炲叕
-        - listitem [ref=f1e96]:
-          - generic [ref=f1e97] [cursor=pointer]: 浜哄姏璧勬簮
-        - listitem [ref=f1e103]:
-          - generic [ref=f1e104] [cursor=pointer]: 鍩虹璁炬柦
-        - listitem [ref=f1e110]:
-          - generic [ref=f1e111] [cursor=pointer]: 绯荤粺绠$悊
-        - listitem [ref=f1e117]:
-          - generic [ref=f1e118] [cursor=pointer]: IM 鍗虫椂閫氳
-  - generic [ref=f1e131]:
-    - generic [ref=f1e132]:
-      - banner [ref=f1e133]:
-        - button [ref=f1e134] [cursor=pointer]
-        - button [ref=f1e137] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f1e142]:
-          - list [ref=f1e143]:
-            - listitem [ref=f1e144]:
-              - link [ref=f1e145] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=f1e152]
-            - listitem [ref=f1e155]:
-              - link "鎷涙爣璇︽儏" [disabled] [ref=f1e156]
-        - generic [ref=f1e159]:
-          - generic [ref=f1e161] [cursor=pointer]:
-            - generic [ref=f1e165]: 鎼滅储
-            - generic [ref=f1e166]: Ctrl K
-          - button [ref=f1e168] [cursor=pointer]
-          - button "dark" [ref=f1e173] [cursor=pointer]
-          - button [ref=f1e182] [cursor=pointer]
-          - button [ref=f1e188] [cursor=pointer]
-          - button [ref=f1e191] [cursor=pointer]
-          - button [ref=f1e197] [cursor=pointer]:
-            - button [ref=f1e199]
-          - button "宸ヤ綔鍙�" [ref=f1e203] [cursor=pointer]
-          - button "婧愮爜" [ref=f1e207] [cursor=pointer]
-      - generic [ref=f1e214]:
-        - generic [ref=f1e219]:
-          - generic [ref=f1e220] [cursor=pointer]: 鍒嗘瀽椤�
-          - generic [ref=f1e238] [cursor=pointer]: 鎷涙爣璇︽儏
-        - button [ref=f1e254] [cursor=pointer]
-    - main [ref=f1e272]:
-      - generic [ref=f1e275]:
-        - generic [ref=f1e276]:
-          - button [ref=f1e277] [cursor=pointer]
-          - generic [ref=f1e280]: 娴嬭瘯椤圭洰
-          - generic [ref=f1e281]: 娴嬭瘯缂栧彿
-          - generic [ref=f1e282]: 璇勬爣涓�
-          - generic [ref=f1e283]: 鍏紑鎷涙爣
-          - button "鍒锋柊" [ref=f1e284] [cursor=pointer]
-        - generic [ref=f1e290]:
-          - generic:
-            - generic "鑽夌"
-            - generic "鍙戝竷"
-            - generic "鎶曟爣涓�"
-            - generic "璇勬爣涓�"
-            - generic "宸插畾鏍�"
-          - generic [ref=f1e291]:
-            - generic [ref=f1e292]:
-              - generic [ref=f1e293]: 棰勭畻閲戦
-              - generic [ref=f1e294]: 15,000 鍏�
-            - generic [ref=f1e295]:
-              - generic [ref=f1e296]: 璐熻矗浜�
-              - generic [ref=f1e297]: "-"
-            - generic [ref=f1e298]:
-              - generic [ref=f1e299]: 閲囪喘缁勭粐
-              - generic [ref=f1e300]: "-"
-            - generic [ref=f1e301]:
-              - generic [ref=f1e302]: 寮�鏍囨椂闂�
-              - generic [ref=f1e303]: 2026-07-29 11:20:11
-            - generic [ref=f1e304]:
-              - generic [ref=f1e305]: 寮�濮嬫椂闂�
-              - generic [ref=f1e306]: 2026-07-29 11:13:02
-            - generic [ref=f1e307]:
-              - generic [ref=f1e308]: 鎴鏃堕棿
-              - generic [ref=f1e309]: 2026-07-29 19:13:06
-        - generic [ref=f1e313]:
-          - tablist [ref=f1e314]:
-            - generic [ref=f1e316]:
-              - tab [ref=f1e318] [cursor=pointer]
-              - tab [ref=f1e323] [cursor=pointer]
-              - tab [ref=f1e328] [cursor=pointer]
-              - tab [ref=f1e333] [cursor=pointer]
-              - tab [ref=f1e338] [cursor=pointer]
-              - tab [active] [selected] [ref=f1e343] [cursor=pointer]
-          - tabpanel "瀹氭爣" [ref=f1e404]:
-            - generic [ref=f1e405]:
-              - generic "灏氭湭瀹氭爣"
-              - button "鍒涘缓瀹氭爣" [ref=f1e406] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-07-29T06-47-57-125Z.yml b/.playwright-mcp/page-2026-07-29T06-47-57-125Z.yml
deleted file mode 100644
index 3bbcfe5..0000000
--- a/.playwright-mcp/page-2026-07-29T06-47-57-125Z.yml
+++ /dev/null
@@ -1,152 +0,0 @@
-- generic [ref=f1e4]:
-  - generic [ref=f1e7]:
-    - complementary [ref=f1e8]:
-      - generic [ref=f1e9]:
-        - link "宸ュ巶鏁板瓧鍖朚OM绯荤粺 宸ュ巶鏁板瓧鍖朚OM绯荤粺" [ref=f1e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ュ巶鏁板瓧鍖朚OM绯荤粺" [ref=f1e18]
-          - generic [ref=f1e19]: 宸ュ巶鏁板瓧鍖朚OM绯荤粺
-        - menu [ref=f1e22]:
-          - listitem [ref=f1e23]:
-            - generic [ref=f1e24] [cursor=pointer]: 姒傝
-          - listitem [ref=f1e34]:
-            - generic [ref=f1e35] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f1e43]:
-            - generic [ref=f1e44] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=f1e50]:
-            - generic [ref=f1e51] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=f1e57]:
-            - generic [ref=f1e58] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=f1e65]:
-            - generic [ref=f1e66] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f1e74]:
-            - generic [ref=f1e75] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=f1e82]:
-            - generic [ref=f1e83] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f1e89]:
-            - generic [ref=f1e90] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=f1e96]:
-            - generic [ref=f1e97] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=f1e103]:
-            - generic [ref=f1e104] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=f1e110]:
-            - generic [ref=f1e111] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=f1e117]:
-            - generic [ref=f1e118] [cursor=pointer]: IM 鍗虫椂閫氳
-    - generic [ref=f1e131]:
-      - generic [ref=f1e132]:
-        - banner [ref=f1e133]:
-          - button [ref=f1e134] [cursor=pointer]
-          - button [ref=f1e137] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f1e142]:
-            - list [ref=f1e143]:
-              - listitem [ref=f1e144]:
-                - link [ref=f1e145] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f1e152]
-              - listitem [ref=f1e155]:
-                - link "鎷涙爣璇︽儏" [disabled] [ref=f1e156]
-          - generic [ref=f1e159]:
-            - generic [ref=f1e161] [cursor=pointer]:
-              - generic [ref=f1e165]: 鎼滅储
-              - generic [ref=f1e166]: Ctrl K
-            - button [ref=f1e168] [cursor=pointer]
-            - button "dark" [ref=f1e173] [cursor=pointer]
-            - button [ref=f1e182] [cursor=pointer]
-            - button [ref=f1e188] [cursor=pointer]
-            - button [ref=f1e191] [cursor=pointer]
-            - button [ref=f1e197] [cursor=pointer]:
-              - button [ref=f1e199]
-            - button "宸ヤ綔鍙�" [ref=f1e203] [cursor=pointer]
-            - button "婧愮爜" [ref=f1e207] [cursor=pointer]
-        - generic [ref=f1e214]:
-          - generic [ref=f1e219]:
-            - generic [ref=f1e220] [cursor=pointer]: 鍒嗘瀽椤�
-            - generic [ref=f1e238] [cursor=pointer]: 鎷涙爣璇︽儏
-          - button [ref=f1e254] [cursor=pointer]
-      - main [ref=f1e272]:
-        - generic [ref=f1e275]:
-          - generic [ref=f1e276]:
-            - button [ref=f1e277] [cursor=pointer]
-            - generic [ref=f1e280]: 娴嬭瘯椤圭洰
-            - generic [ref=f1e281]: 娴嬭瘯缂栧彿
-            - generic [ref=f1e282]: 璇勬爣涓�
-            - generic [ref=f1e283]: 鍏紑鎷涙爣
-            - button "鍒锋柊" [ref=f1e284] [cursor=pointer]
-          - generic [ref=f1e290]:
-            - generic:
-              - generic "鑽夌"
-              - generic "鍙戝竷"
-              - generic "鎶曟爣涓�"
-              - generic "璇勬爣涓�"
-              - generic "宸插畾鏍�"
-            - generic [ref=f1e291]:
-              - generic [ref=f1e292]:
-                - generic [ref=f1e293]: 棰勭畻閲戦
-                - generic [ref=f1e294]: 15,000 鍏�
-              - generic [ref=f1e295]:
-                - generic [ref=f1e296]: 璐熻矗浜�
-                - generic [ref=f1e297]: "-"
-              - generic [ref=f1e298]:
-                - generic [ref=f1e299]: 閲囪喘缁勭粐
-                - generic [ref=f1e300]: "-"
-              - generic [ref=f1e301]:
-                - generic [ref=f1e302]: 寮�鏍囨椂闂�
-                - generic [ref=f1e303]: 2026-07-29 11:20:11
-              - generic [ref=f1e304]:
-                - generic [ref=f1e305]: 寮�濮嬫椂闂�
-                - generic [ref=f1e306]: 2026-07-29 11:13:02
-              - generic [ref=f1e307]:
-                - generic [ref=f1e308]: 鎴鏃堕棿
-                - generic [ref=f1e309]: 2026-07-29 19:13:06
-          - generic [ref=f1e313]:
-            - tablist [ref=f1e314]:
-              - generic [ref=f1e316]:
-                - tab [ref=f1e318] [cursor=pointer]
-                - tab [ref=f1e323] [cursor=pointer]
-                - tab [ref=f1e328] [cursor=pointer]
-                - tab [ref=f1e333] [cursor=pointer]
-                - tab [ref=f1e338] [cursor=pointer]
-                - tab [selected] [ref=f1e343] [cursor=pointer]
-            - tabpanel "瀹氭爣" [ref=f1e404]:
-              - generic [ref=f1e405]:
-                - generic "灏氭湭瀹氭爣"
-                - button "鍒涘缓瀹氭爣" [active] [ref=f1e406] [cursor=pointer]
-  - dialog "鍒涘缓瀹氭爣" [ref=f1e412]:
-    - document:
-      - generic [ref=f1e413]:
-        - button "Close" [ref=f1e414] [cursor=pointer]:
-          - img "close" [ref=f1e416]
-        - generic [ref=f1e419]: 鍒涘缓瀹氭爣
-        - generic [ref=f1e422]:
-          - generic [ref=f1e424]:
-            - generic "瀹氭爣缂栧彿" [ref=f1e426]: "* 瀹氭爣缂栧彿"
-            - textbox "濡� AWARD2024010001" [ref=f1e430]
-          - generic [ref=f1e431]:
-            - generic [ref=f1e434]:
-              - generic "渚涘簲鍟�" [ref=f1e436]: "* 渚涘簲鍟�"
-              - generic [ref=f1e441]:
-                - combobox [ref=f1e443]
-                - generic "0" [ref=f1e444]
-            - generic [ref=f1e447]:
-              - generic "鎶曟爣" [ref=f1e449]: "* 鎶曟爣"
-              - generic [ref=f1e454]:
-                - combobox [ref=f1e456]
-                - generic "0" [ref=f1e457]
-          - generic [ref=f1e459]:
-            - generic "瀹氭爣閲戦" [ref=f1e461]: "* 瀹氭爣閲戦"
-            - generic [ref=f1e466]:
-              - generic [ref=f1e467]:
-                - generic [ref=f1e468]:
-                  - button "Increase Value" [ref=f1e469] [cursor=pointer]:
-                    - img "up" [ref=f1e470]
-                  - button "Decrease Value" [ref=f1e473] [cursor=pointer]:
-                    - img "down" [ref=f1e474]
-                - spinbutton "瀹氭爣閲戦" [ref=f1e478]
-              - generic [ref=f1e479]: 鍏�
-          - generic [ref=f1e481]:
-            - generic "澶囨敞" [ref=f1e483]
-            - textbox "濡傦細缁煎悎璇勬爣绗竴鍚�" [ref=f1e487]
-        - generic [ref=f1e488]:
-          - button "鍙� 娑�" [ref=f1e489] [cursor=pointer]
-          - button "纭� 瀹�" [ref=f1e491] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-07-29T06-51-00-932Z.yml b/.playwright-mcp/page-2026-07-29T06-51-00-932Z.yml
deleted file mode 100644
index f4d9f7c..0000000
--- a/.playwright-mcp/page-2026-07-29T06-51-00-932Z.yml
+++ /dev/null
@@ -1,152 +0,0 @@
-- generic [ref=f1e4]:
-  - generic [ref=f1e7]:
-    - complementary [ref=f1e8]:
-      - generic [ref=f1e9]:
-        - link "宸ュ巶鏁板瓧鍖朚OM绯荤粺 宸ュ巶鏁板瓧鍖朚OM绯荤粺" [ref=f1e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ュ巶鏁板瓧鍖朚OM绯荤粺" [ref=f1e18]
-          - generic [ref=f1e19]: 宸ュ巶鏁板瓧鍖朚OM绯荤粺
-        - menu [ref=f1e22]:
-          - listitem [ref=f1e23]:
-            - generic [ref=f1e24] [cursor=pointer]: 姒傝
-          - listitem [ref=f1e34]:
-            - generic [ref=f1e35] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f1e43]:
-            - generic [ref=f1e44] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=f1e50]:
-            - generic [ref=f1e51] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=f1e57]:
-            - generic [ref=f1e58] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=f1e65]:
-            - generic [ref=f1e66] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f1e74]:
-            - generic [ref=f1e75] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=f1e82]:
-            - generic [ref=f1e83] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f1e89]:
-            - generic [ref=f1e90] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=f1e96]:
-            - generic [ref=f1e97] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=f1e103]:
-            - generic [ref=f1e104] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=f1e110]:
-            - generic [ref=f1e111] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=f1e117]:
-            - generic [ref=f1e118] [cursor=pointer]: IM 鍗虫椂閫氳
-    - generic [ref=f1e131]:
-      - generic [ref=f1e132]:
-        - banner [ref=f1e133]:
-          - button [ref=f1e134] [cursor=pointer]
-          - button [ref=f1e137] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f1e142]:
-            - list [ref=f1e143]:
-              - listitem [ref=f1e144]:
-                - link [ref=f1e145] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f1e152]
-              - listitem [ref=f1e155]:
-                - link "鎷涙爣璇︽儏" [disabled] [ref=f1e156]
-          - generic [ref=f1e159]:
-            - generic [ref=f1e161] [cursor=pointer]:
-              - generic [ref=f1e165]: 鎼滅储
-              - generic [ref=f1e166]: Ctrl K
-            - button [ref=f1e168] [cursor=pointer]
-            - button "dark" [ref=f1e173] [cursor=pointer]
-            - button [ref=f1e182] [cursor=pointer]
-            - button [ref=f1e188] [cursor=pointer]
-            - button [ref=f1e191] [cursor=pointer]
-            - button [ref=f1e197] [cursor=pointer]:
-              - button [ref=f1e199]
-            - button "宸ヤ綔鍙�" [ref=f1e203] [cursor=pointer]
-            - button "婧愮爜" [ref=f1e207] [cursor=pointer]
-        - generic [ref=f1e214]:
-          - generic [ref=f1e219]:
-            - generic [ref=f1e220] [cursor=pointer]: 鍒嗘瀽椤�
-            - generic [ref=f1e238] [cursor=pointer]: 鎷涙爣璇︽儏
-          - button [ref=f1e254] [cursor=pointer]
-      - main [ref=f1e272]:
-        - generic [ref=f1e275]:
-          - generic [ref=f1e276]:
-            - button [ref=f1e277] [cursor=pointer]
-            - generic [ref=f1e280]: 娴嬭瘯椤圭洰
-            - generic [ref=f1e281]: 娴嬭瘯缂栧彿
-            - generic [ref=f1e282]: 璇勬爣涓�
-            - generic [ref=f1e283]: 鍏紑鎷涙爣
-            - button "鍒锋柊" [ref=f1e284] [cursor=pointer]
-          - generic [ref=f1e290]:
-            - generic:
-              - generic "鑽夌"
-              - generic "鍙戝竷"
-              - generic "鎶曟爣涓�"
-              - generic "璇勬爣涓�"
-              - generic "宸插畾鏍�"
-            - generic [ref=f1e291]:
-              - generic [ref=f1e292]:
-                - generic [ref=f1e293]: 棰勭畻閲戦
-                - generic [ref=f1e294]: 15,000 鍏�
-              - generic [ref=f1e295]:
-                - generic [ref=f1e296]: 璐熻矗浜�
-                - generic [ref=f1e297]: "-"
-              - generic [ref=f1e298]:
-                - generic [ref=f1e299]: 閲囪喘缁勭粐
-                - generic [ref=f1e300]: "-"
-              - generic [ref=f1e301]:
-                - generic [ref=f1e302]: 寮�鏍囨椂闂�
-                - generic [ref=f1e303]: 2026-07-29 11:20:11
-              - generic [ref=f1e304]:
-                - generic [ref=f1e305]: 寮�濮嬫椂闂�
-                - generic [ref=f1e306]: 2026-07-29 11:13:02
-              - generic [ref=f1e307]:
-                - generic [ref=f1e308]: 鎴鏃堕棿
-                - generic [ref=f1e309]: 2026-07-29 19:13:06
-          - generic [ref=f1e313]:
-            - tablist [ref=f1e314]:
-              - generic [ref=f1e316]:
-                - tab [ref=f1e318] [cursor=pointer]
-                - tab [ref=f1e323] [cursor=pointer]
-                - tab [ref=f1e328] [cursor=pointer]
-                - tab [ref=f1e333] [cursor=pointer]
-                - tab [ref=f1e338] [cursor=pointer]
-                - tab [selected] [ref=f1e343] [cursor=pointer]
-            - tabpanel "瀹氭爣" [ref=f1e404]:
-              - generic [ref=f1e405]:
-                - generic "灏氭湭瀹氭爣"
-                - button "鍒涘缓瀹氭爣" [ref=f1e406] [cursor=pointer]
-  - dialog "鍒涘缓瀹氭爣" [ref=f1e412]:
-    - document:
-      - generic [ref=f1e413]:
-        - button "Close" [ref=f1e414] [cursor=pointer]:
-          - img "close" [ref=f1e416]
-        - generic [ref=f1e419]: 鍒涘缓瀹氭爣
-        - generic [ref=f1e422]:
-          - generic [ref=f1e424]:
-            - generic "瀹氭爣缂栧彿" [ref=f1e426]: "* 瀹氭爣缂栧彿"
-            - textbox "濡� AWARD2024010001" [ref=f1e430]
-          - generic [ref=f1e431]:
-            - generic [ref=f1e434]:
-              - generic "渚涘簲鍟�" [ref=f1e436]: "* 渚涘簲鍟�"
-              - generic [ref=f1e441]:
-                - combobox [ref=f1e443]
-                - generic "0" [ref=f1e444]
-            - generic [ref=f1e447]:
-              - generic "鎶曟爣" [ref=f1e449]: "* 鎶曟爣"
-              - generic [ref=f1e454]:
-                - combobox [ref=f1e456]
-                - generic "0" [ref=f1e457]
-          - generic [ref=f1e459]:
-            - generic "瀹氭爣閲戦" [ref=f1e461]: "* 瀹氭爣閲戦"
-            - generic [ref=f1e466]:
-              - generic [ref=f1e467]:
-                - generic [ref=f1e468]:
-                  - button "Increase Value" [ref=f1e469] [cursor=pointer]:
-                    - img "up" [ref=f1e470]
-                  - button "Decrease Value" [ref=f1e473] [cursor=pointer]:
-                    - img "down" [ref=f1e474]
-                - spinbutton "瀹氭爣閲戦" [ref=f1e478]
-              - generic [ref=f1e479]: 鍏�
-          - generic [ref=f1e481]:
-            - generic "澶囨敞" [ref=f1e483]
-            - textbox "濡傦細缁煎悎璇勬爣绗竴鍚�" [ref=f1e487]
-        - generic [ref=f1e488]:
-          - button "鍙� 娑�" [ref=f1e489] [cursor=pointer]
-          - button "纭� 瀹�" [ref=f1e491] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-07-29T06-56-04-077Z.yml b/.playwright-mcp/page-2026-07-29T06-56-04-077Z.yml
deleted file mode 100644
index 987bb5e..0000000
--- a/.playwright-mcp/page-2026-07-29T06-56-04-077Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ュ巶鏁板瓧鍖朚OM绯荤粺
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-07-29T06-56-14-335Z.yml b/.playwright-mcp/page-2026-07-29T06-56-14-335Z.yml
deleted file mode 100644
index 090f728..0000000
--- a/.playwright-mcp/page-2026-07-29T06-56-14-335Z.yml
+++ /dev/null
@@ -1,122 +0,0 @@
-- generic [ref=f2e7]:
-  - complementary [ref=f2e8]:
-    - generic [ref=f2e9]:
-      - link "宸ュ巶鏁板瓧鍖朚OM绯荤粺 宸ュ巶鏁板瓧鍖朚OM绯荤粺" [ref=f2e15] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ュ巶鏁板瓧鍖朚OM绯荤粺" [ref=f2e18]
-        - generic [ref=f2e19]: 宸ュ巶鏁板瓧鍖朚OM绯荤粺
-      - menu [ref=f2e22]:
-        - listitem [ref=f2e23]:
-          - generic [ref=f2e24] [cursor=pointer]: 姒傝
-        - listitem [ref=f2e34]:
-          - generic [ref=f2e35] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=f2e43]:
-          - generic [ref=f2e44] [cursor=pointer]: 閲囪喘绠$悊
-        - listitem [ref=f2e50]:
-          - generic [ref=f2e51] [cursor=pointer]: 钀ラ攢绠$悊
-        - listitem [ref=f2e57]:
-          - generic [ref=f2e58] [cursor=pointer]: 璁惧绠$悊
-        - listitem [ref=f2e65]:
-          - generic [ref=f2e66] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=f2e74]:
-          - generic [ref=f2e75] [cursor=pointer]: 鐢熶骇绠℃帶
-        - listitem [ref=f2e82]:
-          - generic [ref=f2e83] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=f2e89]:
-          - generic [ref=f2e90] [cursor=pointer]: 鍗忓悓鍔炲叕
-        - listitem [ref=f2e96]:
-          - generic [ref=f2e97] [cursor=pointer]: 浜哄姏璧勬簮
-        - listitem [ref=f2e103]:
-          - generic [ref=f2e104] [cursor=pointer]: 鍩虹璁炬柦
-        - listitem [ref=f2e110]:
-          - generic [ref=f2e111] [cursor=pointer]: 绯荤粺绠$悊
-        - listitem [ref=f2e117]:
-          - generic [ref=f2e118] [cursor=pointer]: IM 鍗虫椂閫氳
-  - generic [ref=f2e131]:
-    - generic [ref=f2e132]:
-      - banner [ref=f2e133]:
-        - button [ref=f2e134] [cursor=pointer]
-        - button [ref=f2e137] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f2e142]:
-          - list [ref=f2e143]:
-            - listitem [ref=f2e144]:
-              - link [ref=f2e145] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=f2e152]
-            - listitem [ref=f2e155]:
-              - link "鎷涙爣璇︽儏" [disabled] [ref=f2e156]
-        - generic [ref=f2e159]:
-          - generic [ref=f2e161] [cursor=pointer]:
-            - generic [ref=f2e165]: 鎼滅储
-            - generic [ref=f2e166]: Ctrl K
-          - button [ref=f2e168] [cursor=pointer]
-          - button "dark" [ref=f2e173] [cursor=pointer]
-          - button [ref=f2e182] [cursor=pointer]
-          - button [ref=f2e188] [cursor=pointer]
-          - button [ref=f2e191] [cursor=pointer]
-          - button [ref=f2e197] [cursor=pointer]:
-            - button [ref=f2e199]
-          - button "宸ヤ綔鍙�" [ref=f2e203] [cursor=pointer]
-          - button "婧愮爜" [ref=f2e207] [cursor=pointer]
-      - generic [ref=f2e214]:
-        - generic [ref=f2e219]:
-          - generic [ref=f2e220] [cursor=pointer]: 鍒嗘瀽椤�
-          - generic [ref=f2e238] [cursor=pointer]: 鎷涙爣璇︽儏
-        - button [ref=f2e254] [cursor=pointer]
-    - main [ref=f2e272]:
-      - generic [ref=f2e275]:
-        - generic [ref=f2e276]:
-          - button [ref=f2e277] [cursor=pointer]
-          - generic [ref=f2e280]: 娴嬭瘯椤圭洰
-          - generic [ref=f2e281]: 娴嬭瘯缂栧彿
-          - generic [ref=f2e282]: 宸插畾鏍�
-          - generic [ref=f2e283]: 鍏紑鎷涙爣
-          - button "鍒锋柊" [ref=f2e284] [cursor=pointer]
-        - generic [ref=f2e290]:
-          - generic:
-            - generic "鑽夌"
-            - generic "鍙戝竷"
-            - generic "鎶曟爣涓�"
-            - generic "璇勬爣涓�"
-            - generic "宸插畾鏍�"
-          - generic [ref=f2e291]:
-            - generic [ref=f2e292]:
-              - generic [ref=f2e293]: 棰勭畻閲戦
-              - generic [ref=f2e294]: 15,000 鍏�
-            - generic [ref=f2e295]:
-              - generic [ref=f2e296]: 璐熻矗浜�
-              - generic [ref=f2e297]: "-"
-            - generic [ref=f2e298]:
-              - generic [ref=f2e299]: 閲囪喘缁勭粐
-              - generic [ref=f2e300]: "-"
-            - generic [ref=f2e301]:
-              - generic [ref=f2e302]: 寮�鏍囨椂闂�
-              - generic [ref=f2e303]: 2026-07-29 11:20:11
-            - generic [ref=f2e304]:
-              - generic [ref=f2e305]: 寮�濮嬫椂闂�
-              - generic [ref=f2e306]: 2026-07-29 11:13:02
-            - generic [ref=f2e307]:
-              - generic [ref=f2e308]: 鎴鏃堕棿
-              - generic [ref=f2e309]: 2026-07-29 19:13:06
-        - generic [ref=f2e313]:
-          - tablist [ref=f2e314]:
-            - generic [ref=f2e316]:
-              - tab [ref=f2e318] [cursor=pointer]
-              - tab [ref=f2e323] [cursor=pointer]
-              - tab [ref=f2e328] [cursor=pointer]
-              - tab [ref=f2e333] [cursor=pointer]
-              - tab [ref=f2e338] [cursor=pointer]
-              - tab [active] [selected] [ref=f2e343] [cursor=pointer]
-          - tabpanel "瀹氭爣" [ref=f2e350]:
-            - generic [ref=f2e351]:
-              - generic [ref=f2e353]:
-                - generic [ref=f2e354]: 宸插畾琛�
-                - generic [ref=f2e355]: "12"
-                - generic [ref=f2e357]: 10,000 鍏�
-                - text: 2026-07-29 14:52:43
-                - generic [ref=f2e358]: 宸插畾鏍�
-                - text: 寰呯敓鎴愮患鍚堣瘎瀹�
-              - generic [ref=f2e361]:
-                - generic "瀹氭爣瀹屾垚"
-                - button "鐢熸垚閲囪喘璁㈠崟" [ref=f2e362] [cursor=pointer]
-                - button "鍒犻櫎瀹氭爣" [ref=f2e366] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-07-29T07-10-45-745Z.yml b/.playwright-mcp/page-2026-07-29T07-10-45-745Z.yml
deleted file mode 100644
index 987bb5e..0000000
--- a/.playwright-mcp/page-2026-07-29T07-10-45-745Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ュ巶鏁板瓧鍖朚OM绯荤粺
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-07-29T07-12-31-548Z.yml b/.playwright-mcp/page-2026-07-29T07-12-31-548Z.yml
deleted file mode 100644
index 5dde7b1..0000000
--- a/.playwright-mcp/page-2026-07-29T07-12-31-548Z.yml
+++ /dev/null
@@ -1,121 +0,0 @@
-- generic [ref=f3e7]:
-  - complementary [ref=f3e8]:
-    - generic [ref=f3e9]:
-      - link "宸ュ巶鏁板瓧鍖朚OM绯荤粺 宸ュ巶鏁板瓧鍖朚OM绯荤粺" [ref=f3e15] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ュ巶鏁板瓧鍖朚OM绯荤粺" [ref=f3e18]
-        - generic [ref=f3e19]: 宸ュ巶鏁板瓧鍖朚OM绯荤粺
-      - menu [ref=f3e22]:
-        - listitem [ref=f3e23]:
-          - generic [ref=f3e24] [cursor=pointer]: 姒傝
-        - listitem [ref=f3e34]:
-          - generic [ref=f3e35] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=f3e43]:
-          - generic [ref=f3e44] [cursor=pointer]: 閲囪喘绠$悊
-        - listitem [ref=f3e50]:
-          - generic [ref=f3e51] [cursor=pointer]: 钀ラ攢绠$悊
-        - listitem [ref=f3e57]:
-          - generic [ref=f3e58] [cursor=pointer]: 璁惧绠$悊
-        - listitem [ref=f3e65]:
-          - generic [ref=f3e66] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=f3e74]:
-          - generic [ref=f3e75] [cursor=pointer]: 鐢熶骇绠℃帶
-        - listitem [ref=f3e82]:
-          - generic [ref=f3e83] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=f3e89]:
-          - generic [ref=f3e90] [cursor=pointer]: 鍗忓悓鍔炲叕
-        - listitem [ref=f3e96]:
-          - generic [ref=f3e97] [cursor=pointer]: 浜哄姏璧勬簮
-        - listitem [ref=f3e103]:
-          - generic [ref=f3e104] [cursor=pointer]: 鍩虹璁炬柦
-        - listitem [ref=f3e110]:
-          - generic [ref=f3e111] [cursor=pointer]: 绯荤粺绠$悊
-        - listitem [ref=f3e117]:
-          - generic [ref=f3e118] [cursor=pointer]: IM 鍗虫椂閫氳
-  - generic [ref=f3e131]:
-    - generic [ref=f3e132]:
-      - banner [ref=f3e133]:
-        - button [ref=f3e134] [cursor=pointer]
-        - button [ref=f3e137] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f3e142]:
-          - list [ref=f3e143]:
-            - listitem [ref=f3e144]:
-              - link [ref=f3e145] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=f3e152]
-            - listitem [ref=f3e155]:
-              - link "鎷涙爣璇︽儏" [disabled] [ref=f3e156]
-        - generic [ref=f3e159]:
-          - generic [ref=f3e161] [cursor=pointer]:
-            - generic [ref=f3e165]: 鎼滅储
-            - generic [ref=f3e166]: Ctrl K
-          - button [ref=f3e168] [cursor=pointer]
-          - button "dark" [ref=f3e173] [cursor=pointer]
-          - button [ref=f3e182] [cursor=pointer]
-          - button [ref=f3e188] [cursor=pointer]
-          - button [ref=f3e191] [cursor=pointer]
-          - button [ref=f3e197] [cursor=pointer]:
-            - button [ref=f3e199]
-          - button "宸ヤ綔鍙�" [ref=f3e203] [cursor=pointer]
-          - button "婧愮爜" [ref=f3e207] [cursor=pointer]
-      - generic [ref=f3e214]:
-        - generic [ref=f3e219]:
-          - generic [ref=f3e220] [cursor=pointer]: 鍒嗘瀽椤�
-          - generic [ref=f3e238] [cursor=pointer]: 鎷涙爣璇︽儏
-        - button [ref=f3e254] [cursor=pointer]
-    - main [ref=f3e272]:
-      - generic [ref=f3e275]:
-        - generic [ref=f3e276]:
-          - button [ref=f3e277] [cursor=pointer]
-          - generic [ref=f3e280]: 娴嬭瘯椤圭洰
-          - generic [ref=f3e281]: 娴嬭瘯缂栧彿
-          - generic [ref=f3e282]: 宸插畾鏍�
-          - generic [ref=f3e283]: 鍏紑鎷涙爣
-          - button "鍒锋柊" [ref=f3e284] [cursor=pointer]
-        - generic [ref=f3e290]:
-          - generic:
-            - generic "鑽夌"
-            - generic "鍙戝竷"
-            - generic "鎶曟爣涓�"
-            - generic "璇勬爣涓�"
-            - generic "宸插畾鏍�"
-          - generic [ref=f3e291]:
-            - generic [ref=f3e292]:
-              - generic [ref=f3e293]: 棰勭畻閲戦
-              - generic [ref=f3e294]: 15,000 鍏�
-            - generic [ref=f3e295]:
-              - generic [ref=f3e296]: 璐熻矗浜�
-              - generic [ref=f3e297]: "-"
-            - generic [ref=f3e298]:
-              - generic [ref=f3e299]: 閲囪喘缁勭粐
-              - generic [ref=f3e300]: "-"
-            - generic [ref=f3e301]:
-              - generic [ref=f3e302]: 寮�鏍囨椂闂�
-              - generic [ref=f3e303]: 2026-07-29 11:20:11
-            - generic [ref=f3e304]:
-              - generic [ref=f3e305]: 寮�濮嬫椂闂�
-              - generic [ref=f3e306]: 2026-07-29 11:13:02
-            - generic [ref=f3e307]:
-              - generic [ref=f3e308]: 鎴鏃堕棿
-              - generic [ref=f3e309]: 2026-07-29 19:13:06
-        - generic [ref=f3e313]:
-          - tablist [ref=f3e314]:
-            - generic [ref=f3e316]:
-              - tab [ref=f3e318] [cursor=pointer]
-              - tab [ref=f3e323] [cursor=pointer]
-              - tab [ref=f3e328] [cursor=pointer]
-              - tab [ref=f3e333] [cursor=pointer]
-              - tab [ref=f3e338] [cursor=pointer]
-              - tab [active] [selected] [ref=f3e343] [cursor=pointer]
-          - tabpanel "瀹氭爣" [ref=f3e404]:
-            - generic [ref=f3e405]:
-              - generic [ref=f3e407]:
-                - generic [ref=f3e408]: 宸插畾琛�
-                - generic [ref=f3e409]: "12"
-                - generic [ref=f3e411]: 10,000 鍏�
-                - text: 2026-07-29 14:52:43
-                - generic [ref=f3e412]: 宸茬敓鎴愯鍗�
-                - text: 18缁煎悎璇勫畾
-              - generic [ref=f3e415]:
-                - generic "璁㈠崟宸茬敓鎴�"
-                - button "鍒犻櫎瀹氭爣" [ref=f3e416] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-07-29T07-14-24-445Z.yml b/.playwright-mcp/page-2026-07-29T07-14-24-445Z.yml
deleted file mode 100644
index 987bb5e..0000000
--- a/.playwright-mcp/page-2026-07-29T07-14-24-445Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ュ巶鏁板瓧鍖朚OM绯荤粺
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-07-29T07-14-44-587Z.yml b/.playwright-mcp/page-2026-07-29T07-14-44-587Z.yml
deleted file mode 100644
index cff9162..0000000
--- a/.playwright-mcp/page-2026-07-29T07-14-44-587Z.yml
+++ /dev/null
@@ -1,121 +0,0 @@
-- generic [ref=f4e7]:
-  - complementary [ref=f4e8]:
-    - generic [ref=f4e9]:
-      - link "宸ュ巶鏁板瓧鍖朚OM绯荤粺 宸ュ巶鏁板瓧鍖朚OM绯荤粺" [ref=f4e15] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ュ巶鏁板瓧鍖朚OM绯荤粺" [ref=f4e18]
-        - generic [ref=f4e19]: 宸ュ巶鏁板瓧鍖朚OM绯荤粺
-      - menu [ref=f4e22]:
-        - listitem [ref=f4e23]:
-          - generic [ref=f4e24] [cursor=pointer]: 姒傝
-        - listitem [ref=f4e34]:
-          - generic [ref=f4e35] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=f4e43]:
-          - generic [ref=f4e44] [cursor=pointer]: 閲囪喘绠$悊
-        - listitem [ref=f4e50]:
-          - generic [ref=f4e51] [cursor=pointer]: 钀ラ攢绠$悊
-        - listitem [ref=f4e57]:
-          - generic [ref=f4e58] [cursor=pointer]: 璁惧绠$悊
-        - listitem [ref=f4e65]:
-          - generic [ref=f4e66] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=f4e74]:
-          - generic [ref=f4e75] [cursor=pointer]: 鐢熶骇绠℃帶
-        - listitem [ref=f4e82]:
-          - generic [ref=f4e83] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=f4e89]:
-          - generic [ref=f4e90] [cursor=pointer]: 鍗忓悓鍔炲叕
-        - listitem [ref=f4e96]:
-          - generic [ref=f4e97] [cursor=pointer]: 浜哄姏璧勬簮
-        - listitem [ref=f4e103]:
-          - generic [ref=f4e104] [cursor=pointer]: 鍩虹璁炬柦
-        - listitem [ref=f4e110]:
-          - generic [ref=f4e111] [cursor=pointer]: 绯荤粺绠$悊
-        - listitem [ref=f4e117]:
-          - generic [ref=f4e118] [cursor=pointer]: IM 鍗虫椂閫氳
-  - generic [ref=f4e131]:
-    - generic [ref=f4e132]:
-      - banner [ref=f4e133]:
-        - button [ref=f4e134] [cursor=pointer]
-        - button [ref=f4e137] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f4e142]:
-          - list [ref=f4e143]:
-            - listitem [ref=f4e144]:
-              - link [ref=f4e145] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=f4e152]
-            - listitem [ref=f4e155]:
-              - link "鎷涙爣璇︽儏" [disabled] [ref=f4e156]
-        - generic [ref=f4e159]:
-          - generic [ref=f4e161] [cursor=pointer]:
-            - generic [ref=f4e165]: 鎼滅储
-            - generic [ref=f4e166]: Ctrl K
-          - button [ref=f4e168] [cursor=pointer]
-          - button "dark" [ref=f4e173] [cursor=pointer]
-          - button [ref=f4e182] [cursor=pointer]
-          - button [ref=f4e188] [cursor=pointer]
-          - button [ref=f4e191] [cursor=pointer]
-          - button [ref=f4e197] [cursor=pointer]:
-            - button [ref=f4e199]
-          - button "宸ヤ綔鍙�" [ref=f4e203] [cursor=pointer]
-          - button "婧愮爜" [ref=f4e207] [cursor=pointer]
-      - generic [ref=f4e214]:
-        - generic [ref=f4e219]:
-          - generic [ref=f4e220] [cursor=pointer]: 鍒嗘瀽椤�
-          - generic [ref=f4e238] [cursor=pointer]: 鎷涙爣璇︽儏
-        - button [ref=f4e254] [cursor=pointer]
-    - main [ref=f4e272]:
-      - generic [ref=f4e275]:
-        - generic [ref=f4e276]:
-          - button [ref=f4e277] [cursor=pointer]
-          - generic [ref=f4e280]: 娴嬭瘯椤圭洰
-          - generic [ref=f4e281]: 娴嬭瘯缂栧彿
-          - generic [ref=f4e282]: 宸插畾鏍�
-          - generic [ref=f4e283]: 鍏紑鎷涙爣
-          - button "鍒锋柊" [ref=f4e284] [cursor=pointer]
-        - generic [ref=f4e290]:
-          - generic:
-            - generic "鑽夌"
-            - generic "鍙戝竷"
-            - generic "鎶曟爣涓�"
-            - generic "璇勬爣涓�"
-            - generic "宸插畾鏍�"
-          - generic [ref=f4e291]:
-            - generic [ref=f4e292]:
-              - generic [ref=f4e293]: 棰勭畻閲戦
-              - generic [ref=f4e294]: 15,000 鍏�
-            - generic [ref=f4e295]:
-              - generic [ref=f4e296]: 璐熻矗浜�
-              - generic [ref=f4e297]: "-"
-            - generic [ref=f4e298]:
-              - generic [ref=f4e299]: 閲囪喘缁勭粐
-              - generic [ref=f4e300]: "-"
-            - generic [ref=f4e301]:
-              - generic [ref=f4e302]: 寮�鏍囨椂闂�
-              - generic [ref=f4e303]: 2026-07-29 11:20:11
-            - generic [ref=f4e304]:
-              - generic [ref=f4e305]: 寮�濮嬫椂闂�
-              - generic [ref=f4e306]: 2026-07-29 11:13:02
-            - generic [ref=f4e307]:
-              - generic [ref=f4e308]: 鎴鏃堕棿
-              - generic [ref=f4e309]: 2026-07-29 19:13:06
-        - generic [ref=f4e313]:
-          - tablist [ref=f4e314]:
-            - generic [ref=f4e316]:
-              - tab [ref=f4e318] [cursor=pointer]
-              - tab [ref=f4e323] [cursor=pointer]
-              - tab [ref=f4e328] [cursor=pointer]
-              - tab [ref=f4e333] [cursor=pointer]
-              - tab [ref=f4e338] [cursor=pointer]
-              - tab [selected] [ref=f4e343] [cursor=pointer]
-          - tabpanel "瀹氭爣" [active] [ref=f4e404]:
-            - generic [ref=f4e405]:
-              - generic [ref=f4e407]:
-                - generic [ref=f4e408]: AWARD2024070001
-                - generic [ref=f4e409]: "12"
-                - generic [ref=f4e411]: 10,000 鍏�
-                - text: 2026-07-29 14:52:43
-                - generic [ref=f4e412]: 宸茬敓鎴愯鍗�
-                - text: 18缁煎悎璇勫畾
-              - generic [ref=f4e415]:
-                - generic "璁㈠崟宸茬敓鎴�"
-                - button "鍒犻櫎瀹氭爣" [ref=f4e416] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-07-29T07-14-58-476Z.yml b/.playwright-mcp/page-2026-07-29T07-14-58-476Z.yml
deleted file mode 100644
index 987bb5e..0000000
--- a/.playwright-mcp/page-2026-07-29T07-14-58-476Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ュ巶鏁板瓧鍖朚OM绯荤粺
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-03T09-16-38-621Z.yml b/.playwright-mcp/page-2026-08-03T09-16-38-621Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-03T09-16-38-621Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-03T09-20-27-740Z.yml b/.playwright-mcp/page-2026-08-03T09-20-27-740Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-03T09-20-27-740Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-03T09-20-36-226Z.yml b/.playwright-mcp/page-2026-08-03T09-20-36-226Z.yml
deleted file mode 100644
index bbd2f4e..0000000
--- a/.playwright-mcp/page-2026-08-03T09-20-36-226Z.yml
+++ /dev/null
@@ -1,154 +0,0 @@
-- generic [ref=f1e7]:
-  - complementary [ref=f1e8]:
-    - generic [ref=f1e9]:
-      - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e15] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e18]
-        - generic [ref=f1e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-      - menu [ref=f1e22]:
-        - menuitem "棣栭〉" [ref=f1e23] [cursor=pointer]
-        - listitem [ref=f1e30]:
-          - generic [ref=f1e31] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=f1e39]:
-          - generic [ref=f1e40] [cursor=pointer]: 閲囪喘绠$悊
-        - listitem [ref=f1e46]:
-          - generic [ref=f1e47] [cursor=pointer]: 钀ラ攢绠$悊
-        - listitem [ref=f1e53]:
-          - generic [ref=f1e54] [cursor=pointer]: 璁惧绠$悊
-        - listitem [ref=f1e61]:
-          - generic [ref=f1e62] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=f1e70]:
-          - generic [ref=f1e71] [cursor=pointer]: 鐢熶骇绠℃帶
-        - listitem [ref=f1e78]:
-          - generic [ref=f1e79] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=f1e85]:
-          - generic [ref=f1e86] [cursor=pointer]: 鍗忓悓鍔炲叕
-        - listitem [ref=f1e92]:
-          - generic [ref=f1e93] [cursor=pointer]: 浜哄姏璧勬簮
-        - listitem [ref=f1e99]:
-          - generic [ref=f1e100] [cursor=pointer]: 鍞悗绠$悊
-        - listitem [ref=f1e106]:
-          - generic [ref=f1e107] [cursor=pointer]: 鍩虹璁炬柦
-        - listitem [ref=f1e113]:
-          - generic [ref=f1e114] [cursor=pointer]: 绯荤粺绠$悊
-        - listitem [ref=f1e120]:
-          - generic [ref=f1e121] [cursor=pointer]: IM 鍗虫椂閫氳
-  - generic [ref=f1e134]:
-    - generic [ref=f1e135]:
-      - banner [ref=f1e136]:
-        - button [ref=f1e137] [cursor=pointer]
-        - button [ref=f1e140] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f1e145]:
-          - list [ref=f1e146]:
-            - listitem [ref=f1e147]:
-              - link [disabled] [ref=f1e148]
-        - generic [ref=f1e155]:
-          - generic [ref=f1e157] [cursor=pointer]:
-            - generic [ref=f1e161]: 鎼滅储
-            - generic [ref=f1e162]: Ctrl K
-          - button [ref=f1e164] [cursor=pointer]
-          - button "dark" [ref=f1e169] [cursor=pointer]
-          - button [ref=f1e178] [cursor=pointer]
-          - button [ref=f1e184] [cursor=pointer]
-          - button [ref=f1e187] [cursor=pointer]
-          - button [ref=f1e193] [cursor=pointer]:
-            - button [ref=f1e195]
-          - button "宸ヤ綔鍙�" [ref=f1e199] [cursor=pointer]
-          - button [ref=f1e203] [cursor=pointer]:
-            - img "瓒呯骇绠$悊鍛�" [ref=f1e208]
-      - generic [ref=f1e210]:
-        - generic [ref=f1e211]: 棣栭〉
-        - button [ref=f1e233] [cursor=pointer]
-    - main [ref=f1e251]:
-      - generic [ref=f1e254]:
-        - generic [ref=f1e255]:
-          - generic [ref=f1e256]:
-            - heading "涓嬪崍濂斤紝娆㈣繋鍥炴潵" [level=1] [ref=f1e257]
-            - paragraph [ref=f1e258]: 2026骞�8鏈�3鏃� 鏄熸湡涓�
-          - generic [ref=f1e259]: 绯荤粺杩愯涓�
-        - generic [ref=f1e264]:
-          - generic [ref=f1e273] [cursor=pointer]:
-            - generic [ref=f1e274]: 鐢熶骇璁㈠崟
-            - generic [ref=f1e275]:
-              - generic [ref=f1e276]: "25"
-              - generic [ref=f1e278]: 杩涜涓�
-            - generic [ref=f1e279]:
-              - text: 寰呮帓浜� 15
-              - generic [ref=f1e281]: "|"
-              - text: 宸插畬鎴� 5
-          - generic [ref=f1e293] [cursor=pointer]:
-            - generic [ref=f1e294]: 浠婃棩浜ч噺
-            - generic [ref=f1e295]:
-              - generic [ref=f1e296]: "0"
-              - generic [ref=f1e298]: 浠�
-            - generic [ref=f1e299]: 鏄ㄦ棩 0 浠�
-          - generic [ref=f1e310] [cursor=pointer]:
-            - generic [ref=f1e311]: 璐ㄩ噺鍚堟牸鐜�
-            - generic [ref=f1e312]:
-              - generic [ref=f1e313]: "0.0"
-              - generic [ref=f1e315]: "%"
-            - generic [ref=f1e316]: 鍚堟牸 0 | 涓嶈壇 0
-          - generic [ref=f1e328] [cursor=pointer]:
-            - generic [ref=f1e329]: 璁惧杩愯鐜�
-            - generic [ref=f1e330]:
-              - generic [ref=f1e331]: "100.0"
-              - generic [ref=f1e333]: "%"
-            - generic [ref=f1e334]:
-              - generic [ref=f1e335]: 鍋滄満 0
-              - generic [ref=f1e336]: "|"
-              - generic [ref=f1e337]: 缁存姢 0
-        - generic [ref=f1e340]:
-          - generic [ref=f1e350] [cursor=pointer]:
-            - generic [ref=f1e351]: 閲囪喘璁㈠崟
-            - generic [ref=f1e352]:
-              - generic [ref=f1e353]: "14"
-              - generic [ref=f1e355]: 绗�
-            - generic [ref=f1e356]: ERP 閲囪喘绠$悊
-          - generic [ref=f1e367] [cursor=pointer]:
-            - generic [ref=f1e368]: 閿�鍞鍗�
-            - generic [ref=f1e369]:
-              - generic [ref=f1e370]: "22"
-              - generic [ref=f1e372]: 绗�
-            - generic [ref=f1e373]: ERP 閿�鍞鐞�
-          - generic [ref=f1e385] [cursor=pointer]:
-            - generic [ref=f1e386]: 鐗╂枡搴撳瓨
-            - generic [ref=f1e387]:
-              - generic [ref=f1e388]: "13"
-              - generic [ref=f1e390]: 鏉�
-            - generic [ref=f1e391]: MES 搴撳瓨鍙拌处
-          - generic [ref=f1e403] [cursor=pointer]:
-            - generic [ref=f1e404]: 鎴戠殑寰呭姙
-            - generic [ref=f1e405]:
-              - generic [ref=f1e406]: "1"
-              - generic [ref=f1e408]: 椤�
-            - generic [ref=f1e409]: BPM 寰呭鎵�
-        - generic [ref=f1e413]:
-          - heading "AI 鏅鸿兘鍒嗘瀽" [level=3] [ref=f1e414]
-          - generic [ref=f1e415]: 25 涓伐鍗曞彲鍒嗘瀽
-        - generic [ref=f1e416]:
-          - heading "鐢熶骇瓒嬪娍锛堣繎7澶╋級" [level=3] [ref=f1e419]
-          - generic [ref=f1e424]:
-            - generic [ref=f1e425]:
-              - generic [ref=f1e431] [cursor=pointer]:
-                - generic [ref=f1e432]: 瀹夌伅鍛煎彨
-                - generic [ref=f1e433]:
-                  - generic [ref=f1e434]: "0"
-                  - generic [ref=f1e436]: 鏈缃�
-              - generic [ref=f1e442] [cursor=pointer]:
-                - generic [ref=f1e443]: 缁翠慨宸ュ崟
-                - generic [ref=f1e444]:
-                  - generic [ref=f1e445]: "0"
-                  - generic [ref=f1e447]: 寰呭鐞�
-            - heading "宸ュ崟鐘舵�佸垎甯�" [level=4] [ref=f1e449]
-        - generic [ref=f1e457]:
-          - heading "蹇嵎鎿嶄綔" [level=3] [ref=f1e458]
-          - generic [ref=f1e459]:
-            - generic [ref=f1e460] [cursor=pointer]: 鐢熶骇宸ュ崟
-            - generic [ref=f1e463] [cursor=pointer]: 鐢熶骇鎶ュ伐
-            - generic [ref=f1e466] [cursor=pointer]: 璐ㄦ绠$悊
-            - generic [ref=f1e469] [cursor=pointer]: 璁惧鐐规
-            - generic [ref=f1e472] [cursor=pointer]: 鐢熶骇鎺掔▼
-            - generic [ref=f1e475] [cursor=pointer]: 瀹夌伅鍛煎彨
-            - generic [ref=f1e478] [cursor=pointer]: 鐗╂枡搴撳瓨
-            - generic [ref=f1e481] [cursor=pointer]: 宸ヨ壓璺嚎
-            - generic [ref=f1e484] [cursor=pointer]: 鏁版嵁鎶ヨ〃
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-03T09-22-30-620Z.yml b/.playwright-mcp/page-2026-08-03T09-22-30-620Z.yml
deleted file mode 100644
index a7a7ba4..0000000
--- a/.playwright-mcp/page-2026-08-03T09-22-30-620Z.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-- generic [ref=f2e3]:
-  - generic [ref=f2e6]:
-    - heading "鏃犳硶璁块棶姝ょ綉绔�" [level=1] [ref=f2e7]
-    - paragraph [ref=f2e8]:
-      - strong [ref=f2e9]: localhost
-      - text: 鎷掔粷浜嗘垜浠殑杩炴帴璇锋眰銆�
-    - generic [ref=f2e10]:
-      - paragraph [ref=f2e11]: 璇疯瘯璇曚互涓嬪姙娉曪細
-      - list [ref=f2e12]:
-        - listitem [ref=f2e13]: 妫�鏌ョ綉缁滆繛鎺�
-        - listitem [ref=f2e14]:
-          - link "妫�鏌ヤ唬鐞嗘湇鍔″櫒鍜岄槻鐏" [ref=f2e15] [cursor=pointer]:
-            - /url: "#buttons"
-    - generic [ref=f2e16]: ERR_CONNECTION_REFUSED
-  - generic [ref=f2e17]:
-    - button "閲嶆柊鍔犺浇" [ref=f2e19] [cursor=pointer]
-    - button "璇︽儏" [ref=f2e20] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-03T09-22-42-679Z.yml b/.playwright-mcp/page-2026-08-03T09-22-42-679Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-03T09-22-42-679Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-03T09-22-54-018Z.yml b/.playwright-mcp/page-2026-08-03T09-22-54-018Z.yml
deleted file mode 100644
index 74eaaf0..0000000
--- a/.playwright-mcp/page-2026-08-03T09-22-54-018Z.yml
+++ /dev/null
@@ -1,168 +0,0 @@
-- generic [ref=f3e7]:
-  - complementary [ref=f3e8]:
-    - generic [ref=f3e9]:
-      - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f3e15] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f3e18]
-        - generic [ref=f3e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-      - menu [ref=f3e22]:
-        - menuitem "棣栭〉" [ref=f3e23] [cursor=pointer]
-        - listitem [ref=f3e30]:
-          - generic [ref=f3e31] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=f3e39]:
-          - generic [ref=f3e40] [cursor=pointer]: 閲囪喘绠$悊
-        - listitem [ref=f3e46]:
-          - generic [ref=f3e47] [cursor=pointer]: 钀ラ攢绠$悊
-        - listitem [ref=f3e53]:
-          - generic [ref=f3e54] [cursor=pointer]: 璁惧绠$悊
-        - listitem [ref=f3e61]:
-          - generic [ref=f3e62] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=f3e70]:
-          - generic [ref=f3e71] [cursor=pointer]: 鐢熶骇绠℃帶
-        - listitem [ref=f3e78]:
-          - generic [ref=f3e79] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=f3e85]:
-          - generic [ref=f3e86] [cursor=pointer]: 鍗忓悓鍔炲叕
-        - listitem [ref=f3e92]:
-          - generic [ref=f3e93] [cursor=pointer]: 浜哄姏璧勬簮
-        - listitem [ref=f3e99]:
-          - generic [ref=f3e100] [cursor=pointer]: 鍞悗绠$悊
-        - listitem [ref=f3e106]:
-          - generic [ref=f3e107] [cursor=pointer]: 鍩虹璁炬柦
-        - listitem [ref=f3e113]:
-          - generic [ref=f3e114] [cursor=pointer]: 绯荤粺绠$悊
-        - listitem [ref=f3e120]:
-          - generic [ref=f3e121] [cursor=pointer]: IM 鍗虫椂閫氳
-  - generic [ref=f3e134]:
-    - generic [ref=f3e135]:
-      - banner [ref=f3e136]:
-        - button [ref=f3e137] [cursor=pointer]
-        - button [ref=f3e140] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f3e145]:
-          - list [ref=f3e146]:
-            - listitem [ref=f3e147]:
-              - link [disabled] [ref=f3e148]
-        - generic [ref=f3e155]:
-          - generic [ref=f3e157] [cursor=pointer]:
-            - generic [ref=f3e161]: 鎼滅储
-            - generic [ref=f3e162]: Ctrl K
-          - button [ref=f3e164] [cursor=pointer]
-          - button "dark" [ref=f3e169] [cursor=pointer]
-          - button [ref=f3e178] [cursor=pointer]
-          - button [ref=f3e184] [cursor=pointer]
-          - button [ref=f3e187] [cursor=pointer]
-          - button [ref=f3e193] [cursor=pointer]:
-            - button [ref=f3e195]
-          - button "宸ヤ綔鍙�" [ref=f3e199] [cursor=pointer]
-          - button [ref=f3e203] [cursor=pointer]:
-            - img "瓒呯骇绠$悊鍛�" [ref=f3e208]
-      - generic [ref=f3e210]:
-        - generic [ref=f3e211]: 棣栭〉
-        - button [ref=f3e233] [cursor=pointer]
-    - main [ref=f3e251]:
-      - generic [ref=f3e254]:
-        - generic [ref=f3e255]:
-          - generic [ref=f3e256]:
-            - heading "涓嬪崍濂斤紝娆㈣繋鍥炴潵" [level=1] [ref=f3e257]
-            - paragraph [ref=f3e258]: 2026骞�8鏈�3鏃� 鏄熸湡涓�
-          - generic [ref=f3e259]: 绯荤粺杩愯涓�
-        - generic [ref=f3e264]:
-          - generic [ref=f3e273] [cursor=pointer]:
-            - generic [ref=f3e274]: 鐢熶骇璁㈠崟
-            - generic [ref=f3e275]:
-              - generic [ref=f3e276]: "25"
-              - generic [ref=f3e278]: 杩涜涓�
-            - generic [ref=f3e279]:
-              - text: 寰呮帓浜� 15
-              - generic [ref=f3e281]: "|"
-              - text: 宸插畬鎴� 5
-          - generic [ref=f3e293] [cursor=pointer]:
-            - generic [ref=f3e294]: 浠婃棩浜ч噺
-            - generic [ref=f3e295]:
-              - generic [ref=f3e296]: "0"
-              - generic [ref=f3e298]: 浠�
-            - generic [ref=f3e299]: 鏄ㄦ棩 0 浠�
-          - generic [ref=f3e310] [cursor=pointer]:
-            - generic [ref=f3e311]: 璐ㄩ噺鍚堟牸鐜�
-            - generic [ref=f3e312]:
-              - generic [ref=f3e313]: "0.0"
-              - generic [ref=f3e315]: "%"
-            - generic [ref=f3e316]: 鍚堟牸 0 | 涓嶈壇 0
-          - generic [ref=f3e328] [cursor=pointer]:
-            - generic [ref=f3e329]: 璁惧杩愯鐜�
-            - generic [ref=f3e330]:
-              - generic [ref=f3e331]: "100.0"
-              - generic [ref=f3e333]: "%"
-            - generic [ref=f3e334]:
-              - generic [ref=f3e335]: 鍋滄満 0
-              - generic [ref=f3e336]: "|"
-              - generic [ref=f3e337]: 缁存姢 0
-        - generic [ref=f3e340]:
-          - generic [ref=f3e350] [cursor=pointer]:
-            - generic [ref=f3e351]: 閲囪喘璁㈠崟
-            - generic [ref=f3e352]:
-              - generic [ref=f3e353]: "14"
-              - generic [ref=f3e355]: 绗�
-            - generic [ref=f3e356]: ERP 閲囪喘绠$悊
-          - generic [ref=f3e367] [cursor=pointer]:
-            - generic [ref=f3e368]: 閿�鍞鍗�
-            - generic [ref=f3e369]:
-              - generic [ref=f3e370]: "22"
-              - generic [ref=f3e372]: 绗�
-            - generic [ref=f3e373]: ERP 閿�鍞鐞�
-          - generic [ref=f3e385] [cursor=pointer]:
-            - generic [ref=f3e386]: 鐗╂枡搴撳瓨
-            - generic [ref=f3e387]:
-              - generic [ref=f3e388]: "13"
-              - generic [ref=f3e390]: 鏉�
-            - generic [ref=f3e391]: MES 搴撳瓨鍙拌处
-          - generic [ref=f3e403] [cursor=pointer]:
-            - generic [ref=f3e404]: 鎴戠殑寰呭姙
-            - generic [ref=f3e405]:
-              - generic [ref=f3e406]: "1"
-              - generic [ref=f3e408]: 椤�
-            - generic [ref=f3e409]: BPM 寰呭鎵�
-        - generic [ref=f3e412]:
-          - generic [ref=f3e413]:
-            - heading "AI 鏅鸿兘鍒嗘瀽" [level=3] [ref=f3e414]
-            - generic [ref=f3e415]: 25 涓伐鍗曞彲鍒嗘瀽
-          - generic [ref=f3e416]:
-            - generic [ref=f3e424] [cursor=pointer]:
-              - generic [ref=f3e425]: AI 鐗╂枡棰勬祴
-              - generic [ref=f3e426]: 棰勬祴鐗╂枡闇�姹備笌鐭己椋庨櫓
-            - generic [ref=f3e435] [cursor=pointer]:
-              - generic [ref=f3e436]: AI 鏃堕暱棰勬祴
-              - generic [ref=f3e437]: 棰勬祴鍚勫伐搴忕敓浜ц�楁椂
-            - generic [ref=f3e444] [cursor=pointer]:
-              - generic [ref=f3e445]: AI 椋庨櫓棰勬祴
-              - generic [ref=f3e446]: 璇嗗埆娼滃湪鐢熶骇椋庨櫓骞剁粰鍑哄缓璁�
-            - generic [ref=f3e456] [cursor=pointer]:
-              - generic [ref=f3e457]: AI 浜や粯璇勪及
-              - generic [ref=f3e458]: 璇勪及璁㈠崟浜や粯鍑嗘椂鐜囦笌寤舵湡鍥犵礌
-        - generic [ref=f3e461]:
-          - heading "鐢熶骇瓒嬪娍锛堣繎7澶╋級" [level=3] [ref=f3e464]
-          - generic [ref=f3e469]:
-            - generic [ref=f3e470]:
-              - generic [ref=f3e476] [cursor=pointer]:
-                - generic [ref=f3e477]: 瀹夌伅鍛煎彨
-                - generic [ref=f3e478]:
-                  - generic [ref=f3e479]: "0"
-                  - generic [ref=f3e481]: 鏈缃�
-              - generic [ref=f3e487] [cursor=pointer]:
-                - generic [ref=f3e488]: 缁翠慨宸ュ崟
-                - generic [ref=f3e489]:
-                  - generic [ref=f3e490]: "0"
-                  - generic [ref=f3e492]: 寰呭鐞�
-            - heading "宸ュ崟鐘舵�佸垎甯�" [level=4] [ref=f3e494]
-        - generic [ref=f3e502]:
-          - heading "蹇嵎鎿嶄綔" [level=3] [ref=f3e503]
-          - generic [ref=f3e504]:
-            - generic [ref=f3e505] [cursor=pointer]: 鐢熶骇宸ュ崟
-            - generic [ref=f3e512] [cursor=pointer]: 鐢熶骇鎶ュ伐
-            - generic [ref=f3e519] [cursor=pointer]: 璐ㄦ绠$悊
-            - generic [ref=f3e527] [cursor=pointer]: 璁惧鐐规
-            - generic [ref=f3e534] [cursor=pointer]: 鐢熶骇鎺掔▼
-            - generic [ref=f3e541] [cursor=pointer]: 瀹夌伅鍛煎彨
-            - generic [ref=f3e546] [cursor=pointer]: 鐗╂枡搴撳瓨
-            - generic [ref=f3e554] [cursor=pointer]: 宸ヨ壓璺嚎
-            - generic [ref=f3e562] [cursor=pointer]: 鏁版嵁鎶ヨ〃
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-04T07-44-03-300Z.yml b/.playwright-mcp/page-2026-08-04T07-44-03-300Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-04T07-44-03-300Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-04T07-44-19-942Z.yml b/.playwright-mcp/page-2026-08-04T07-44-19-942Z.yml
deleted file mode 100644
index e398601..0000000
--- a/.playwright-mcp/page-2026-08-04T07-44-19-942Z.yml
+++ /dev/null
@@ -1,237 +0,0 @@
-- generic [ref=e403]:
-  - banner [ref=e404]:
-    - generic [ref=e408]:
-      - generic [ref=e409]: 鐢熶骇宸ヤ綔鍙�
-      - generic [ref=e410]: 鎷変笣1鍙峰伐浣滅珯
-    - navigation [ref=e411]:
-      - button "宸ュ崟璇︽儏" [ref=e412] [cursor=pointer]
-      - button "鎶ュ伐" [ref=e417] [cursor=pointer]
-      - button "鎶ュ伐璁板綍" [active] [ref=e420] [cursor=pointer]
-      - button "鐢熶骇璁板綍鍙傛暟" [ref=e425] [cursor=pointer]
-      - button "棰嗘枡" [ref=e430] [cursor=pointer]
-      - button "閫�鏂�" [ref=e435] [cursor=pointer]
-    - button "杩斿洖绯荤粺" [ref=e440] [cursor=pointer]
-  - generic [ref=e444]:
-    - complementary [ref=e445]:
-      - generic [ref=e446]:
-        - generic [ref=e447]:
-          - generic [ref=e448]: 宸ヤ綔绔�
-          - button "鍒囨崲" [ref=e454] [cursor=pointer]
-        - generic [ref=e455]:
-          - generic [ref=e456]: WS_002
-          - generic [ref=e457]: 鎷変笣1鍙峰伐浣滅珯
-          - generic [ref=e458]: 鎷変笣
-        - generic [ref=e459]:
-          - generic [ref=e460]:
-            - generic [ref=e461]: 杞﹂棿
-            - generic [ref=e462]: 娴嬭瘯鎷変笣杞﹂棿
-          - generic [ref=e463]:
-            - generic [ref=e464]: 鍦扮偣
-            - generic [ref=e465]: 鈥�
-        - button "涓婂伐" [ref=e467] [cursor=pointer]
-      - generic [ref=e470]:
-        - generic [ref=e471]:
-          - generic [ref=e472]: 宸ュ崟鍒楄〃
-          - generic [ref=e473]: "6"
-        - textbox "璁㈠崟/浜у搧/宸ュ簭" [ref=e475]
-        - generic [ref=e476]:
-          - generic [ref=e479] [cursor=pointer]:
-            - generic [ref=e480]:
-              - generic [ref=e481]: TK_20260729002
-              - generic [ref=e482]: 璐ㄦ
-              - generic [ref=e483]: 鍊掑啿
-              - generic [ref=e484]: 0%
-            - generic [ref=e485]:
-              - generic [ref=e486]: 鎶ュ伐杩涘害
-              - generic [ref=e487]: 0 / 234
-            - generic [ref=e489]:
-              - generic [ref=e490]:
-                - generic [ref=e491]: 璁㈠崟
-                - generic [ref=e492]: WO1784883668267 鐢熶骇宸ュ崟-MPS20260724002
-              - generic [ref=e493]:
-                - generic [ref=e494]: 宸ュ簭
-                - generic [ref=e495]: 鎷変笣
-              - generic [ref=e496]:
-                - generic [ref=e497]: 浜у搧
-                - generic "閾濆崟绾�" [ref=e498]: ITEM_20260716005 閾濆崟绾�
-              - generic [ref=e499]:
-                - generic [ref=e500]: 鍙姤宸�
-                - generic [ref=e501]: 224 鍗冨厠
-          - generic [ref=e504] [cursor=pointer]:
-            - generic [ref=e505]:
-              - generic [ref=e506]: TK_20260729001
-              - generic [ref=e507]: 璐ㄦ
-              - generic [ref=e508]: 鍊掑啿
-              - generic [ref=e509]: 0%
-            - generic [ref=e510]:
-              - generic [ref=e511]: 鎶ュ伐杩涘害
-              - generic [ref=e512]: 0 / 61
-            - generic [ref=e514]:
-              - generic [ref=e515]:
-                - generic [ref=e516]: 璁㈠崟
-                - generic [ref=e517]: WO_20260724003 閰掓硥
-              - generic [ref=e518]:
-                - generic [ref=e519]: 宸ュ簭
-                - generic [ref=e520]: 鎷変笣
-              - generic [ref=e521]:
-                - generic [ref=e522]: 浜у搧
-                - generic "閾濆崟绾�" [ref=e523]: ITEM_20260716005 閾濆崟绾�
-              - generic [ref=e524]:
-                - generic [ref=e525]: 鍙姤宸�
-                - generic [ref=e526]: 61 鍗冨厠
-          - generic [ref=e529] [cursor=pointer]:
-            - generic [ref=e530]:
-              - generic [ref=e531]: TK_20260724001
-              - generic [ref=e532]: 璐ㄦ
-              - generic [ref=e533]: 鍊掑啿
-              - generic [ref=e534]: 0%
-            - generic [ref=e535]:
-              - generic [ref=e536]: 鎶ュ伐杩涘害
-              - generic [ref=e537]: 0 / 1
-            - generic [ref=e539]:
-              - generic [ref=e540]:
-                - generic [ref=e541]: 璁㈠崟
-                - generic [ref=e542]: WO_20260724003 閰掓硥
-              - generic [ref=e543]:
-                - generic [ref=e544]: 宸ュ簭
-                - generic [ref=e545]: 鎷変笣
-              - generic [ref=e546]:
-                - generic [ref=e547]: 浜у搧
-                - generic "閾濆崟绾�" [ref=e548]: ITEM_20260716005 閾濆崟绾�
-              - generic [ref=e549]:
-                - generic [ref=e550]: 鍙姤宸�
-                - generic [ref=e551]: 0 鍗冨厠
-          - generic [ref=e554] [cursor=pointer]:
-            - generic [ref=e555]:
-              - generic [ref=e556]: TK_20260723001
-              - generic [ref=e557]: 璐ㄦ
-              - generic [ref=e558]: 鍊掑啿
-              - generic [ref=e559]: 27%
-            - generic [ref=e560]:
-              - generic [ref=e561]: 鎶ュ伐杩涘害
-              - generic [ref=e562]: 27 / 100
-            - generic [ref=e565]:
-              - generic [ref=e566]:
-                - generic [ref=e567]: 璁㈠崟
-                - generic [ref=e568]: WO_20260722009 閰掓硥
-              - generic [ref=e569]:
-                - generic [ref=e570]: 宸ュ簭
-                - generic [ref=e571]: 鎷変笣
-              - generic [ref=e572]:
-                - generic [ref=e573]: 浜у搧
-                - generic "閾濆崟绾�" [ref=e574]: ITEM_20260716005 閾濆崟绾�
-              - generic [ref=e575]:
-                - generic [ref=e576]: 鍙姤宸�
-                - generic [ref=e577]: 73 鍗冨厠
-          - generic [ref=e580] [cursor=pointer]:
-            - generic [ref=e581]:
-              - generic [ref=e582]: TK_20260717001
-              - generic [ref=e583]: 璐ㄦ
-              - generic [ref=e584]: 鍊掑啿
-              - generic [ref=e585]: 0.6%
-            - generic [ref=e586]:
-              - generic [ref=e587]: 鎶ュ伐杩涘害
-              - generic [ref=e588]: 6 / 1000
-            - generic [ref=e591]:
-              - generic [ref=e592]:
-                - generic [ref=e593]: 璁㈠崟
-                - generic [ref=e594]: WO_20260716050 娴嬭瘯璁㈠崟
-              - generic [ref=e595]:
-                - generic [ref=e596]: 宸ュ簭
-                - generic [ref=e597]: 鎷変笣
-              - generic [ref=e598]:
-                - generic [ref=e599]: 浜у搧
-                - generic "閾濆崟绾�" [ref=e600]: ITEM_20260716005 閾濆崟绾�
-              - generic [ref=e601]:
-                - generic [ref=e602]: 鍙姤宸�
-                - generic [ref=e603]: 994 鍗冨厠
-          - generic [ref=e606] [cursor=pointer]:
-            - generic [ref=e607]:
-              - generic [ref=e608]: TK_20260716001
-              - generic [ref=e609]: 璐ㄦ
-              - generic [ref=e610]: 鍊掑啿
-              - generic [ref=e611]: 0%
-            - generic [ref=e612]:
-              - generic [ref=e613]: 鎶ュ伐杩涘害
-              - generic [ref=e614]: 0 / 12000
-            - generic [ref=e616]:
-              - generic [ref=e617]:
-                - generic [ref=e618]: 璁㈠崟
-                - generic [ref=e619]: WO_20260716050 娴嬭瘯璁㈠崟
-              - generic [ref=e620]:
-                - generic [ref=e621]: 宸ュ簭
-                - generic [ref=e622]: 鎷変笣
-              - generic [ref=e623]:
-                - generic [ref=e624]: 浜у搧
-                - generic "閽㈣姱閾濈粸绾�" [ref=e625]: ITEM_20260716006 閽㈣姱閾濈粸绾�
-              - generic [ref=e626]:
-                - generic [ref=e627]: 鍙姤宸�
-                - generic [ref=e628]: 10000 鍗冨厠
-    - main [ref=e631]:
-      - generic [ref=e632]:
-        - generic [ref=e633]: 鎶ュ伐璁板綍
-        - generic [ref=e634]: 宸ュ崟 TK_20260729002
-      - generic [ref=e725]:
-        - generic [ref=e727]:
-          - generic [ref=e728]: 鎶ュ伐璁板綍
-          - generic [ref=e731]:
-            - button "瞟�" [ref=e732] [cursor=pointer]
-            - button "顪�" [ref=e734] [cursor=pointer]
-            - button "顦�" [ref=e736] [cursor=pointer]
-        - generic [ref=e743]:
-          - generic [ref=e744]:
-            - table [ref=e748]:
-              - rowgroup [ref=e762]:
-                - row [ref=e763]:
-                  - columnheader "鎶ヨ鍗曞彿" [ref=e764]
-                  - columnheader "浠诲姟缂栫爜" [ref=e769]
-                  - columnheader "宸ュ簭" [ref=e774]
-                  - columnheader "浜у搧" [ref=e779]
-                  - columnheader "鎶ュ伐鏁伴噺" [ref=e784]
-                  - columnheader "鍚堟牸鍝�" [ref=e789]
-                  - columnheader "涓嶈壇鍝�" [ref=e794]
-                  - columnheader "鎶ュ伐浜�" [ref=e799]
-                  - columnheader "瀹℃牳浜�" [ref=e804]
-                  - columnheader "鐘舵��" [ref=e809]
-                  - columnheader "鎶ュ伐鏃堕棿" [ref=e814]
-            - table [ref=e822]:
-              - rowgroup [ref=e836]:
-                - row [ref=e837]:
-                  - cell [ref=e838]:
-                    - button "FB_20260804006" [ref=e841] [cursor=pointer]
-                  - cell "TK_20260729002" [ref=e843]
-                  - cell "鎷変笣" [ref=e847]
-                  - cell "閾濆崟绾�" [ref=e851]
-                  - cell "10" [ref=e855]
-                  - cell "0" [ref=e859]
-                  - cell "0" [ref=e863]
-                  - cell "瓒呯骇绠$悊鍛�" [ref=e867]
-                  - cell "test01" [ref=e871]
-                  - cell "瀹℃壒涓�" [ref=e875]
-                  - cell "2026-08-04 15:42:04" [ref=e879]
-          - generic [ref=e883]:
-            - table [ref=e886]:
-              - rowgroup [ref=e900]:
-                - row [ref=e901]:
-                  - columnheader "鎿嶄綔" [ref=e902]
-            - table [ref=e909]:
-              - rowgroup [ref=e912]:
-                - row [ref=e913]:
-                  - cell [ref=e914]:
-                    - generic [ref=e917]:
-                      - button "鏌ョ湅" [ref=e919] [cursor=pointer]
-                      - button "瀹℃壒閫氳繃" [ref=e922] [cursor=pointer]
-                      - button "椹冲洖" [ref=e925] [cursor=pointer]
-        - generic [ref=e933]:
-          - generic [ref=e934]: 鍏� 1 鏉¤褰�
-          - generic [ref=e936] [cursor=pointer]:
-            - generic "20鏉�/椤�" [ref=e937]:
-              - textbox "璇烽�夋嫨" [ref=e938]: 20鏉�/椤�
-            - generic [ref=e939]: 睿�
-          - button "飱�" [ref=e942]
-          - button "顧�" [ref=e944]
-          - button "顫�" [ref=e946]
-          - button "1" [ref=e949] [cursor=pointer]
-          - button "顫�" [ref=e950]
-          - button "顧�" [ref=e952]
-          - button "顦�" [ref=e954]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-04T07-44-38-346Z.yml b/.playwright-mcp/page-2026-08-04T07-44-38-346Z.yml
deleted file mode 100644
index 61d73ec..0000000
--- a/.playwright-mcp/page-2026-08-04T07-44-38-346Z.yml
+++ /dev/null
@@ -1,273 +0,0 @@
-- generic [ref=e403]:
-  - banner [ref=e404]:
-    - generic [ref=e408]:
-      - generic [ref=e409]: 鐢熶骇宸ヤ綔鍙�
-      - generic [ref=e410]: 鎷変笣1鍙峰伐浣滅珯
-    - navigation [ref=e411]:
-      - button "宸ュ崟璇︽儏" [ref=e412] [cursor=pointer]
-      - button "鎶ュ伐" [active] [ref=e417] [cursor=pointer]
-      - button "鎶ュ伐璁板綍" [ref=e420] [cursor=pointer]
-      - button "鐢熶骇璁板綍鍙傛暟" [ref=e425] [cursor=pointer]
-      - button "棰嗘枡" [ref=e430] [cursor=pointer]
-      - button "閫�鏂�" [ref=e435] [cursor=pointer]
-    - button "杩斿洖绯荤粺" [ref=e440] [cursor=pointer]
-  - generic [ref=e444]:
-    - complementary [ref=e445]:
-      - generic [ref=e446]:
-        - generic [ref=e447]:
-          - generic [ref=e448]: 宸ヤ綔绔�
-          - button "鍒囨崲" [ref=e454] [cursor=pointer]
-        - generic [ref=e455]:
-          - generic [ref=e456]: WS_002
-          - generic [ref=e457]: 鎷変笣1鍙峰伐浣滅珯
-          - generic [ref=e458]: 鎷変笣
-        - generic [ref=e459]:
-          - generic [ref=e460]:
-            - generic [ref=e461]: 杞﹂棿
-            - generic [ref=e462]: 娴嬭瘯鎷変笣杞﹂棿
-          - generic [ref=e463]:
-            - generic [ref=e464]: 鍦扮偣
-            - generic [ref=e465]: 鈥�
-        - button "涓婂伐" [ref=e467] [cursor=pointer]
-      - generic [ref=e470]:
-        - generic [ref=e471]:
-          - generic [ref=e472]: 宸ュ崟鍒楄〃
-          - generic [ref=e473]: "6"
-        - textbox "璁㈠崟/浜у搧/宸ュ簭" [ref=e475]
-        - generic [ref=e476]:
-          - generic [ref=e479] [cursor=pointer]:
-            - generic [ref=e480]:
-              - generic [ref=e481]: TK_20260729002
-              - generic [ref=e482]: 璐ㄦ
-              - generic [ref=e483]: 鍊掑啿
-              - generic [ref=e484]: 0%
-            - generic [ref=e485]:
-              - generic [ref=e486]: 鎶ュ伐杩涘害
-              - generic [ref=e487]: 0 / 234
-            - generic [ref=e489]:
-              - generic [ref=e490]:
-                - generic [ref=e491]: 璁㈠崟
-                - generic [ref=e492]: WO1784883668267 鐢熶骇宸ュ崟-MPS20260724002
-              - generic [ref=e493]:
-                - generic [ref=e494]: 宸ュ簭
-                - generic [ref=e495]: 鎷変笣
-              - generic [ref=e496]:
-                - generic [ref=e497]: 浜у搧
-                - generic "閾濆崟绾�" [ref=e498]: ITEM_20260716005 閾濆崟绾�
-              - generic [ref=e499]:
-                - generic [ref=e500]: 鍙姤宸�
-                - generic [ref=e501]: 224 鍗冨厠
-          - generic [ref=e504] [cursor=pointer]:
-            - generic [ref=e505]:
-              - generic [ref=e506]: TK_20260729001
-              - generic [ref=e507]: 璐ㄦ
-              - generic [ref=e508]: 鍊掑啿
-              - generic [ref=e509]: 0%
-            - generic [ref=e510]:
-              - generic [ref=e511]: 鎶ュ伐杩涘害
-              - generic [ref=e512]: 0 / 61
-            - generic [ref=e514]:
-              - generic [ref=e515]:
-                - generic [ref=e516]: 璁㈠崟
-                - generic [ref=e517]: WO_20260724003 閰掓硥
-              - generic [ref=e518]:
-                - generic [ref=e519]: 宸ュ簭
-                - generic [ref=e520]: 鎷変笣
-              - generic [ref=e521]:
-                - generic [ref=e522]: 浜у搧
-                - generic "閾濆崟绾�" [ref=e523]: ITEM_20260716005 閾濆崟绾�
-              - generic [ref=e524]:
-                - generic [ref=e525]: 鍙姤宸�
-                - generic [ref=e526]: 61 鍗冨厠
-          - generic [ref=e529] [cursor=pointer]:
-            - generic [ref=e530]:
-              - generic [ref=e531]: TK_20260724001
-              - generic [ref=e532]: 璐ㄦ
-              - generic [ref=e533]: 鍊掑啿
-              - generic [ref=e534]: 0%
-            - generic [ref=e535]:
-              - generic [ref=e536]: 鎶ュ伐杩涘害
-              - generic [ref=e537]: 0 / 1
-            - generic [ref=e539]:
-              - generic [ref=e540]:
-                - generic [ref=e541]: 璁㈠崟
-                - generic [ref=e542]: WO_20260724003 閰掓硥
-              - generic [ref=e543]:
-                - generic [ref=e544]: 宸ュ簭
-                - generic [ref=e545]: 鎷変笣
-              - generic [ref=e546]:
-                - generic [ref=e547]: 浜у搧
-                - generic "閾濆崟绾�" [ref=e548]: ITEM_20260716005 閾濆崟绾�
-              - generic [ref=e549]:
-                - generic [ref=e550]: 鍙姤宸�
-                - generic [ref=e551]: 0 鍗冨厠
-          - generic [ref=e554] [cursor=pointer]:
-            - generic [ref=e555]:
-              - generic [ref=e556]: TK_20260723001
-              - generic [ref=e557]: 璐ㄦ
-              - generic [ref=e558]: 鍊掑啿
-              - generic [ref=e559]: 27%
-            - generic [ref=e560]:
-              - generic [ref=e561]: 鎶ュ伐杩涘害
-              - generic [ref=e562]: 27 / 100
-            - generic [ref=e565]:
-              - generic [ref=e566]:
-                - generic [ref=e567]: 璁㈠崟
-                - generic [ref=e568]: WO_20260722009 閰掓硥
-              - generic [ref=e569]:
-                - generic [ref=e570]: 宸ュ簭
-                - generic [ref=e571]: 鎷変笣
-              - generic [ref=e572]:
-                - generic [ref=e573]: 浜у搧
-                - generic "閾濆崟绾�" [ref=e574]: ITEM_20260716005 閾濆崟绾�
-              - generic [ref=e575]:
-                - generic [ref=e576]: 鍙姤宸�
-                - generic [ref=e577]: 73 鍗冨厠
-          - generic [ref=e580] [cursor=pointer]:
-            - generic [ref=e581]:
-              - generic [ref=e582]: TK_20260717001
-              - generic [ref=e583]: 璐ㄦ
-              - generic [ref=e584]: 鍊掑啿
-              - generic [ref=e585]: 0.6%
-            - generic [ref=e586]:
-              - generic [ref=e587]: 鎶ュ伐杩涘害
-              - generic [ref=e588]: 6 / 1000
-            - generic [ref=e591]:
-              - generic [ref=e592]:
-                - generic [ref=e593]: 璁㈠崟
-                - generic [ref=e594]: WO_20260716050 娴嬭瘯璁㈠崟
-              - generic [ref=e595]:
-                - generic [ref=e596]: 宸ュ簭
-                - generic [ref=e597]: 鎷変笣
-              - generic [ref=e598]:
-                - generic [ref=e599]: 浜у搧
-                - generic "閾濆崟绾�" [ref=e600]: ITEM_20260716005 閾濆崟绾�
-              - generic [ref=e601]:
-                - generic [ref=e602]: 鍙姤宸�
-                - generic [ref=e603]: 994 鍗冨厠
-          - generic [ref=e606] [cursor=pointer]:
-            - generic [ref=e607]:
-              - generic [ref=e608]: TK_20260716001
-              - generic [ref=e609]: 璐ㄦ
-              - generic [ref=e610]: 鍊掑啿
-              - generic [ref=e611]: 0%
-            - generic [ref=e612]:
-              - generic [ref=e613]: 鎶ュ伐杩涘害
-              - generic [ref=e614]: 0 / 12000
-            - generic [ref=e616]:
-              - generic [ref=e617]:
-                - generic [ref=e618]: 璁㈠崟
-                - generic [ref=e619]: WO_20260716050 娴嬭瘯璁㈠崟
-              - generic [ref=e620]:
-                - generic [ref=e621]: 宸ュ簭
-                - generic [ref=e622]: 鎷変笣
-              - generic [ref=e623]:
-                - generic [ref=e624]: 浜у搧
-                - generic "閽㈣姱閾濈粸绾�" [ref=e625]: ITEM_20260716006 閽㈣姱閾濈粸绾�
-              - generic [ref=e626]:
-                - generic [ref=e627]: 鍙姤宸�
-                - generic [ref=e628]: 10000 鍗冨厠
-    - main [ref=e631]:
-      - generic [ref=e632]:
-        - generic [ref=e633]: 鎶ュ伐
-        - generic [ref=e634]: 宸ュ崟 TK_20260729002
-      - generic [ref=e956]:
-        - generic [ref=e957]:
-          - heading "鏂板缓鎶ュ伐" [level=3] [ref=e958]
-          - generic [ref=e959]: "宸ュ崟: WO1784883668267 鐢熶骇宸ュ崟-MPS20260724002"
-        - generic [ref=e961]:
-          - generic [ref=e962]:
-            - generic [ref=e963]:
-              - generic [ref=e964]: "*"
-              - text: 鎶ヨ鍗曞彿
-            - generic [ref=e968]:
-              - textbox "* 鎶ヨ鍗曞彿" [ref=e969]:
-                - /placeholder: 璇疯緭鍏ユ姤璁㈠崟鍙�
-                - text: FB_20260804009
-              - button "鐢� 鎴�" [ref=e971] [cursor=pointer]
-          - generic [ref=e973]:
-            - generic [ref=e974]:
-              - generic [ref=e975]: "*"
-              - text: 鎶ュ伐绫诲瀷
-            - generic [ref=e981] [cursor=pointer]:
-              - combobox "* 鎶ュ伐绫诲瀷" [ref=e983]
-              - generic "鑷鎶ュ伐" [ref=e984]
-          - generic [ref=e985]:
-            - generic [ref=e986]:
-              - generic [ref=e987]: "*"
-              - text: 鐢熶骇璁㈠崟
-            - textbox "璇烽�夋嫨璁㈠崟" [ref=e994]: WO1784883668267
-          - generic [ref=e1000]:
-            - generic [ref=e1001]:
-              - generic [ref=e1002]: "*"
-              - text: 鐢熶骇浠诲姟
-            - textbox "璇烽�夋嫨浠诲姟" [ref=e1009]: TK_20260729002
-          - generic [ref=e1015]:
-            - generic [ref=e1016]:
-              - generic [ref=e1017]: "*"
-              - text: 宸ヤ綔绔�
-            - textbox "璇烽�夋嫨宸ヤ綔绔�" [ref=e1024]: 鎷変笣1鍙峰伐浣滅珯
-          - generic [ref=e1030]:
-            - generic [ref=e1031]: 浜у搧缂栫爜
-            - textbox "浜у搧缂栫爜" [disabled] [ref=e1036]:
-              - /placeholder: 璇疯緭鍏�
-              - text: ITEM_20260716005
-          - generic [ref=e1037]:
-            - generic [ref=e1038]: 浜у搧鍚嶇О
-            - textbox "浜у搧鍚嶇О" [disabled] [ref=e1043]:
-              - /placeholder: 璇疯緭鍏�
-              - text: 閾濆崟绾�
-          - generic [ref=e1044]:
-            - generic [ref=e1045]: 鍗曚綅
-            - textbox "鍗曚綅" [disabled] [ref=e1050]:
-              - /placeholder: 璇疯緭鍏�
-              - text: 鍗冨厠
-          - generic [ref=e1051]:
-            - generic [ref=e1052]: 瑙勬牸
-            - textbox "瑙勬牸" [disabled] [ref=e1057]:
-              - /placeholder: 璇疯緭鍏�
-              - text: L-1.72
-          - generic [ref=e1058]:
-            - generic [ref=e1059]:
-              - generic [ref=e1060]: "*"
-              - text: 鎶ュ伐鏁伴噺
-            - generic [ref=e1065]:
-              - generic [ref=e1066]:
-                - button "Increase Value" [ref=e1067] [cursor=pointer]:
-                  - img "up" [ref=e1068]
-                - button "Decrease Value" [ref=e1071] [cursor=pointer]:
-                  - img "down" [ref=e1072]
-              - spinbutton "* 鎶ュ伐鏁伴噺" [ref=e1076]
-          - generic [ref=e1077]:
-            - generic [ref=e1078]:
-              - generic [ref=e1079]: "*"
-              - text: 鎶ュ伐浜�
-            - generic [ref=e1085] [cursor=pointer]:
-              - combobox "* 鎶ュ伐浜�" [ref=e1087]
-              - generic "瓒呯骇绠$悊鍛�" [ref=e1088]
-          - generic [ref=e1093]:
-            - generic [ref=e1094]:
-              - generic [ref=e1095]: "*"
-              - text: 鎶ュ伐鏃堕棿
-            - generic [ref=e1101]:
-              - textbox "* 鎶ュ伐鏃堕棿" [ref=e1102]:
-                - /placeholder: 璇烽�夋嫨鎶ュ伐鏃堕棿
-                - text: Invalid Date
-              - generic:
-                - img "calendar"
-              - button [ref=e1103] [cursor=pointer]:
-                - img "close-circle" [ref=e1104]
-          - generic [ref=e1107]:
-            - generic [ref=e1108]:
-              - generic [ref=e1109]: "*"
-              - text: 瀹℃牳浜�
-            - generic [ref=e1115] [cursor=pointer]:
-              - combobox "* 瀹℃牳浜�" [ref=e1117]
-              - generic: 璇烽�夋嫨瀹℃牳浜�
-          - generic [ref=e1118]:
-            - generic [ref=e1119]: 澶囨敞
-            - textbox "澶囨敞" [ref=e1124]:
-              - /placeholder: 璇疯緭鍏ュ娉�
-        - generic [ref=e1125]:
-          - button "淇� 瀛�" [ref=e1126] [cursor=pointer]
-          - button "淇濆瓨骞舵彁浜�" [ref=e1128] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T07-36-48-990Z.yml b/.playwright-mcp/page-2026-08-05T07-36-48-990Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-05T07-36-48-990Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T07-36-56-155Z.png b/.playwright-mcp/page-2026-08-05T07-36-56-155Z.png
deleted file mode 100644
index 1b3d672..0000000
--- a/.playwright-mcp/page-2026-08-05T07-36-56-155Z.png
+++ /dev/null
Binary files differ
diff --git a/.playwright-mcp/page-2026-08-05T07-41-09-497Z.yml b/.playwright-mcp/page-2026-08-05T07-41-09-497Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-05T07-41-09-497Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T07-41-21-485Z.png b/.playwright-mcp/page-2026-08-05T07-41-21-485Z.png
deleted file mode 100644
index b068ab1..0000000
--- a/.playwright-mcp/page-2026-08-05T07-41-21-485Z.png
+++ /dev/null
Binary files differ
diff --git a/.playwright-mcp/page-2026-08-05T07-51-48-188Z.yml b/.playwright-mcp/page-2026-08-05T07-51-48-188Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-05T07-51-48-188Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T07-54-21-100Z.yml b/.playwright-mcp/page-2026-08-05T07-54-21-100Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-05T07-54-21-100Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T07-58-12-325Z.yml b/.playwright-mcp/page-2026-08-05T07-58-12-325Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-05T07-58-12-325Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T07-58-23-056Z.yml b/.playwright-mcp/page-2026-08-05T07-58-23-056Z.yml
deleted file mode 100644
index 4b89725..0000000
--- a/.playwright-mcp/page-2026-08-05T07-58-23-056Z.yml
+++ /dev/null
@@ -1,156 +0,0 @@
-- generic [ref=f9e7]:
-  - complementary [ref=f9e8]:
-    - generic [ref=f9e9]:
-      - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f9e15] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f9e18]
-        - generic [ref=f9e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-      - menu [ref=f9e22]:
-        - menuitem "棣栭〉" [ref=f9e23] [cursor=pointer]
-        - listitem [ref=f9e30]:
-          - generic [ref=f9e31] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=f9e39]:
-          - generic [ref=f9e40] [cursor=pointer]: 閲囪喘绠$悊
-        - listitem [ref=f9e46]:
-          - generic [ref=f9e47] [cursor=pointer]: 钀ラ攢绠$悊
-        - listitem [ref=f9e53]:
-          - generic [ref=f9e54] [cursor=pointer]: 璁惧绠$悊
-        - listitem [ref=f9e61]:
-          - generic [ref=f9e62] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=f9e70]:
-          - generic [ref=f9e71] [cursor=pointer]: 鐢熶骇绠℃帶
-        - listitem [ref=f9e78]:
-          - generic [ref=f9e79] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=f9e85]:
-          - generic [ref=f9e86] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - list [ref=f9e92]:
-            - menuitem "閲囪喘閿�鍞敭鍚庡ぇ灞�" [ref=f9e93] [cursor=pointer]
-            - menuitem "浠撳簱澶у睆" [ref=f9e98] [cursor=pointer]
-            - menuitem "鐢熶骇璁惧澶у睆" [ref=f9e102] [cursor=pointer]
-            - menuitem "璐ㄩ噺澶у睆" [ref=f9e110] [cursor=pointer]
-            - menuitem "浜鸿祫鍔炲叕澶у睆" [ref=f9e116] [cursor=pointer]
-            - listitem [ref=f9e123]:
-              - generic [ref=f9e124] [cursor=pointer]: 閰嶇疆绠$悊
-        - listitem [ref=f9e130]:
-          - generic [ref=f9e131] [cursor=pointer]: 鍗忓悓鍔炲叕
-        - listitem [ref=f9e137]:
-          - generic [ref=f9e138] [cursor=pointer]: 浜哄姏璧勬簮
-        - listitem [ref=f9e144]:
-          - generic [ref=f9e145] [cursor=pointer]: 鍞悗绠$悊
-        - listitem [ref=f9e151]:
-          - generic [ref=f9e152] [cursor=pointer]: 鍩虹璁炬柦
-        - listitem [ref=f9e158]:
-          - generic [ref=f9e159] [cursor=pointer]: 绯荤粺绠$悊
-        - listitem [ref=f9e165]:
-          - generic [ref=f9e166] [cursor=pointer]: IM 鍗虫椂閫氳
-  - generic [ref=f9e179]:
-    - generic [ref=f9e180]:
-      - banner [ref=f9e181]:
-        - button [ref=f9e182] [cursor=pointer]
-        - button [ref=f9e185] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f9e190]:
-          - list [ref=f9e191]:
-            - listitem [ref=f9e192]:
-              - link [ref=f9e193] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=f9e197]
-            - listitem [ref=f9e200]:
-              - link [disabled] [ref=f9e201]
-        - generic [ref=f9e206]:
-          - generic [ref=f9e208] [cursor=pointer]:
-            - generic [ref=f9e212]: 鎼滅储
-            - generic [ref=f9e213]: Ctrl K
-          - button [ref=f9e215] [cursor=pointer]
-          - button "dark" [ref=f9e220] [cursor=pointer]
-          - button [ref=f9e229] [cursor=pointer]
-          - button [ref=f9e235] [cursor=pointer]
-          - button [ref=f9e238] [cursor=pointer]
-          - button [ref=f9e244] [cursor=pointer]:
-            - button [ref=f9e246]
-          - button "宸ヤ綔鍙�" [ref=f9e250] [cursor=pointer]
-          - button "婧愮爜" [ref=f9e254] [cursor=pointer]
-      - generic [ref=f9e261]:
-        - generic [ref=f9e266]:
-          - generic [ref=f9e267] [cursor=pointer]: 棣栭〉
-          - generic [ref=f9e285] [cursor=pointer]: 閲囪喘閿�鍞敭鍚庡ぇ灞�
-        - button [ref=f9e303] [cursor=pointer]
-    - main [ref=f9e321]:
-      - generic [ref=f9e325]:
-        - generic [ref=f9e328]:
-          - generic [ref=f9e336]:
-            - heading "閲囪喘 路 閿�鍞� 路 鍞悗" [level=1] [ref=f9e337]
-            - paragraph [ref=f9e338]: 渚涘簲閾惧叏閾捐矾缁忚惀鍐崇瓥鐪嬫澘
-          - generic [ref=f9e339]:
-            - generic [ref=f9e340]:
-              - generic [ref=f9e341]: 15:58:22
-              - generic [ref=f9e342]: 2026骞�8鏈�5鏃ユ槦鏈熶笁
-            - generic [ref=f9e343]:
-              - generic [ref=f9e347]: 瀹炴椂
-              - generic [ref=f9e348]: 路 15:58:14
-            - button "鍏ㄥ睆 (F11)" [ref=f9e349] [cursor=pointer]
-        - generic [ref=f9e352]:
-          - generic [ref=f9e355] [cursor=pointer]:
-            - generic [ref=f9e356]: 閲囪喘璁㈠崟鎬绘暟
-            - text: "14"
-          - generic [ref=f9e361] [cursor=pointer]:
-            - generic [ref=f9e362]: 閿�鍞鍗曟�绘暟
-            - text: "22"
-          - generic [ref=f9e367] [cursor=pointer]:
-            - generic [ref=f9e368]: 瀹㈡埛鎬绘暟
-            - text: "6"
-          - generic [ref=f9e373] [cursor=pointer]:
-            - generic [ref=f9e374]: 渚涘簲鍟嗘�绘暟
-            - text: "1"
-        - generic [ref=f9e377]:
-          - heading "閲囪喘璁㈠崟鏈堝害瓒嬪娍" [level=3] [ref=f9e381]
-          - heading "閿�鍞鍗曟湀搴﹁秼鍔�" [level=3] [ref=f9e388]
-          - heading "閲囪喘璁㈠崟鐘舵�佸垎甯�" [level=3] [ref=f9e395]
-        - generic [ref=f9e399]:
-          - heading "鏈�杩戦噰璐鍗�" [level=3] [ref=f9e400]
-          - table [ref=f9e402]:
-            - rowgroup [ref=f9e403]:
-              - row [ref=f9e404]:
-                - columnheader "璁㈠崟鍙�" [ref=f9e405]
-                - columnheader "閲戦" [ref=f9e406]
-                - columnheader "涓嬪崟鏃堕棿" [ref=f9e407]
-            - rowgroup [ref=f9e408]:
-              - row [ref=f9e409]:
-                - cell "CGDD20260731000002" [ref=f9e410]
-                - cell "100000" [ref=f9e411]
-                - cell "2026-07-31 13:40:23" [ref=f9e412]
-              - row [ref=f9e413]:
-                - cell "CGDD20260731000001" [ref=f9e414]
-                - cell "100000" [ref=f9e415]
-                - cell "2026-07-31 13:37:07" [ref=f9e416]
-              - row [ref=f9e417]:
-                - cell "CGDD20260730000002" [ref=f9e418]
-                - cell "1510554.6" [ref=f9e419]
-                - cell "2026-07-30 17:44:23" [ref=f9e420]
-              - row [ref=f9e421]:
-                - cell "CGDD20260730000007" [ref=f9e422]
-                - cell "100700" [ref=f9e423]
-                - cell "2026-07-30 13:05:50" [ref=f9e424]
-              - row [ref=f9e425]:
-                - cell "CGDD20260730000001" [ref=f9e426]
-                - cell "1378000" [ref=f9e427]
-                - cell "2026-07-30 09:22:11" [ref=f9e428]
-              - row [ref=f9e429]:
-                - cell "CGDD20260729000005" [ref=f9e430]
-                - cell "101" [ref=f9e431]
-                - cell "2026-07-29 15:32:16" [ref=f9e432]
-              - row [ref=f9e433]:
-                - cell "CGDD20260729000004" [ref=f9e434]
-                - cell "1111" [ref=f9e435]
-                - cell "2026-07-29 15:00:13" [ref=f9e436]
-              - row [ref=f9e437]:
-                - cell "CGDD20260724000002" [ref=f9e438]
-                - cell "10.1" [ref=f9e439]
-                - cell "2026-07-24 14:41:07" [ref=f9e440]
-              - row [ref=f9e441]:
-                - cell "CGDD20260724000001" [ref=f9e442]
-                - cell "23" [ref=f9e443]
-                - cell "2026-07-24 09:41:44" [ref=f9e444]
-              - row [ref=f9e445]:
-                - cell "CGDD20260723000001" [ref=f9e446]
-                - cell "10.38" [ref=f9e447]
-                - cell "2026-07-23 17:11:43" [ref=f9e448]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T08-54-54-463Z.yml b/.playwright-mcp/page-2026-08-05T08-54-54-463Z.yml
deleted file mode 100644
index e69de29..0000000
--- a/.playwright-mcp/page-2026-08-05T08-54-54-463Z.yml
+++ /dev/null
diff --git a/.playwright-mcp/page-2026-08-05T08-59-40-566Z.yml b/.playwright-mcp/page-2026-08-05T08-59-40-566Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-05T08-59-40-566Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-17-10-326Z.yml b/.playwright-mcp/page-2026-08-05T09-17-10-326Z.yml
deleted file mode 100644
index e8bedf7..0000000
--- a/.playwright-mcp/page-2026-08-05T09-17-10-326Z.yml
+++ /dev/null
@@ -1,42 +0,0 @@
-- generic [active] [ref=f14e1]:
-  - generic: 宸ヤ笟AI鏅洪�犲钩鍙�
-  - generic [ref=f14e4]:
-    - generic [ref=f14e5]:
-      - generic [ref=f14e6]:
-        - generic [ref=f14e7]:
-          - generic:
-            - button [ref=f14e8] [cursor=pointer]
-            - button [ref=f14e12] [cursor=pointer]
-            - button [ref=f14e14] [cursor=pointer]
-            - button [ref=f14e16] [cursor=pointer]
-            - button [ref=f14e18] [cursor=pointer]
-            - button [ref=f14e20] [cursor=pointer]
-            - button [ref=f14e22] [cursor=pointer]
-          - button [ref=f14e24] [cursor=pointer]
-        - button [ref=f14e31] [cursor=pointer]
-      - button [ref=f14e35] [cursor=pointer]
-      - button "dark" [ref=f14e41] [cursor=pointer]
-    - generic [ref=f14e50]:
-      - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f14e51]
-      - paragraph [ref=f14e52]: 宸ヤ笟AI鏅洪�犲钩鍙�
-    - generic [ref=f14e56]:
-      - img "87667-SVG8" [ref=f14e57]
-      - generic [ref=f14e361]: 寮�绠卞嵆鐢ㄧ殑澶у瀷涓悗鍙扮鐞嗙郴缁�
-      - generic [ref=f14e362]: 宸ョ▼鍖栥�侀珮鎬ц兘銆佽法缁勪欢搴撶殑鍓嶇妯$増
-    - generic [ref=f14e363]:
-      - generic [ref=f14e365]:
-        - generic [ref=f14e366]:
-          - heading "娆㈣繋鍥炴潵 馃憢馃徎" [level=2] [ref=f14e367]
-          - paragraph [ref=f14e368]:
-            - generic [ref=f14e369]: 璇疯緭鍏ユ偍鐨勮处鎴蜂俊鎭互寮�濮嬬鐞嗘偍鐨勯」鐩�
-        - generic [ref=f14e371]:
-          - textbox "璇疯緭鍏ョ敤鎴峰悕" [ref=f14e377]: admin
-          - textbox "璇疯緭鍏ュ瘑鐮�" [ref=f14e384]: admin123
-        - generic [ref=f14e393]:
-          - checkbox "璁颁綇璐﹀彿" [ref=f14e394] [cursor=pointer]
-          - generic [ref=f14e395] [cursor=pointer]: 璁颁綇璐﹀彿
-        - button "login" [ref=f14e396] [cursor=pointer]: 鐧诲綍
-      - generic [ref=f14e398]:
-        - text: Copyright 漏 2024
-        - link "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f14e399] [cursor=pointer]:
-          - /url: https://gitee.com/yudaocode/yudao-ui-admin-vben
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-17-21-418Z.yml b/.playwright-mcp/page-2026-08-05T09-17-21-418Z.yml
deleted file mode 100644
index 260340f..0000000
--- a/.playwright-mcp/page-2026-08-05T09-17-21-418Z.yml
+++ /dev/null
@@ -1,40 +0,0 @@
-- generic [ref=f14e4]:
-  - generic [ref=f14e5]:
-    - generic [ref=f14e6]:
-      - generic [ref=f14e7]:
-        - generic:
-          - button [ref=f14e8] [cursor=pointer]
-          - button [ref=f14e12] [cursor=pointer]
-          - button [ref=f14e14] [cursor=pointer]
-          - button [ref=f14e16] [cursor=pointer]
-          - button [ref=f14e18] [cursor=pointer]
-          - button [ref=f14e20] [cursor=pointer]
-          - button [ref=f14e22] [cursor=pointer]
-        - button [ref=f14e24] [cursor=pointer]
-      - button [ref=f14e31] [cursor=pointer]
-    - button [ref=f14e35] [cursor=pointer]
-    - button "dark" [ref=f14e41] [cursor=pointer]
-  - generic [ref=f14e50]:
-    - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f14e51]
-    - paragraph [ref=f14e52]: 宸ヤ笟AI鏅洪�犲钩鍙�
-  - generic [ref=f14e56]:
-    - img "87667-SVG8" [ref=f14e57]
-    - generic [ref=f14e361]: 寮�绠卞嵆鐢ㄧ殑澶у瀷涓悗鍙扮鐞嗙郴缁�
-    - generic [ref=f14e362]: 宸ョ▼鍖栥�侀珮鎬ц兘銆佽法缁勪欢搴撶殑鍓嶇妯$増
-  - generic [ref=f14e363]:
-    - generic [ref=f14e365]:
-      - generic [ref=f14e366]:
-        - heading "娆㈣繋鍥炴潵 馃憢馃徎" [level=2] [ref=f14e367]
-        - paragraph [ref=f14e368]:
-          - generic [ref=f14e369]: 璇疯緭鍏ユ偍鐨勮处鎴蜂俊鎭互寮�濮嬬鐞嗘偍鐨勯」鐩�
-      - generic [ref=f14e371]:
-        - textbox "璇疯緭鍏ョ敤鎴峰悕" [ref=f14e377]: admin
-        - textbox "璇疯緭鍏ュ瘑鐮�" [ref=f14e384]: admin123
-      - generic [ref=f14e393]:
-        - checkbox "璁颁綇璐﹀彿" [ref=f14e394] [cursor=pointer]
-        - generic [ref=f14e395] [cursor=pointer]: 璁颁綇璐﹀彿
-      - button "login" [disabled]: 鐧诲綍
-    - generic [ref=f14e398]:
-      - text: Copyright 漏 2024
-      - link "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f14e399] [cursor=pointer]:
-        - /url: https://gitee.com/yudaocode/yudao-ui-admin-vben
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-18-45-630Z.yml b/.playwright-mcp/page-2026-08-05T09-18-45-630Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-05T09-18-45-630Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-18-52-745Z.yml b/.playwright-mcp/page-2026-08-05T09-18-52-745Z.yml
deleted file mode 100644
index 6dd7f6b..0000000
--- a/.playwright-mcp/page-2026-08-05T09-18-52-745Z.yml
+++ /dev/null
@@ -1,231 +0,0 @@
-- generic [ref=f15e7]:
-  - complementary [ref=f15e8]:
-    - generic [ref=f15e9]:
-      - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f15e15] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f15e18]
-        - generic [ref=f15e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-      - menu [ref=f15e22]:
-        - menuitem "棣栭〉" [ref=f15e23] [cursor=pointer]
-        - listitem [ref=f15e30]:
-          - generic [ref=f15e31] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=f15e39]:
-          - generic [ref=f15e40] [cursor=pointer]: 閲囪喘绠$悊
-        - listitem [ref=f15e46]:
-          - generic [ref=f15e47] [cursor=pointer]: 钀ラ攢绠$悊
-        - listitem [ref=f15e53]:
-          - generic [ref=f15e54] [cursor=pointer]: 璁惧绠$悊
-        - listitem [ref=f15e61]:
-          - generic [ref=f15e62] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=f15e70]:
-          - generic [ref=f15e71] [cursor=pointer]: 鐢熶骇绠℃帶
-        - listitem [ref=f15e78]:
-          - generic [ref=f15e79] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=f15e85]:
-          - generic [ref=f15e86] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - list [ref=f15e92]:
-            - menuitem "閲囪喘閿�鍞敭鍚庡ぇ灞�" [ref=f15e93] [cursor=pointer]
-            - menuitem "浠撳簱澶у睆" [ref=f15e98] [cursor=pointer]
-            - menuitem "鐢熶骇璁惧澶у睆" [ref=f15e102] [cursor=pointer]
-            - menuitem "璐ㄩ噺澶у睆" [ref=f15e110] [cursor=pointer]
-            - menuitem "浜鸿祫鍔炲叕澶у睆" [ref=f15e116] [cursor=pointer]
-            - listitem [ref=f15e123]:
-              - generic [ref=f15e124] [cursor=pointer]: 閰嶇疆绠$悊
-        - listitem [ref=f15e130]:
-          - generic [ref=f15e131] [cursor=pointer]: 鍗忓悓鍔炲叕
-        - listitem [ref=f15e137]:
-          - generic [ref=f15e138] [cursor=pointer]: 浜哄姏璧勬簮
-        - listitem [ref=f15e144]:
-          - generic [ref=f15e145] [cursor=pointer]: 鍞悗绠$悊
-        - listitem [ref=f15e151]:
-          - generic [ref=f15e152] [cursor=pointer]: 鍩虹璁炬柦
-        - listitem [ref=f15e158]:
-          - generic [ref=f15e159] [cursor=pointer]: 绯荤粺绠$悊
-        - listitem [ref=f15e165]:
-          - generic [ref=f15e166] [cursor=pointer]: IM 鍗虫椂閫氳
-  - generic [ref=f15e179]:
-    - generic [ref=f15e180]:
-      - banner [ref=f15e181]:
-        - button [ref=f15e182] [cursor=pointer]
-        - button [ref=f15e185] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f15e190]:
-          - list [ref=f15e191]:
-            - listitem [ref=f15e192]:
-              - link [ref=f15e193] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=f15e197]
-            - listitem [ref=f15e200]:
-              - link [disabled] [ref=f15e201]
-        - generic [ref=f15e205]:
-          - generic [ref=f15e207] [cursor=pointer]:
-            - generic [ref=f15e211]: 鎼滅储
-            - generic [ref=f15e212]: Ctrl K
-          - button [ref=f15e214] [cursor=pointer]
-          - button "dark" [ref=f15e219] [cursor=pointer]
-          - button [ref=f15e228] [cursor=pointer]
-          - button [ref=f15e234] [cursor=pointer]
-          - button [ref=f15e237] [cursor=pointer]
-          - button [ref=f15e243] [cursor=pointer]:
-            - button [ref=f15e245]
-          - button "宸ヤ綔鍙�" [ref=f15e249] [cursor=pointer]
-          - button [ref=f15e253] [cursor=pointer]:
-            - img "瓒呯骇绠$悊鍛�" [ref=f15e258]
-      - generic [ref=f15e260]:
-        - generic [ref=f15e265]:
-          - generic [ref=f15e266] [cursor=pointer]: 棣栭〉
-          - generic [ref=f15e284] [cursor=pointer]: 浠撳簱澶у睆
-        - button [ref=f15e301] [cursor=pointer]
-    - main [ref=f15e319]:
-      - generic [ref=f15e321]:
-        - generic [ref=f15e322]:
-          - generic [ref=f15e329]:
-            - heading "浠撳偍鐗╂祦杩愯惀涓績" [level=1] [ref=f15e330]
-            - paragraph [ref=f15e331]: 搴撳瓨鍛ㄨ浆 路 鏅鸿兘鍒嗘瀽 路 鐗╂祦鍗忓悓
-          - generic [ref=f15e333]:
-            - generic [ref=f15e334]:
-              - generic [ref=f15e335]: 绯荤粺姝e父
-              - generic [ref=f15e337]: 鏁版嵁鏇存柊
-            - generic [ref=f15e339]:
-              - generic [ref=f15e340]: 17:18:51
-              - generic [ref=f15e341]: 2026骞�8鏈�5鏃ユ槦鏈熶笁
-            - generic [ref=f15e342]:
-              - generic [ref=f15e344]: 瀹炴椂
-              - generic [ref=f15e345]: 路 17:18:47
-            - button "鍏ㄥ睆" [ref=f15e346] [cursor=pointer]
-        - generic [ref=f15e349]:
-          - generic [ref=f15e357]:
-            - generic [ref=f15e358]: 浠撳簱鏁伴噺
-            - generic [ref=f15e359]: "3"
-          - generic [ref=f15e366]:
-            - generic [ref=f15e367]: 鐗╂枡搴撳瓨鍝佺鏁�
-            - generic [ref=f15e368]: "13"
-          - generic [ref=f15e376]:
-            - generic [ref=f15e377]: 鍒拌揣閫氱煡鏁�
-            - generic [ref=f15e378]: "12"
-          - generic [ref=f15e383]:
-            - generic [ref=f15e384]: 鍑鸿揣閫氱煡鏁�
-            - generic [ref=f15e385]: "19"
-          - generic [ref=f15e393]:
-            - generic [ref=f15e394]: 搴撳瓨鍛ㄨ浆鐜�
-            - generic [ref=f15e395]: "-1.01"
-        - generic [ref=f15e396]:
-          - generic [ref=f15e397]:
-            - generic [ref=f15e398]: 搴撳瓨缁撴瀯鍒嗘瀽
-            - generic [ref=f15e404]: 搴撳瓨瓒嬪娍
-            - generic [ref=f15e410]:
-              - generic [ref=f15e411]: 搴撳瓨棰勮
-              - generic [ref=f15e413]:
-                - generic [ref=f15e414]:
-                  - generic [ref=f15e415]: 浜у搧搴撳簱瀛�
-                  - generic [ref=f15e418]:
-                    - generic [ref=f15e419]: 搴撳瓨涓嶈冻
-                    - generic [ref=f15e420]: "0"
-                - generic [ref=f15e421]:
-                  - generic [ref=f15e422]: 鐗╂枡搴撳簱瀛�
-                  - generic [ref=f15e425]:
-                    - generic [ref=f15e426]: 搴撳瓨姝e父
-                    - generic [ref=f15e427]: 51,502
-                - generic [ref=f15e428]:
-                  - generic [ref=f15e429]: 铏氭嫙绾胯竟浠撳簱搴撳瓨
-                  - generic [ref=f15e432]:
-                    - generic [ref=f15e433]: 搴撳瓨涓嶈冻
-                    - generic [ref=f15e434]: "-23,013.8"
-          - generic [ref=f15e436]:
-            - generic [ref=f15e437]: 鍏ㄥ浗浠撳偍缃戠粶
-            - generic [ref=f15e444]:
-              - generic [ref=f15e445]:
-                - generic [ref=f15e446]: 浠婃棩鍏ュ簱
-                - text: 12,450
-              - generic [ref=f15e447]:
-                - generic [ref=f15e448]: 浠婃棩鍑哄簱
-                - text: 18,750
-              - generic [ref=f15e449]:
-                - generic [ref=f15e450]: 鎬诲簱瀛�
-                - text: 28,488.2
-          - generic [ref=f15e451]:
-            - generic [ref=f15e452]: 鍑哄叆搴撹秼鍔�
-            - generic [ref=f15e458]: 搴撳瓨缁撴瀯
-            - generic [ref=f15e464]:
-              - generic [ref=f15e465]: 瀹炴椂鍔ㄦ��
-              - generic [ref=f15e467]:
-                - generic [ref=f15e468]:
-                  - generic [ref=f15e470]:
-                    - generic [ref=f15e471]: 17:18
-                    - generic [ref=f15e472]: CGDD20260731000002鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f15e473]: 鍒拌揣
-                - generic [ref=f15e474]:
-                  - generic [ref=f15e476]:
-                    - generic [ref=f15e477]: 17:03
-                    - generic [ref=f15e478]: CGDD20260731000001鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f15e479]: 鍑鸿揣
-                - generic [ref=f15e480]:
-                  - generic [ref=f15e482]:
-                    - generic [ref=f15e483]: 16:48
-                    - generic [ref=f15e484]: CGDD20260730000001鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f15e485]: 鍒拌揣
-                - generic [ref=f15e486]:
-                  - generic [ref=f15e488]:
-                    - generic [ref=f15e489]: 16:33
-                    - generic [ref=f15e490]: CGDD20260723000001鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f15e491]: 鍑鸿揣
-                - generic [ref=f15e492]:
-                  - generic [ref=f15e494]:
-                    - generic [ref=f15e495]: 16:18
-                    - generic [ref=f15e496]: CGDD20260716000012鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f15e497]: 鍒拌揣
-                - generic [ref=f15e498]:
-                  - generic [ref=f15e500]:
-                    - generic [ref=f15e501]: 16:03
-                    - generic [ref=f15e502]: CGDD20260716000011鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f15e503]: 鍑鸿揣
-        - generic [ref=f15e504]:
-          - generic [ref=f15e505]:
-            - text: 鏈�杩戝叆搴撹褰�
-            - generic [ref=f15e507]: 瀹炴椂婊氬姩
-          - table [ref=f15e509]:
-            - rowgroup [ref=f15e510]:
-              - row [ref=f15e511]:
-                - columnheader "鍗曞彿" [ref=f15e512]
-                - columnheader "鍚嶇О" [ref=f15e513]
-                - columnheader "鍏ュ簱鏃ユ湡" [ref=f15e514]
-            - rowgroup [ref=f15e515]:
-              - row [ref=f15e516]:
-                - cell "IR1785476459612" [ref=f15e517]
-                - cell "CGDD20260731000002鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f15e518]
-                - cell "2026-07-31 13:41:00" [ref=f15e519]
-              - row [ref=f15e520]:
-                - cell "IR1785476271992" [ref=f15e521]
-                - cell "CGDD20260731000001鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f15e522]
-                - cell "2026-07-31 13:37:52" [ref=f15e523]
-              - row [ref=f15e524]:
-                - cell "IR1785388980793" [ref=f15e525]
-                - cell "CGDD20260730000001鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f15e526]
-                - cell "2026-07-30 13:23:01" [ref=f15e527]
-              - row [ref=f15e528]:
-                - cell "IR1784797962589" [ref=f15e529]
-                - cell "CGDD20260723000001鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f15e530]
-                - cell "2026-07-23 17:12:43" [ref=f15e531]
-              - row [ref=f15e532]:
-                - cell "IR1784195133047" [ref=f15e533]
-                - cell "CGDD20260716000012鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f15e534]
-                - cell "2026-07-16 17:45:33" [ref=f15e535]
-              - row [ref=f15e536]:
-                - cell "IR1784194374037" [ref=f15e537]
-                - cell "CGDD20260716000011鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f15e538]
-                - cell "2026-07-16 17:32:54" [ref=f15e539]
-              - row [ref=f15e540]:
-                - cell "IR1784190584801" [ref=f15e541]
-                - cell "CGDD20260716000010鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f15e542]
-                - cell [ref=f15e543]
-              - row [ref=f15e544]:
-                - cell "IR1784190577802" [ref=f15e545]
-                - cell "CGDD20260716000009鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f15e546]
-                - cell [ref=f15e547]
-              - row [ref=f15e548]:
-                - cell "IR1784186867143" [ref=f15e549]
-                - cell "CGDD20260716000008鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f15e550]
-                - cell "2026-07-16 15:33:04" [ref=f15e551]
-              - row [ref=f15e552]:
-                - cell "IR1784186864769" [ref=f15e553]
-                - cell "CGDD20260716000007鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f15e554]
-                - cell "2026-07-16 15:36:10" [ref=f15e555]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-20-49-932Z.png b/.playwright-mcp/page-2026-08-05T09-20-49-932Z.png
deleted file mode 100644
index 809e8b0..0000000
--- a/.playwright-mcp/page-2026-08-05T09-20-49-932Z.png
+++ /dev/null
Binary files differ
diff --git a/.playwright-mcp/page-2026-08-05T09-25-58-846Z.yml b/.playwright-mcp/page-2026-08-05T09-25-58-846Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-05T09-25-58-846Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-27-33-763Z.yml b/.playwright-mcp/page-2026-08-05T09-27-33-763Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-05T09-27-33-763Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-27-39-409Z.yml b/.playwright-mcp/page-2026-08-05T09-27-39-409Z.yml
deleted file mode 100644
index 42421ad..0000000
--- a/.playwright-mcp/page-2026-08-05T09-27-39-409Z.yml
+++ /dev/null
@@ -1,208 +0,0 @@
-- generic [ref=f18e7]:
-  - complementary [ref=f18e8]:
-    - generic [ref=f18e9]:
-      - link [ref=f18e12] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f18e15]
-      - menu [ref=f18e18]:
-        - menuitem [ref=f18e19] [cursor=pointer]
-        - listitem [ref=f18e25]
-        - listitem [ref=f18e32]
-        - listitem [ref=f18e37]
-        - listitem [ref=f18e42]
-        - listitem [ref=f18e48]
-        - listitem [ref=f18e55]
-        - listitem [ref=f18e61]
-        - listitem [ref=f18e66]
-        - listitem [ref=f18e71]
-        - listitem [ref=f18e76]
-        - listitem [ref=f18e81]
-        - listitem [ref=f18e86]
-        - listitem [ref=f18e91]
-        - listitem [ref=f18e96]
-  - generic [ref=f18e108]:
-    - generic [ref=f18e109]:
-      - banner [ref=f18e110]:
-        - button [ref=f18e111] [cursor=pointer]
-        - button [ref=f18e114] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f18e119]:
-          - list [ref=f18e120]:
-            - listitem [ref=f18e121]:
-              - link [ref=f18e122] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=f18e126]
-            - listitem [ref=f18e129]:
-              - link [disabled] [ref=f18e130]
-        - generic [ref=f18e134]:
-          - generic [ref=f18e136] [cursor=pointer]:
-            - generic [ref=f18e140]: 鎼滅储
-            - generic [ref=f18e141]: Ctrl K
-          - button [ref=f18e143] [cursor=pointer]
-          - button "dark" [ref=f18e148] [cursor=pointer]
-          - button [ref=f18e157] [cursor=pointer]
-          - button [ref=f18e163] [cursor=pointer]
-          - button [ref=f18e166] [cursor=pointer]
-          - button [ref=f18e172] [cursor=pointer]:
-            - button [ref=f18e174]
-          - button "宸ヤ綔鍙�" [ref=f18e178] [cursor=pointer]
-          - button [ref=f18e182] [cursor=pointer]:
-            - img "瓒呯骇绠$悊鍛�" [ref=f18e187]
-      - generic [ref=f18e189]:
-        - generic [ref=f18e194]:
-          - generic [ref=f18e195] [cursor=pointer]: 棣栭〉
-          - generic [ref=f18e213] [cursor=pointer]: 浠撳簱澶у睆
-        - button [ref=f18e230] [cursor=pointer]
-    - main [ref=f18e248]:
-      - generic [ref=f18e250]:
-        - generic [ref=f18e251]:
-          - generic [ref=f18e258]:
-            - heading "浠撳偍鐗╂祦杩愯惀涓績" [level=1] [ref=f18e259]
-            - paragraph [ref=f18e260]: 搴撳瓨鍛ㄨ浆 路 鏅鸿兘鍒嗘瀽 路 鐗╂祦鍗忓悓
-          - generic [ref=f18e262]:
-            - generic [ref=f18e263]:
-              - generic [ref=f18e264]: 绯荤粺姝e父
-              - generic [ref=f18e266]: 鏁版嵁鏇存柊
-            - generic [ref=f18e268]:
-              - generic [ref=f18e269]: 17:27:38
-              - generic [ref=f18e270]: 2026骞�8鏈�5鏃ユ槦鏈熶笁
-            - generic [ref=f18e271]:
-              - generic [ref=f18e273]: 瀹炴椂
-              - generic [ref=f18e274]: 路 17:27:36
-            - button "鍏ㄥ睆" [ref=f18e275] [cursor=pointer]
-        - generic [ref=f18e278]:
-          - generic [ref=f18e286]:
-            - generic [ref=f18e287]: 浠撳簱鏁伴噺
-            - generic [ref=f18e288]: "3"
-          - generic [ref=f18e295]:
-            - generic [ref=f18e296]: 鐗╂枡搴撳瓨鍝佺鏁�
-            - generic [ref=f18e297]: "13"
-          - generic [ref=f18e305]:
-            - generic [ref=f18e306]: 鍒拌揣閫氱煡鏁�
-            - generic [ref=f18e307]: "12"
-          - generic [ref=f18e312]:
-            - generic [ref=f18e313]: 鍑鸿揣閫氱煡鏁�
-            - generic [ref=f18e314]: "19"
-          - generic [ref=f18e322]:
-            - generic [ref=f18e323]: 搴撳瓨鍛ㄨ浆鐜�
-            - generic [ref=f18e324]: "0.38"
-        - generic [ref=f18e325]:
-          - generic [ref=f18e326]:
-            - generic [ref=f18e327]: 搴撳瓨缁撴瀯鍒嗘瀽
-            - generic [ref=f18e333]: 搴撳瓨瓒嬪娍
-            - generic [ref=f18e339]:
-              - generic [ref=f18e340]: 搴撳瓨棰勮
-              - generic [ref=f18e342]:
-                - generic [ref=f18e343]:
-                  - generic [ref=f18e344]: 浜у搧搴撳簱瀛�
-                  - generic [ref=f18e347]:
-                    - generic [ref=f18e348]: 搴撳瓨涓嶈冻
-                    - generic [ref=f18e349]: "0"
-                - generic [ref=f18e350]:
-                  - generic [ref=f18e351]: 鐗╂枡搴撳簱瀛�
-                  - generic [ref=f18e354]:
-                    - generic [ref=f18e355]: 搴撳瓨姝e父
-                    - generic [ref=f18e356]: 51,502
-                - generic [ref=f18e357]:
-                  - generic [ref=f18e358]: 铏氭嫙绾胯竟浠撳簱搴撳瓨
-                  - generic [ref=f18e361]:
-                    - generic [ref=f18e362]: 搴撳瓨涓嶈冻
-                    - generic [ref=f18e363]: "-23,013.8"
-          - generic [ref=f18e365]:
-            - generic [ref=f18e366]: 鍏ㄥ浗浠撳偍缃戠粶
-            - generic [ref=f18e373]:
-              - generic [ref=f18e374]:
-                - generic [ref=f18e375]: 浠婃棩鍏ュ簱(浼�)
-                - text: "4"
-              - generic [ref=f18e376]:
-                - generic [ref=f18e377]: 浠婃棩鍑哄簱(浼�)
-                - text: "4"
-              - generic [ref=f18e378]:
-                - generic [ref=f18e379]: 鎬诲簱瀛�
-                - text: 74,515.8
-          - generic [ref=f18e380]:
-            - generic [ref=f18e381]: 鍑哄叆搴撹秼鍔�
-            - generic [ref=f18e387]: 搴撳瓨缁撴瀯
-            - generic [ref=f18e393]:
-              - generic [ref=f18e394]: 瀹炴椂鍔ㄦ��
-              - generic [ref=f18e396]:
-                - generic [ref=f18e397]:
-                  - generic [ref=f18e399]:
-                    - generic [ref=f18e400]: 17:27
-                    - generic [ref=f18e401]: CGDD20260731000002鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f18e402]: 鍒拌揣
-                - generic [ref=f18e403]:
-                  - generic [ref=f18e405]:
-                    - generic [ref=f18e406]: 17:12
-                    - generic [ref=f18e407]: CGDD20260731000001鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f18e408]: 鍑鸿揣
-                - generic [ref=f18e409]:
-                  - generic [ref=f18e411]:
-                    - generic [ref=f18e412]: 16:57
-                    - generic [ref=f18e413]: CGDD20260730000001鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f18e414]: 鍒拌揣
-                - generic [ref=f18e415]:
-                  - generic [ref=f18e417]:
-                    - generic [ref=f18e418]: 16:42
-                    - generic [ref=f18e419]: CGDD20260723000001鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f18e420]: 鍑鸿揣
-                - generic [ref=f18e421]:
-                  - generic [ref=f18e423]:
-                    - generic [ref=f18e424]: 16:27
-                    - generic [ref=f18e425]: CGDD20260716000012鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f18e426]: 鍒拌揣
-                - generic [ref=f18e427]:
-                  - generic [ref=f18e429]:
-                    - generic [ref=f18e430]: 16:12
-                    - generic [ref=f18e431]: CGDD20260716000011鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f18e432]: 鍑鸿揣
-        - generic [ref=f18e433]:
-          - generic [ref=f18e434]:
-            - text: 鏈�杩戝叆搴撹褰�
-            - generic [ref=f18e436]: 瀹炴椂婊氬姩
-          - table [ref=f18e438]:
-            - rowgroup [ref=f18e439]:
-              - row [ref=f18e440]:
-                - columnheader "鍗曞彿" [ref=f18e441]
-                - columnheader "鍚嶇О" [ref=f18e442]
-                - columnheader "鍏ュ簱鏃ユ湡" [ref=f18e443]
-            - rowgroup [ref=f18e444]:
-              - row [ref=f18e445]:
-                - cell "IR1785476459612" [ref=f18e446]
-                - cell "CGDD20260731000002鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f18e447]
-                - cell "2026-07-31 13:41:00" [ref=f18e448]
-              - row [ref=f18e449]:
-                - cell "IR1785476271992" [ref=f18e450]
-                - cell "CGDD20260731000001鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f18e451]
-                - cell "2026-07-31 13:37:52" [ref=f18e452]
-              - row [ref=f18e453]:
-                - cell "IR1785388980793" [ref=f18e454]
-                - cell "CGDD20260730000001鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f18e455]
-                - cell "2026-07-30 13:23:01" [ref=f18e456]
-              - row [ref=f18e457]:
-                - cell "IR1784797962589" [ref=f18e458]
-                - cell "CGDD20260723000001鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f18e459]
-                - cell "2026-07-23 17:12:43" [ref=f18e460]
-              - row [ref=f18e461]:
-                - cell "IR1784195133047" [ref=f18e462]
-                - cell "CGDD20260716000012鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f18e463]
-                - cell "2026-07-16 17:45:33" [ref=f18e464]
-              - row [ref=f18e465]:
-                - cell "IR1784194374037" [ref=f18e466]
-                - cell "CGDD20260716000011鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f18e467]
-                - cell "2026-07-16 17:32:54" [ref=f18e468]
-              - row [ref=f18e469]:
-                - cell "IR1784190584801" [ref=f18e470]
-                - cell "CGDD20260716000010鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f18e471]
-                - cell [ref=f18e472]
-              - row [ref=f18e473]:
-                - cell "IR1784190577802" [ref=f18e474]
-                - cell "CGDD20260716000009鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f18e475]
-                - cell [ref=f18e476]
-              - row [ref=f18e477]:
-                - cell "IR1784186867143" [ref=f18e478]
-                - cell "CGDD20260716000008鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f18e479]
-                - cell "2026-07-16 15:33:04" [ref=f18e480]
-              - row [ref=f18e481]:
-                - cell "IR1784186864769" [ref=f18e482]
-                - cell "CGDD20260716000007鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f18e483]
-                - cell "2026-07-16 15:36:10" [ref=f18e484]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-29-05-292Z.yml b/.playwright-mcp/page-2026-08-05T09-29-05-292Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-05T09-29-05-292Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-29-11-606Z.yml b/.playwright-mcp/page-2026-08-05T09-29-11-606Z.yml
deleted file mode 100644
index 1785df7..0000000
--- a/.playwright-mcp/page-2026-08-05T09-29-11-606Z.yml
+++ /dev/null
@@ -1,208 +0,0 @@
-- generic [ref=f19e7]:
-  - complementary [ref=f19e8]:
-    - generic [ref=f19e9]:
-      - link [ref=f19e12] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f19e15]
-      - menu [ref=f19e18]:
-        - menuitem [ref=f19e19] [cursor=pointer]
-        - listitem [ref=f19e25]
-        - listitem [ref=f19e32]
-        - listitem [ref=f19e37]
-        - listitem [ref=f19e42]
-        - listitem [ref=f19e48]
-        - listitem [ref=f19e55]
-        - listitem [ref=f19e61]
-        - listitem [ref=f19e66]
-        - listitem [ref=f19e71]
-        - listitem [ref=f19e76]
-        - listitem [ref=f19e81]
-        - listitem [ref=f19e86]
-        - listitem [ref=f19e91]
-        - listitem [ref=f19e96]
-  - generic [ref=f19e108]:
-    - generic [ref=f19e109]:
-      - banner [ref=f19e110]:
-        - button [ref=f19e111] [cursor=pointer]
-        - button [ref=f19e114] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f19e119]:
-          - list [ref=f19e120]:
-            - listitem [ref=f19e121]:
-              - link [ref=f19e122] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=f19e126]
-            - listitem [ref=f19e129]:
-              - link [disabled] [ref=f19e130]
-        - generic [ref=f19e134]:
-          - generic [ref=f19e136] [cursor=pointer]:
-            - generic [ref=f19e140]: 鎼滅储
-            - generic [ref=f19e141]: Ctrl K
-          - button [ref=f19e143] [cursor=pointer]
-          - button "dark" [ref=f19e148] [cursor=pointer]
-          - button [ref=f19e157] [cursor=pointer]
-          - button [ref=f19e163] [cursor=pointer]
-          - button [ref=f19e166] [cursor=pointer]
-          - button [ref=f19e172] [cursor=pointer]:
-            - button [ref=f19e174]
-          - button "宸ヤ綔鍙�" [ref=f19e178] [cursor=pointer]
-          - button [ref=f19e182] [cursor=pointer]:
-            - img "瓒呯骇绠$悊鍛�" [ref=f19e187]
-      - generic [ref=f19e189]:
-        - generic [ref=f19e194]:
-          - generic [ref=f19e195] [cursor=pointer]: 棣栭〉
-          - generic [ref=f19e213] [cursor=pointer]: 浠撳簱澶у睆
-        - button [ref=f19e230] [cursor=pointer]
-    - main [ref=f19e248]:
-      - generic [ref=f19e250]:
-        - generic [ref=f19e251]:
-          - generic [ref=f19e258]:
-            - heading "浠撳偍鐗╂祦杩愯惀涓績" [level=1] [ref=f19e259]
-            - paragraph [ref=f19e260]: 搴撳瓨鍛ㄨ浆 路 鏅鸿兘鍒嗘瀽 路 鐗╂祦鍗忓悓
-          - generic [ref=f19e262]:
-            - generic [ref=f19e263]:
-              - generic [ref=f19e264]: 绯荤粺姝e父
-              - generic [ref=f19e266]: 鏁版嵁鏇存柊
-            - generic [ref=f19e268]:
-              - generic [ref=f19e269]: 17:29:11
-              - generic [ref=f19e270]: 2026骞�8鏈�5鏃ユ槦鏈熶笁
-            - generic [ref=f19e271]:
-              - generic [ref=f19e273]: 瀹炴椂
-              - generic [ref=f19e274]: 路 17:29:07
-            - button "鍏ㄥ睆" [ref=f19e275] [cursor=pointer]
-        - generic [ref=f19e278]:
-          - generic [ref=f19e286]:
-            - generic [ref=f19e287]: 浠撳簱鏁伴噺
-            - generic [ref=f19e288]: "3"
-          - generic [ref=f19e295]:
-            - generic [ref=f19e296]: 鐗╂枡搴撳瓨鍝佺鏁�
-            - generic [ref=f19e297]: "13"
-          - generic [ref=f19e305]:
-            - generic [ref=f19e306]: 鍒拌揣閫氱煡鏁�
-            - generic [ref=f19e307]: "12"
-          - generic [ref=f19e312]:
-            - generic [ref=f19e313]: 鍑鸿揣閫氱煡鏁�
-            - generic [ref=f19e314]: "19"
-          - generic [ref=f19e322]:
-            - generic [ref=f19e323]: 搴撳瓨鍛ㄨ浆鐜�
-            - generic [ref=f19e324]: "0.38"
-        - generic [ref=f19e325]:
-          - generic [ref=f19e326]:
-            - generic [ref=f19e327]: 搴撳瓨缁撴瀯鍒嗘瀽
-            - generic [ref=f19e333]: 搴撳瓨瓒嬪娍
-            - generic [ref=f19e339]:
-              - generic [ref=f19e340]: 搴撳瓨棰勮
-              - generic [ref=f19e342]:
-                - generic [ref=f19e343]:
-                  - generic [ref=f19e344]: 浜у搧搴撳簱瀛�
-                  - generic [ref=f19e347]:
-                    - generic [ref=f19e348]: 搴撳瓨涓嶈冻
-                    - generic [ref=f19e349]: "0"
-                - generic [ref=f19e350]:
-                  - generic [ref=f19e351]: 鐗╂枡搴撳簱瀛�
-                  - generic [ref=f19e354]:
-                    - generic [ref=f19e355]: 搴撳瓨姝e父
-                    - generic [ref=f19e356]: 51,502
-                - generic [ref=f19e357]:
-                  - generic [ref=f19e358]: 铏氭嫙绾胯竟浠撳簱搴撳瓨
-                  - generic [ref=f19e361]:
-                    - generic [ref=f19e362]: 搴撳瓨涓嶈冻
-                    - generic [ref=f19e363]: "-23,013.8"
-          - generic [ref=f19e365]:
-            - generic [ref=f19e366]: 鍏ㄥ浗浠撳偍缃戠粶
-            - generic [ref=f19e373]:
-              - generic [ref=f19e374]:
-                - generic [ref=f19e375]: 浠婃棩鍏ュ簱(浼�)
-                - text: "4"
-              - generic [ref=f19e376]:
-                - generic [ref=f19e377]: 浠婃棩鍑哄簱(浼�)
-                - text: "4"
-              - generic [ref=f19e378]:
-                - generic [ref=f19e379]: 鎬诲簱瀛�
-                - text: 74,515.8
-          - generic [ref=f19e380]:
-            - generic [ref=f19e381]: 鍑哄叆搴撹秼鍔�
-            - generic [ref=f19e387]: 搴撳瓨缁撴瀯
-            - generic [ref=f19e393]:
-              - generic [ref=f19e394]: 瀹炴椂鍔ㄦ��
-              - generic [ref=f19e396]:
-                - generic [ref=f19e397]:
-                  - generic [ref=f19e399]:
-                    - generic [ref=f19e400]: 17:29
-                    - generic [ref=f19e401]: CGDD20260731000002鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f19e402]: 鍒拌揣
-                - generic [ref=f19e403]:
-                  - generic [ref=f19e405]:
-                    - generic [ref=f19e406]: 17:14
-                    - generic [ref=f19e407]: CGDD20260731000001鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f19e408]: 鍑鸿揣
-                - generic [ref=f19e409]:
-                  - generic [ref=f19e411]:
-                    - generic [ref=f19e412]: 16:59
-                    - generic [ref=f19e413]: CGDD20260730000001鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f19e414]: 鍒拌揣
-                - generic [ref=f19e415]:
-                  - generic [ref=f19e417]:
-                    - generic [ref=f19e418]: 16:44
-                    - generic [ref=f19e419]: CGDD20260723000001鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f19e420]: 鍑鸿揣
-                - generic [ref=f19e421]:
-                  - generic [ref=f19e423]:
-                    - generic [ref=f19e424]: 16:29
-                    - generic [ref=f19e425]: CGDD20260716000012鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f19e426]: 鍒拌揣
-                - generic [ref=f19e427]:
-                  - generic [ref=f19e429]:
-                    - generic [ref=f19e430]: 16:14
-                    - generic [ref=f19e431]: CGDD20260716000011鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f19e432]: 鍑鸿揣
-        - generic [ref=f19e433]:
-          - generic [ref=f19e434]:
-            - text: 鏈�杩戝叆搴撹褰�
-            - generic [ref=f19e436]: 瀹炴椂婊氬姩
-          - table [ref=f19e438]:
-            - rowgroup [ref=f19e439]:
-              - row [ref=f19e440]:
-                - columnheader "鍗曞彿" [ref=f19e441]
-                - columnheader "鍚嶇О" [ref=f19e442]
-                - columnheader "鍏ュ簱鏃ユ湡" [ref=f19e443]
-            - rowgroup [ref=f19e444]:
-              - row [ref=f19e445]:
-                - cell "IR1785476459612" [ref=f19e446]
-                - cell "CGDD20260731000002鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f19e447]
-                - cell "2026-07-31 13:41:00" [ref=f19e448]
-              - row [ref=f19e449]:
-                - cell "IR1785476271992" [ref=f19e450]
-                - cell "CGDD20260731000001鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f19e451]
-                - cell "2026-07-31 13:37:52" [ref=f19e452]
-              - row [ref=f19e453]:
-                - cell "IR1785388980793" [ref=f19e454]
-                - cell "CGDD20260730000001鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f19e455]
-                - cell "2026-07-30 13:23:01" [ref=f19e456]
-              - row [ref=f19e457]:
-                - cell "IR1784797962589" [ref=f19e458]
-                - cell "CGDD20260723000001鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f19e459]
-                - cell "2026-07-23 17:12:43" [ref=f19e460]
-              - row [ref=f19e461]:
-                - cell "IR1784195133047" [ref=f19e462]
-                - cell "CGDD20260716000012鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f19e463]
-                - cell "2026-07-16 17:45:33" [ref=f19e464]
-              - row [ref=f19e465]:
-                - cell "IR1784194374037" [ref=f19e466]
-                - cell "CGDD20260716000011鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f19e467]
-                - cell "2026-07-16 17:32:54" [ref=f19e468]
-              - row [ref=f19e469]:
-                - cell "IR1784190584801" [ref=f19e470]
-                - cell "CGDD20260716000010鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f19e471]
-                - cell [ref=f19e472]
-              - row [ref=f19e473]:
-                - cell "IR1784190577802" [ref=f19e474]
-                - cell "CGDD20260716000009鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f19e475]
-                - cell [ref=f19e476]
-              - row [ref=f19e477]:
-                - cell "IR1784186867143" [ref=f19e478]
-                - cell "CGDD20260716000008鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f19e479]
-                - cell "2026-07-16 15:33:04" [ref=f19e480]
-              - row [ref=f19e481]:
-                - cell "IR1784186864769" [ref=f19e482]
-                - cell "CGDD20260716000007鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f19e483]
-                - cell "2026-07-16 15:36:10" [ref=f19e484]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-33-00-314Z.yml b/.playwright-mcp/page-2026-08-05T09-33-00-314Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-05T09-33-00-314Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-39-43-280Z.yml b/.playwright-mcp/page-2026-08-05T09-39-43-280Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-05T09-39-43-280Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-39-54-145Z.yml b/.playwright-mcp/page-2026-08-05T09-39-54-145Z.yml
deleted file mode 100644
index f978150..0000000
--- a/.playwright-mcp/page-2026-08-05T09-39-54-145Z.yml
+++ /dev/null
@@ -1,139 +0,0 @@
-- generic [ref=f23e7]:
-  - complementary [ref=f23e8]:
-    - generic [ref=f23e9]:
-      - link [ref=f23e12] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f23e15]
-      - menu [ref=f23e18]:
-        - menuitem [ref=f23e19] [cursor=pointer]
-        - listitem [ref=f23e22]
-        - listitem [ref=f23e26]
-        - listitem [ref=f23e30]
-        - listitem [ref=f23e34]
-        - listitem [ref=f23e38]
-        - listitem [ref=f23e42]
-        - listitem [ref=f23e46]
-        - listitem [ref=f23e50]
-        - listitem [ref=f23e54]
-        - listitem [ref=f23e58]
-        - listitem [ref=f23e62]
-        - listitem [ref=f23e66]
-        - listitem [ref=f23e70]
-        - listitem [ref=f23e74]
-  - generic [ref=f23e84]:
-    - generic [ref=f23e85]:
-      - banner [ref=f23e86]:
-        - button [ref=f23e87] [cursor=pointer]
-        - button [ref=f23e89] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f23e94]:
-          - list [ref=f23e95]:
-            - listitem [ref=f23e96]:
-              - link [ref=f23e97] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=f23e100]
-            - listitem [ref=f23e103]:
-              - link [disabled] [ref=f23e104]
-        - generic [ref=f23e108]:
-          - generic [ref=f23e110] [cursor=pointer]:
-            - generic [ref=f23e114]: 鎼滅储
-            - generic [ref=f23e115]: Ctrl K
-          - button [ref=f23e117] [cursor=pointer]
-          - button "dark" [ref=f23e122] [cursor=pointer]
-          - button [ref=f23e131] [cursor=pointer]
-          - button [ref=f23e137] [cursor=pointer]
-          - button [ref=f23e139] [cursor=pointer]
-          - button [ref=f23e145] [cursor=pointer]:
-            - button [ref=f23e147]
-          - button "宸ヤ綔鍙�" [ref=f23e151] [cursor=pointer]
-          - button [ref=f23e154] [cursor=pointer]:
-            - img "瓒呯骇绠$悊鍛�" [ref=f23e159]
-      - generic [ref=f23e161]:
-        - generic [ref=f23e166]:
-          - generic [ref=f23e167] [cursor=pointer]: 棣栭〉
-          - generic [ref=f23e182] [cursor=pointer]: 閲囪喘閿�鍞敭鍚庡ぇ灞�
-        - button [ref=f23e199] [cursor=pointer]
-    - main [ref=f23e217]:
-      - generic [ref=f23e219]:
-        - generic [ref=f23e220]:
-          - generic [ref=f23e224]:
-            - heading "閲囪喘 路 閿�鍞� 路 鍞悗" [level=1] [ref=f23e225]
-            - paragraph [ref=f23e226]: 渚涘簲閾惧叏閾捐矾缁忚惀鍐崇瓥鐪嬫澘
-          - generic [ref=f23e228]:
-            - generic [ref=f23e229]:
-              - generic [ref=f23e230]: 绯荤粺姝e父
-              - generic [ref=f23e232]: 鏁版嵁鏇存柊
-            - generic [ref=f23e234]:
-              - generic [ref=f23e235]: 17:39:53
-              - generic [ref=f23e236]: 2026骞�8鏈�5鏃ユ槦鏈熶笁
-            - generic [ref=f23e237]:
-              - generic [ref=f23e239]: 瀹炴椂
-              - generic [ref=f23e292]: 路 17:39:46
-            - button "鍏ㄥ睆" [ref=f23e240] [cursor=pointer]
-        - generic [ref=f23e294]:
-          - generic [ref=f23e302]:
-            - generic [ref=f23e303]: 閲囪喘璁㈠崟鎬绘暟
-            - generic [ref=f23e304]: "14"
-          - generic [ref=f23e311]:
-            - generic [ref=f23e312]: 閿�鍞鍗曟�绘暟
-            - generic [ref=f23e313]: "22"
-          - generic [ref=f23e318]:
-            - generic [ref=f23e319]: 瀹㈡埛鎬绘暟
-            - generic [ref=f23e320]: "6"
-          - generic [ref=f23e325]:
-            - generic [ref=f23e326]: 渚涘簲鍟嗘�绘暟
-            - generic [ref=f23e327]: "1"
-        - generic [ref=f23e328]:
-          - generic [ref=f23e329]: 閲囪喘璁㈠崟鏈堝害瓒嬪娍
-          - generic [ref=f23e337]: 閿�鍞鍗曟湀搴﹁秼鍔�
-          - generic [ref=f23e345]: 閲囪喘璁㈠崟鐘舵�佸垎甯�
-        - generic [ref=f23e353]:
-          - generic [ref=f23e354]:
-            - generic [ref=f23e356]: 鏈�杩戦噰璐鍗�
-            - generic [ref=f23e357]: 瀹炴椂婊氬姩
-          - table [ref=f23e359]:
-            - rowgroup [ref=f23e360]:
-              - row [ref=f23e361]:
-                - columnheader "璁㈠崟鍙�" [ref=f23e362]
-                - columnheader "閲戦" [ref=f23e363]
-                - columnheader "涓嬪崟鏃堕棿" [ref=f23e364]
-            - rowgroup [ref=f23e365]:
-              - row [ref=f23e366]:
-                - cell "CGDD20260731000002" [ref=f23e367]
-                - cell "100000" [ref=f23e368]
-                - cell "2026-07-31 13:40:23" [ref=f23e369]
-              - row [ref=f23e370]:
-                - cell "CGDD20260731000001" [ref=f23e371]
-                - cell "100000" [ref=f23e372]
-                - cell "2026-07-31 13:37:07" [ref=f23e373]
-              - row [ref=f23e374]:
-                - cell "CGDD20260730000002" [ref=f23e375]
-                - cell "1510554.6" [ref=f23e376]
-                - cell "2026-07-30 17:44:23" [ref=f23e377]
-              - row [ref=f23e378]:
-                - cell "CGDD20260730000007" [ref=f23e379]
-                - cell "100700" [ref=f23e380]
-                - cell "2026-07-30 13:05:50" [ref=f23e381]
-              - row [ref=f23e382]:
-                - cell "CGDD20260730000001" [ref=f23e383]
-                - cell "1378000" [ref=f23e384]
-                - cell "2026-07-30 09:22:11" [ref=f23e385]
-              - row [ref=f23e386]:
-                - cell "CGDD20260729000005" [ref=f23e387]
-                - cell "101" [ref=f23e388]
-                - cell "2026-07-29 15:32:16" [ref=f23e389]
-              - row [ref=f23e390]:
-                - cell "CGDD20260729000004" [ref=f23e391]
-                - cell "1111" [ref=f23e392]
-                - cell "2026-07-29 15:00:13" [ref=f23e393]
-              - row [ref=f23e394]:
-                - cell "CGDD20260724000002" [ref=f23e395]
-                - cell "10.1" [ref=f23e396]
-                - cell "2026-07-24 14:41:07" [ref=f23e397]
-              - row [ref=f23e398]:
-                - cell "CGDD20260724000001" [ref=f23e399]
-                - cell "23" [ref=f23e400]
-                - cell "2026-07-24 09:41:44" [ref=f23e401]
-              - row [ref=f23e402]:
-                - cell "CGDD20260723000001" [ref=f23e403]
-                - cell "10.38" [ref=f23e404]
-                - cell "2026-07-23 17:11:43" [ref=f23e405]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-40-09-408Z.yml b/.playwright-mcp/page-2026-08-05T09-40-09-408Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-05T09-40-09-408Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-40-13-937Z.yml b/.playwright-mcp/page-2026-08-05T09-40-13-937Z.yml
deleted file mode 100644
index 3c97327..0000000
--- a/.playwright-mcp/page-2026-08-05T09-40-13-937Z.yml
+++ /dev/null
@@ -1,147 +0,0 @@
-- generic [ref=f24e7]:
-  - complementary [ref=f24e8]:
-    - generic [ref=f24e9]:
-      - link [ref=f24e12] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f24e15]
-      - menu [ref=f24e18]:
-        - menuitem [ref=f24e19] [cursor=pointer]
-        - listitem [ref=f24e25]
-        - listitem [ref=f24e32]
-        - listitem [ref=f24e37]
-        - listitem [ref=f24e42]
-        - listitem [ref=f24e48]
-        - listitem [ref=f24e55]
-        - listitem [ref=f24e61]
-        - listitem [ref=f24e66]
-        - listitem [ref=f24e71]
-        - listitem [ref=f24e76]
-        - listitem [ref=f24e81]
-        - listitem [ref=f24e86]
-        - listitem [ref=f24e91]
-        - listitem [ref=f24e96]
-  - generic [ref=f24e108]:
-    - generic [ref=f24e109]:
-      - banner [ref=f24e110]:
-        - button [ref=f24e111] [cursor=pointer]
-        - button [ref=f24e114] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f24e119]:
-          - list [ref=f24e120]:
-            - listitem [ref=f24e121]:
-              - link [ref=f24e122] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=f24e126]
-            - listitem [ref=f24e129]:
-              - link [disabled] [ref=f24e130]
-        - generic [ref=f24e138]:
-          - generic [ref=f24e140] [cursor=pointer]:
-            - generic [ref=f24e144]: 鎼滅储
-            - generic [ref=f24e145]: Ctrl K
-          - button [ref=f24e147] [cursor=pointer]
-          - button "dark" [ref=f24e152] [cursor=pointer]
-          - button [ref=f24e161] [cursor=pointer]
-          - button [ref=f24e167] [cursor=pointer]
-          - button [ref=f24e170] [cursor=pointer]
-          - button [ref=f24e176] [cursor=pointer]:
-            - button [ref=f24e178]
-          - button "宸ヤ綔鍙�" [ref=f24e182] [cursor=pointer]
-          - button [ref=f24e186] [cursor=pointer]:
-            - img "瓒呯骇绠$悊鍛�" [ref=f24e191]
-      - generic [ref=f24e193]:
-        - generic [ref=f24e198]:
-          - generic [ref=f24e199] [cursor=pointer]: 棣栭〉
-          - generic [ref=f24e217] [cursor=pointer]: 鐢熶骇璁惧澶у睆
-        - button [ref=f24e238] [cursor=pointer]
-    - main [ref=f24e256]:
-      - generic [ref=f24e258]:
-        - generic [ref=f24e259]:
-          - generic [ref=f24e264]:
-            - heading "鐢熶骇 路 璁惧" [level=1] [ref=f24e265]
-            - paragraph [ref=f24e266]: 鐢熶骇鎵ц涓庤澶囪繍琛屾晥鐜囩湅鏉�
-          - generic [ref=f24e268]:
-            - generic [ref=f24e269]:
-              - generic [ref=f24e270]: 绯荤粺姝e父
-              - generic [ref=f24e272]: 鏁版嵁鏇存柊
-            - generic [ref=f24e274]:
-              - generic [ref=f24e275]: 17:40:13
-              - generic [ref=f24e276]: 2026骞�8鏈�5鏃ユ槦鏈熶笁
-            - generic [ref=f24e277]:
-              - generic [ref=f24e279]: 瀹炴椂
-              - generic [ref=f24e280]: 路 17:40:11
-            - button "鍏ㄥ睆" [ref=f24e281] [cursor=pointer]
-        - generic [ref=f24e284]:
-          - generic [ref=f24e289]:
-            - generic [ref=f24e290]: 宸ュ崟鎬绘暟
-            - generic [ref=f24e291]: "47"
-          - generic [ref=f24e299]:
-            - generic [ref=f24e300]: 璁惧鎬绘暟
-            - generic [ref=f24e301]: "1"
-          - generic [ref=f24e306]:
-            - generic [ref=f24e307]: 鏈湀鎶ュ伐鏁�
-            - generic [ref=f24e308]: "5"
-        - generic [ref=f24e309]:
-          - generic [ref=f24e310]: 宸ュ崟瀹屾垚鐜�
-          - generic [ref=f24e318]: 宸ュ崟鐘舵�佸垎甯�
-          - generic [ref=f24e326]: 宸ュ崟绫诲瀷鍒嗗竷
-        - generic [ref=f24e334]:
-          - generic [ref=f24e335]:
-            - generic [ref=f24e337]: 鏈�杩戝伐鍗曞垪琛�
-            - generic [ref=f24e338]: 瀹炴椂婊氬姩
-          - table [ref=f24e340]:
-            - rowgroup [ref=f24e341]:
-              - row [ref=f24e342]:
-                - columnheader "宸ュ崟鍙�" [ref=f24e343]
-                - columnheader "宸ュ崟鍚嶇О" [ref=f24e344]
-                - columnheader "鐢熶骇鏁伴噺" [ref=f24e345]
-                - columnheader "闇�姹傛棩鏈�" [ref=f24e346]
-            - rowgroup [ref=f24e347]:
-              - row [ref=f24e348]:
-                - cell "WO_20260730001" [ref=f24e349]
-                - cell "娴嬭瘯搴撳瓨瓒充笉瓒�" [ref=f24e350]
-                - cell "1000" [ref=f24e351]
-                - cell "2026-07-30 00:00:00" [ref=f24e352]
-              - row [ref=f24e353]:
-                - cell "WO1784883668267" [ref=f24e354]
-                - cell "鐢熶骇宸ュ崟-MPS20260724002" [ref=f24e355]
-                - cell "234" [ref=f24e356]
-                - cell "2026-07-24 17:01:00" [ref=f24e357]
-              - row [ref=f24e358]:
-                - cell "WO1784883041005" [ref=f24e359]
-                - cell "鐢熶骇宸ュ崟-MPS20260724001" [ref=f24e360]
-                - cell "100" [ref=f24e361]
-                - cell "2026-07-24 16:50:28" [ref=f24e362]
-              - row [ref=f24e363]:
-                - cell "WO_20260724003" [ref=f24e364]
-                - cell "閰掓硥" [ref=f24e365]
-                - cell "1" [ref=f24e366]
-                - cell "2026-07-24 09:41:41" [ref=f24e367]
-              - row [ref=f24e368]:
-                - cell "WO_20260724002" [ref=f24e369]
-                - cell "閰掓硥" [ref=f24e370]
-                - cell "100" [ref=f24e371]
-                - cell "2026-07-24 09:25:22" [ref=f24e372]
-              - row [ref=f24e373]:
-                - cell "WO_20260724001" [ref=f24e374]
-                - cell "閰掓硥" [ref=f24e375]
-                - cell "1" [ref=f24e376]
-                - cell "2026-07-24 09:16:58" [ref=f24e377]
-              - row [ref=f24e378]:
-                - cell "WO_20260723002" [ref=f24e379]
-                - cell "閰掓硥" [ref=f24e380]
-                - cell "11" [ref=f24e381]
-                - cell "2026-07-23 17:21:50" [ref=f24e382]
-              - row [ref=f24e383]:
-                - cell "WO_20260723001" [ref=f24e384]
-                - cell "1213" [ref=f24e385]
-                - cell "12" [ref=f24e386]
-                - cell "2026-07-31 17:18:35" [ref=f24e387]
-              - row [ref=f24e388]:
-                - cell "12" [ref=f24e389]
-                - cell "12" [ref=f24e390]
-                - cell "12" [ref=f24e391]
-                - cell "2026-07-31 17:14:31" [ref=f24e392]
-              - row [ref=f24e393]:
-                - cell "WO_20260722015" [ref=f24e394]
-                - cell "閰掓硥" [ref=f24e395]
-                - cell "12" [ref=f24e396]
-                - cell "2026-07-22 17:36:18" [ref=f24e397]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-40-19-588Z.yml b/.playwright-mcp/page-2026-08-05T09-40-19-588Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-05T09-40-19-588Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-40-24-098Z.yml b/.playwright-mcp/page-2026-08-05T09-40-24-098Z.yml
deleted file mode 100644
index 0ad4f4b..0000000
--- a/.playwright-mcp/page-2026-08-05T09-40-24-098Z.yml
+++ /dev/null
@@ -1,147 +0,0 @@
-- generic [ref=f25e7]:
-  - complementary [ref=f25e8]:
-    - generic [ref=f25e9]:
-      - link [ref=f25e12] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f25e15]
-      - menu [ref=f25e18]:
-        - menuitem [ref=f25e19] [cursor=pointer]
-        - listitem [ref=f25e25]
-        - listitem [ref=f25e32]
-        - listitem [ref=f25e37]
-        - listitem [ref=f25e42]
-        - listitem [ref=f25e48]
-        - listitem [ref=f25e55]
-        - listitem [ref=f25e61]
-        - listitem [ref=f25e66]
-        - listitem [ref=f25e71]
-        - listitem [ref=f25e76]
-        - listitem [ref=f25e81]
-        - listitem [ref=f25e86]
-        - listitem [ref=f25e91]
-        - listitem [ref=f25e96]
-  - generic [ref=f25e108]:
-    - generic [ref=f25e109]:
-      - banner [ref=f25e110]:
-        - button [ref=f25e111] [cursor=pointer]
-        - button [ref=f25e114] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f25e119]:
-          - list [ref=f25e120]:
-            - listitem [ref=f25e121]:
-              - link [ref=f25e122] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=f25e126]
-            - listitem [ref=f25e129]:
-              - link [disabled] [ref=f25e130]
-        - generic [ref=f25e136]:
-          - generic [ref=f25e138] [cursor=pointer]:
-            - generic [ref=f25e142]: 鎼滅储
-            - generic [ref=f25e143]: Ctrl K
-          - button [ref=f25e145] [cursor=pointer]
-          - button "dark" [ref=f25e150] [cursor=pointer]
-          - button [ref=f25e159] [cursor=pointer]
-          - button [ref=f25e165] [cursor=pointer]
-          - button [ref=f25e168] [cursor=pointer]
-          - button [ref=f25e174] [cursor=pointer]:
-            - button [ref=f25e176]
-          - button "宸ヤ綔鍙�" [ref=f25e180] [cursor=pointer]
-          - button [ref=f25e184] [cursor=pointer]:
-            - img "瓒呯骇绠$悊鍛�" [ref=f25e189]
-      - generic [ref=f25e191]:
-        - generic [ref=f25e196]:
-          - generic [ref=f25e197] [cursor=pointer]: 棣栭〉
-          - generic [ref=f25e215] [cursor=pointer]: 璐ㄩ噺澶у睆
-        - button [ref=f25e234] [cursor=pointer]
-    - main [ref=f25e252]:
-      - generic [ref=f25e254]:
-        - generic [ref=f25e255]:
-          - generic [ref=f25e262]:
-            - heading "璐ㄩ噺绠$悊" [level=1] [ref=f25e263]
-            - paragraph [ref=f25e264]: 璐ㄦ杈炬爣涓庤川閲忚秼鍔跨洃鎺х湅鏉�
-          - generic [ref=f25e266]:
-            - generic [ref=f25e267]:
-              - generic [ref=f25e268]: 绯荤粺姝e父
-              - generic [ref=f25e270]: 鏁版嵁鏇存柊
-            - generic [ref=f25e272]:
-              - generic [ref=f25e273]: 17:40:23
-              - generic [ref=f25e274]: 2026骞�8鏈�5鏃ユ槦鏈熶笁
-            - generic [ref=f25e275]:
-              - generic [ref=f25e277]: 瀹炴椂
-              - generic [ref=f25e278]: 路 17:40:21
-            - button "鍏ㄥ睆" [ref=f25e279] [cursor=pointer]
-        - generic [ref=f25e282]:
-          - generic [ref=f25e289]:
-            - generic [ref=f25e290]: 鏉ユ枡妫�楠屾�绘暟
-            - generic [ref=f25e291]: "3"
-          - generic [ref=f25e298]:
-            - generic [ref=f25e299]: 鍒剁▼妫�楠屾�绘暟
-            - generic [ref=f25e300]: "7"
-          - generic [ref=f25e307]:
-            - generic [ref=f25e308]: 鍑鸿揣妫�楠屾�绘暟
-            - generic [ref=f25e309]: "2"
-        - generic [ref=f25e310]:
-          - generic [ref=f25e311]: 鏉ユ枡鍚堟牸鐜�
-          - generic [ref=f25e319]: 妫�楠岀被鍨嬪垎甯�
-          - generic [ref=f25e327]: 鏈堝害妫�楠岃秼鍔�
-        - generic [ref=f25e335]:
-          - generic [ref=f25e336]:
-            - generic [ref=f25e338]: 鏈�杩戞楠岃褰�
-            - generic [ref=f25e339]: 瀹炴椂婊氬姩
-          - table [ref=f25e341]:
-            - rowgroup [ref=f25e342]:
-              - row [ref=f25e343]:
-                - columnheader "绫诲瀷" [ref=f25e344]
-                - columnheader "鍗曞彿" [ref=f25e345]
-                - columnheader "鍚嶇О" [ref=f25e346]
-                - columnheader "妫�楠屾棩鏈�" [ref=f25e347]
-            - rowgroup [ref=f25e348]:
-              - row [ref=f25e349]:
-                - cell "鍒剁▼妫�楠�" [ref=f25e350]
-                - cell "IPQC_20260804002" [ref=f25e351]
-                - cell "FB_20260804023 杩囩▼妫�楠屽崟" [ref=f25e352]
-                - cell "2026-08-04 16:16:43" [ref=f25e353]
-              - row [ref=f25e354]:
-                - cell "鍒剁▼妫�楠�" [ref=f25e355]
-                - cell "IPQC_20260804001" [ref=f25e356]
-                - cell "FB_20260804006 杩囩▼妫�楠屽崟" [ref=f25e357]
-                - cell "2026-08-04 15:53:27" [ref=f25e358]
-              - row [ref=f25e359]:
-                - cell "鍒剁▼妫�楠�" [ref=f25e360]
-                - cell "IPQC_20260729002" [ref=f25e361]
-                - cell "FB_20260729002 杩囩▼妫�楠屽崟" [ref=f25e362]
-                - cell "2026-07-29 17:17:42" [ref=f25e363]
-              - row [ref=f25e364]:
-                - cell "鍒剁▼妫�楠�" [ref=f25e365]
-                - cell "IPQC_20260729001" [ref=f25e366]
-                - cell "鏂颁簯-缁垮笡閽欎笟" [ref=f25e367]
-                - cell "2026-07-29 17:16:12" [ref=f25e368]
-              - row [ref=f25e369]:
-                - cell "鍒剁▼妫�楠�" [ref=f25e370]
-                - cell "IPQC_20260723002" [ref=f25e371]
-                - cell "FB_20260723016 杩囩▼妫�楠屽崟" [ref=f25e372]
-                - cell "2026-07-23 17:37:26" [ref=f25e373]
-              - row [ref=f25e374]:
-                - cell "鍒剁▼妫�楠�" [ref=f25e375]
-                - cell "IPQC_20260723001" [ref=f25e376]
-                - cell "FB_20260723012 杩囩▼妫�楠屽崟" [ref=f25e377]
-                - cell "2026-07-23 13:54:10" [ref=f25e378]
-              - row [ref=f25e379]:
-                - cell "鍑鸿揣妫�楠�" [ref=f25e380]
-                - cell "OQC1784354388357" [ref=f25e381]
-                - cell "SL_20260718008-鍑鸿揣妫�楠�" [ref=f25e382]
-                - cell "2026-07-18 13:59:48" [ref=f25e383]
-              - row [ref=f25e384]:
-                - cell "鍑鸿揣妫�楠�" [ref=f25e385]
-                - cell "OQC1784279196217" [ref=f25e386]
-                - cell "SL_20260717002-鍑鸿揣妫�楠�" [ref=f25e387]
-                - cell "2026-07-17 17:06:36" [ref=f25e388]
-              - row [ref=f25e389]:
-                - cell "鍒剁▼妫�楠�" [ref=f25e390]
-                - cell "IPQC_20260717004" [ref=f25e391]
-                - cell "娴嬭瘯鍗�" [ref=f25e392]
-                - cell "2026-07-17 16:00:39" [ref=f25e393]
-              - row [ref=f25e394]:
-                - cell "鏉ユ枡妫�楠�" [ref=f25e395]
-                - cell "IQC1784193321794" [ref=f25e396]
-                - cell "AN1784193321719-鐗╂枡妫�楠�" [ref=f25e397]
-                - cell "2026-07-16 17:29:19" [ref=f25e398]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-40-28-333Z.yml b/.playwright-mcp/page-2026-08-05T09-40-28-333Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-05T09-40-28-333Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-40-33-342Z.yml b/.playwright-mcp/page-2026-08-05T09-40-33-342Z.yml
deleted file mode 100644
index a8b7558..0000000
--- a/.playwright-mcp/page-2026-08-05T09-40-33-342Z.yml
+++ /dev/null
@@ -1,114 +0,0 @@
-- generic [ref=f26e7]:
-  - complementary [ref=f26e8]:
-    - generic [ref=f26e9]:
-      - link [ref=f26e12] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f26e15]
-      - menu [ref=f26e18]:
-        - menuitem [ref=f26e19] [cursor=pointer]
-        - listitem [ref=f26e25]
-        - listitem [ref=f26e32]
-        - listitem [ref=f26e37]
-        - listitem [ref=f26e42]
-        - listitem [ref=f26e48]
-        - listitem [ref=f26e55]
-        - listitem [ref=f26e61]
-        - listitem [ref=f26e66]
-        - listitem [ref=f26e71]
-        - listitem [ref=f26e76]
-        - listitem [ref=f26e81]
-        - listitem [ref=f26e86]
-        - listitem [ref=f26e91]
-        - listitem [ref=f26e96]
-  - generic [ref=f26e108]:
-    - generic [ref=f26e109]:
-      - banner [ref=f26e110]:
-        - button [ref=f26e111] [cursor=pointer]
-        - button [ref=f26e114] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f26e119]:
-          - list [ref=f26e120]:
-            - listitem [ref=f26e121]:
-              - link [ref=f26e122] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=f26e126]
-            - listitem [ref=f26e129]:
-              - link [disabled] [ref=f26e130]
-        - generic [ref=f26e137]:
-          - generic [ref=f26e139] [cursor=pointer]:
-            - generic [ref=f26e143]: 鎼滅储
-            - generic [ref=f26e144]: Ctrl K
-          - button [ref=f26e146] [cursor=pointer]
-          - button "dark" [ref=f26e151] [cursor=pointer]
-          - button [ref=f26e160] [cursor=pointer]
-          - button [ref=f26e166] [cursor=pointer]
-          - button [ref=f26e169] [cursor=pointer]
-          - button [ref=f26e175] [cursor=pointer]:
-            - button [ref=f26e177]
-          - button "宸ヤ綔鍙�" [ref=f26e181] [cursor=pointer]
-          - button [ref=f26e185] [cursor=pointer]:
-            - img "瓒呯骇绠$悊鍛�" [ref=f26e190]
-      - generic [ref=f26e192]:
-        - generic [ref=f26e197]:
-          - generic [ref=f26e198] [cursor=pointer]: 棣栭〉
-          - generic [ref=f26e216] [cursor=pointer]: 浜鸿祫鍔炲叕澶у睆
-        - button [ref=f26e236] [cursor=pointer]
-    - main [ref=f26e254]:
-      - generic [ref=f26e256]:
-        - generic [ref=f26e257]:
-          - generic [ref=f26e264]:
-            - heading "浜哄姏璧勬簮 路 鍗忓悓鍔炲叕" [level=1] [ref=f26e265]
-            - paragraph [ref=f26e266]: 缁勭粐鏁堣兘涓庡崗鍚屾晥鐜囧垎鏋愮湅鏉�
-          - generic [ref=f26e268]:
-            - generic [ref=f26e269]:
-              - generic [ref=f26e270]: 绯荤粺姝e父
-              - generic [ref=f26e272]: 鏁版嵁鏇存柊
-            - generic [ref=f26e274]:
-              - generic [ref=f26e275]: 17:40:32
-              - generic [ref=f26e276]: 2026骞�8鏈�5鏃ユ槦鏈熶笁
-            - generic [ref=f26e277]:
-              - generic [ref=f26e279]: 瀹炴椂
-              - generic [ref=f26e280]: 路 17:40:30
-            - button "鍏ㄥ睆" [ref=f26e281] [cursor=pointer]
-        - generic [ref=f26e284]:
-          - generic [ref=f26e291]:
-            - generic [ref=f26e292]: 鍦ㄨ亴鍛樺伐鏁�
-            - generic [ref=f26e293]: "4"
-          - generic [ref=f26e298]:
-            - generic [ref=f26e299]: 璇峰亣鐢宠鏁�
-            - generic [ref=f26e300]: "1"
-          - generic [ref=f26e305]:
-            - generic [ref=f26e306]: 鏈湀绂昏亴鏁�
-            - generic [ref=f26e307]: "0"
-          - generic [ref=f26e314]:
-            - generic [ref=f26e315]: 鑰冨嫟寮傚父鏁�
-            - generic [ref=f26e316]: "0"
-        - generic [ref=f26e317]:
-          - generic [ref=f26e318]: 閮ㄩ棬浜烘暟鍒嗗竷
-          - generic [ref=f26e326]: 璇峰亣绫诲瀷鍒嗗竷
-        - generic [ref=f26e334]:
-          - generic [ref=f26e335]:
-            - generic [ref=f26e337]: 鏈�杩戝叆鑱屽憳宸�
-            - generic [ref=f26e338]: 瀹炴椂婊氬姩
-          - table [ref=f26e340]:
-            - rowgroup [ref=f26e341]:
-              - row [ref=f26e342]:
-                - columnheader "宸ュ彿" [ref=f26e343]
-                - columnheader "濮撳悕" [ref=f26e344]
-                - columnheader "鍏ヨ亴鏃ユ湡" [ref=f26e345]
-            - rowgroup [ref=f26e346]:
-              - row [ref=f26e347]:
-                - cell "EMP202607310001" [ref=f26e348]
-                - cell "222" [ref=f26e349]
-                - cell "2026-07-30T16:00:00.000Z" [ref=f26e350]
-              - row [ref=f26e351]:
-                - cell "EMP202607060014" [ref=f26e352]
-                - cell "澶ф槑鏄�" [ref=f26e353]
-                - cell "2026-07-05T16:00:00.000Z" [ref=f26e354]
-              - row [ref=f26e355]:
-                - cell "EMP202607070002" [ref=f26e356]
-                - cell "鏀惧亣" [ref=f26e357]
-                - cell "2026-07-05T16:00:00.000Z" [ref=f26e358]
-              - row [ref=f26e359]:
-                - cell "EMP202607070001" [ref=f26e360]
-                - cell "涓嶆兂涓婄彮" [ref=f26e361]
-                - cell "2026-06-30T16:00:00.000Z" [ref=f26e362]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-40-42-217Z.yml b/.playwright-mcp/page-2026-08-05T09-40-42-217Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-05T09-40-42-217Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-40-49-786Z.yml b/.playwright-mcp/page-2026-08-05T09-40-49-786Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-05T09-40-49-786Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-53-15-917Z.yml b/.playwright-mcp/page-2026-08-05T09-53-15-917Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-05T09-53-15-917Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-53-22-647Z.yml b/.playwright-mcp/page-2026-08-05T09-53-22-647Z.yml
deleted file mode 100644
index 86b3316..0000000
--- a/.playwright-mcp/page-2026-08-05T09-53-22-647Z.yml
+++ /dev/null
@@ -1,139 +0,0 @@
-- generic [ref=f29e7]:
-  - complementary [ref=f29e8]:
-    - generic [ref=f29e9]:
-      - link [ref=f29e12] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f29e15]
-      - menu [ref=f29e18]:
-        - menuitem [ref=f29e19] [cursor=pointer]
-        - listitem [ref=f29e25]
-        - listitem [ref=f29e32]
-        - listitem [ref=f29e37]
-        - listitem [ref=f29e42]
-        - listitem [ref=f29e48]
-        - listitem [ref=f29e55]
-        - listitem [ref=f29e61]
-        - listitem [ref=f29e66]
-        - listitem [ref=f29e71]
-        - listitem [ref=f29e76]
-        - listitem [ref=f29e81]
-        - listitem [ref=f29e86]
-        - listitem [ref=f29e91]
-        - listitem [ref=f29e96]
-  - generic [ref=f29e108]:
-    - generic [ref=f29e109]:
-      - banner [ref=f29e110]:
-        - button [ref=f29e111] [cursor=pointer]
-        - button [ref=f29e114] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f29e119]:
-          - list [ref=f29e120]:
-            - listitem [ref=f29e121]:
-              - link [ref=f29e122] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=f29e126]
-            - listitem [ref=f29e129]:
-              - link [disabled] [ref=f29e130]
-        - generic [ref=f29e135]:
-          - generic [ref=f29e137] [cursor=pointer]:
-            - generic [ref=f29e141]: 鎼滅储
-            - generic [ref=f29e142]: Ctrl K
-          - button [ref=f29e144] [cursor=pointer]
-          - button "dark" [ref=f29e149] [cursor=pointer]
-          - button [ref=f29e158] [cursor=pointer]
-          - button [ref=f29e164] [cursor=pointer]
-          - button [ref=f29e167] [cursor=pointer]
-          - button [ref=f29e173] [cursor=pointer]:
-            - button [ref=f29e175]
-          - button "宸ヤ綔鍙�" [ref=f29e179] [cursor=pointer]
-          - button [ref=f29e183] [cursor=pointer]:
-            - img "瓒呯骇绠$悊鍛�" [ref=f29e188]
-      - generic [ref=f29e190]:
-        - generic [ref=f29e195]:
-          - generic [ref=f29e196] [cursor=pointer]: 棣栭〉
-          - generic [ref=f29e214] [cursor=pointer]: 閲囪喘閿�鍞敭鍚庡ぇ灞�
-        - button [ref=f29e232] [cursor=pointer]
-    - main [ref=f29e250]:
-      - generic [ref=f29e252]:
-        - generic [ref=f29e253]:
-          - generic [ref=f29e261]:
-            - heading "閲囪喘 路 閿�鍞� 路 鍞悗" [level=1] [ref=f29e262]
-            - paragraph [ref=f29e263]: 渚涘簲閾惧叏閾捐矾缁忚惀鍐崇瓥鐪嬫澘
-          - generic [ref=f29e265]:
-            - generic [ref=f29e266]:
-              - generic [ref=f29e267]: 绯荤粺姝e父
-              - generic [ref=f29e269]: 鏁版嵁鏇存柊
-            - generic [ref=f29e271]:
-              - generic [ref=f29e272]: 17:53:21
-              - generic [ref=f29e273]: 2026骞�8鏈�5鏃ユ槦鏈熶笁
-            - generic [ref=f29e274]:
-              - generic [ref=f29e276]: 瀹炴椂
-              - generic [ref=f29e277]: 路 17:53:18
-            - button "鍏ㄥ睆" [ref=f29e278] [cursor=pointer]
-        - generic [ref=f29e281]:
-          - generic [ref=f29e289]:
-            - generic [ref=f29e290]: 閲囪喘璁㈠崟鎬绘暟
-            - generic [ref=f29e291]: "14"
-          - generic [ref=f29e298]:
-            - generic [ref=f29e299]: 閿�鍞鍗曟�绘暟
-            - generic [ref=f29e300]: "22"
-          - generic [ref=f29e305]:
-            - generic [ref=f29e306]: 瀹㈡埛鎬绘暟
-            - generic [ref=f29e307]: "6"
-          - generic [ref=f29e312]:
-            - generic [ref=f29e313]: 渚涘簲鍟嗘�绘暟
-            - generic [ref=f29e314]: "1"
-        - generic [ref=f29e315]:
-          - generic [ref=f29e316]: 閲囪喘璁㈠崟鏈堝害瓒嬪娍
-          - generic [ref=f29e324]: 閿�鍞鍗曟湀搴﹁秼鍔�
-          - generic [ref=f29e332]: 閲囪喘璁㈠崟鐘舵�佸垎甯�
-        - generic [ref=f29e340]:
-          - generic [ref=f29e341]:
-            - generic [ref=f29e343]: 鏈�杩戦噰璐鍗�
-            - generic [ref=f29e344]: 瀹炴椂婊氬姩
-          - table [ref=f29e346]:
-            - rowgroup [ref=f29e347]:
-              - row [ref=f29e348]:
-                - columnheader "璁㈠崟鍙�" [ref=f29e349]
-                - columnheader "閲戦" [ref=f29e350]
-                - columnheader "涓嬪崟鏃堕棿" [ref=f29e351]
-            - rowgroup [ref=f29e352]:
-              - row [ref=f29e353]:
-                - cell "CGDD20260731000002" [ref=f29e354]
-                - cell "100000" [ref=f29e355]
-                - cell "2026-07-31 13:40:23" [ref=f29e356]
-              - row [ref=f29e357]:
-                - cell "CGDD20260731000001" [ref=f29e358]
-                - cell "100000" [ref=f29e359]
-                - cell "2026-07-31 13:37:07" [ref=f29e360]
-              - row [ref=f29e361]:
-                - cell "CGDD20260730000002" [ref=f29e362]
-                - cell "1510554.6" [ref=f29e363]
-                - cell "2026-07-30 17:44:23" [ref=f29e364]
-              - row [ref=f29e365]:
-                - cell "CGDD20260730000007" [ref=f29e366]
-                - cell "100700" [ref=f29e367]
-                - cell "2026-07-30 13:05:50" [ref=f29e368]
-              - row [ref=f29e369]:
-                - cell "CGDD20260730000001" [ref=f29e370]
-                - cell "1378000" [ref=f29e371]
-                - cell "2026-07-30 09:22:11" [ref=f29e372]
-              - row [ref=f29e373]:
-                - cell "CGDD20260729000005" [ref=f29e374]
-                - cell "101" [ref=f29e375]
-                - cell "2026-07-29 15:32:16" [ref=f29e376]
-              - row [ref=f29e377]:
-                - cell "CGDD20260729000004" [ref=f29e378]
-                - cell "1111" [ref=f29e379]
-                - cell "2026-07-29 15:00:13" [ref=f29e380]
-              - row [ref=f29e381]:
-                - cell "CGDD20260724000002" [ref=f29e382]
-                - cell "10.1" [ref=f29e383]
-                - cell "2026-07-24 14:41:07" [ref=f29e384]
-              - row [ref=f29e385]:
-                - cell "CGDD20260724000001" [ref=f29e386]
-                - cell "23" [ref=f29e387]
-                - cell "2026-07-24 09:41:44" [ref=f29e388]
-              - row [ref=f29e389]:
-                - cell "CGDD20260723000001" [ref=f29e390]
-                - cell "10.38" [ref=f29e391]
-                - cell "2026-07-23 17:11:43" [ref=f29e392]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-53-30-790Z.yml b/.playwright-mcp/page-2026-08-05T09-53-30-790Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-05T09-53-30-790Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-05T09-53-35-271Z.yml b/.playwright-mcp/page-2026-08-05T09-53-35-271Z.yml
deleted file mode 100644
index c9af41c..0000000
--- a/.playwright-mcp/page-2026-08-05T09-53-35-271Z.yml
+++ /dev/null
@@ -1,208 +0,0 @@
-- generic [ref=f30e7]:
-  - complementary [ref=f30e8]:
-    - generic [ref=f30e9]:
-      - link [ref=f30e12] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f30e15]
-      - menu [ref=f30e18]:
-        - menuitem [ref=f30e19] [cursor=pointer]
-        - listitem [ref=f30e25]
-        - listitem [ref=f30e32]
-        - listitem [ref=f30e37]
-        - listitem [ref=f30e42]
-        - listitem [ref=f30e48]
-        - listitem [ref=f30e55]
-        - listitem [ref=f30e61]
-        - listitem [ref=f30e66]
-        - listitem [ref=f30e71]
-        - listitem [ref=f30e76]
-        - listitem [ref=f30e81]
-        - listitem [ref=f30e86]
-        - listitem [ref=f30e91]
-        - listitem [ref=f30e96]
-  - generic [ref=f30e108]:
-    - generic [ref=f30e109]:
-      - banner [ref=f30e110]:
-        - button [ref=f30e111] [cursor=pointer]
-        - button [ref=f30e114] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f30e119]:
-          - list [ref=f30e120]:
-            - listitem [ref=f30e121]:
-              - link [ref=f30e122] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=f30e126]
-            - listitem [ref=f30e129]:
-              - link [disabled] [ref=f30e130]
-        - generic [ref=f30e134]:
-          - generic [ref=f30e136] [cursor=pointer]:
-            - generic [ref=f30e140]: 鎼滅储
-            - generic [ref=f30e141]: Ctrl K
-          - button [ref=f30e143] [cursor=pointer]
-          - button "dark" [ref=f30e148] [cursor=pointer]
-          - button [ref=f30e157] [cursor=pointer]
-          - button [ref=f30e163] [cursor=pointer]
-          - button [ref=f30e166] [cursor=pointer]
-          - button [ref=f30e172] [cursor=pointer]:
-            - button [ref=f30e174]
-          - button "宸ヤ綔鍙�" [ref=f30e178] [cursor=pointer]
-          - button [ref=f30e182] [cursor=pointer]:
-            - img "瓒呯骇绠$悊鍛�" [ref=f30e187]
-      - generic [ref=f30e189]:
-        - generic [ref=f30e194]:
-          - generic [ref=f30e195] [cursor=pointer]: 棣栭〉
-          - generic [ref=f30e213] [cursor=pointer]: 浠撳簱澶у睆
-        - button [ref=f30e230] [cursor=pointer]
-    - main [ref=f30e248]:
-      - generic [ref=f30e250]:
-        - generic [ref=f30e251]:
-          - generic [ref=f30e258]:
-            - heading "浠撳偍鐗╂祦杩愯惀涓績" [level=1] [ref=f30e259]
-            - paragraph [ref=f30e260]: 搴撳瓨鍛ㄨ浆 路 鏅鸿兘鍒嗘瀽 路 鐗╂祦鍗忓悓
-          - generic [ref=f30e262]:
-            - generic [ref=f30e263]:
-              - generic [ref=f30e264]: 绯荤粺姝e父
-              - generic [ref=f30e266]: 鏁版嵁鏇存柊
-            - generic [ref=f30e268]:
-              - generic [ref=f30e269]: 17:53:34
-              - generic [ref=f30e270]: 2026骞�8鏈�5鏃ユ槦鏈熶笁
-            - generic [ref=f30e271]:
-              - generic [ref=f30e273]: 瀹炴椂
-              - generic [ref=f30e274]: 路 17:53:33
-            - button "鍏ㄥ睆" [ref=f30e275] [cursor=pointer]
-        - generic [ref=f30e278]:
-          - generic [ref=f30e286]:
-            - generic [ref=f30e287]: 浠撳簱鏁伴噺
-            - generic [ref=f30e288]: "3"
-          - generic [ref=f30e295]:
-            - generic [ref=f30e296]: 鐗╂枡搴撳瓨鍝佺鏁�
-            - generic [ref=f30e297]: "13"
-          - generic [ref=f30e305]:
-            - generic [ref=f30e306]: 鍒拌揣閫氱煡鏁�
-            - generic [ref=f30e307]: "12"
-          - generic [ref=f30e312]:
-            - generic [ref=f30e313]: 鍑鸿揣閫氱煡鏁�
-            - generic [ref=f30e314]: "19"
-          - generic [ref=f30e322]:
-            - generic [ref=f30e323]: 搴撳瓨鍛ㄨ浆鐜�
-            - generic [ref=f30e324]: "0.38"
-        - generic [ref=f30e325]:
-          - generic [ref=f30e326]:
-            - generic [ref=f30e327]: 搴撳瓨缁撴瀯鍒嗘瀽
-            - generic [ref=f30e333]: 搴撳瓨瓒嬪娍
-            - generic [ref=f30e339]:
-              - generic [ref=f30e340]: 搴撳瓨棰勮
-              - generic [ref=f30e342]:
-                - generic [ref=f30e343]:
-                  - generic [ref=f30e344]: 浜у搧搴撳簱瀛�
-                  - generic [ref=f30e347]:
-                    - generic [ref=f30e348]: 搴撳瓨涓嶈冻
-                    - generic [ref=f30e349]: "0"
-                - generic [ref=f30e350]:
-                  - generic [ref=f30e351]: 鐗╂枡搴撳簱瀛�
-                  - generic [ref=f30e354]:
-                    - generic [ref=f30e355]: 搴撳瓨姝e父
-                    - generic [ref=f30e356]: 51,502
-                - generic [ref=f30e357]:
-                  - generic [ref=f30e358]: 铏氭嫙绾胯竟浠撳簱搴撳瓨
-                  - generic [ref=f30e361]:
-                    - generic [ref=f30e362]: 搴撳瓨涓嶈冻
-                    - generic [ref=f30e363]: "-23,013.8"
-          - generic [ref=f30e365]:
-            - generic [ref=f30e366]: 鍏ㄥ浗浠撳偍缃戠粶
-            - generic [ref=f30e373]:
-              - generic [ref=f30e374]:
-                - generic [ref=f30e375]: 浠婃棩鍏ュ簱(浼�)
-                - text: "4"
-              - generic [ref=f30e376]:
-                - generic [ref=f30e377]: 浠婃棩鍑哄簱(浼�)
-                - text: "4"
-              - generic [ref=f30e378]:
-                - generic [ref=f30e379]: 鎬诲簱瀛�
-                - text: 74,515.8
-          - generic [ref=f30e380]:
-            - generic [ref=f30e381]: 鍑哄叆搴撹秼鍔�
-            - generic [ref=f30e387]: 搴撳瓨缁撴瀯
-            - generic [ref=f30e393]:
-              - generic [ref=f30e394]: 瀹炴椂鍔ㄦ��
-              - generic [ref=f30e396]:
-                - generic [ref=f30e397]:
-                  - generic [ref=f30e399]:
-                    - generic [ref=f30e400]: 17:53
-                    - generic [ref=f30e401]: CGDD20260731000002鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f30e402]: 鍒拌揣
-                - generic [ref=f30e403]:
-                  - generic [ref=f30e405]:
-                    - generic [ref=f30e406]: 17:38
-                    - generic [ref=f30e407]: CGDD20260731000001鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f30e408]: 鍑鸿揣
-                - generic [ref=f30e409]:
-                  - generic [ref=f30e411]:
-                    - generic [ref=f30e412]: 17:23
-                    - generic [ref=f30e413]: CGDD20260730000001鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f30e414]: 鍒拌揣
-                - generic [ref=f30e415]:
-                  - generic [ref=f30e417]:
-                    - generic [ref=f30e418]: 17:08
-                    - generic [ref=f30e419]: CGDD20260723000001鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f30e420]: 鍑鸿揣
-                - generic [ref=f30e421]:
-                  - generic [ref=f30e423]:
-                    - generic [ref=f30e424]: 16:53
-                    - generic [ref=f30e425]: CGDD20260716000012鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f30e426]: 鍒拌揣
-                - generic [ref=f30e427]:
-                  - generic [ref=f30e429]:
-                    - generic [ref=f30e430]: 16:38
-                    - generic [ref=f30e431]: CGDD20260716000011鍒拌揣閫氱煡鍏ュ簱鍗�
-                  - generic [ref=f30e432]: 鍑鸿揣
-        - generic [ref=f30e433]:
-          - generic [ref=f30e434]:
-            - text: 鏈�杩戝叆搴撹褰�
-            - generic [ref=f30e436]: 瀹炴椂婊氬姩
-          - table [ref=f30e438]:
-            - rowgroup [ref=f30e439]:
-              - row [ref=f30e440]:
-                - columnheader "鍗曞彿" [ref=f30e441]
-                - columnheader "鍚嶇О" [ref=f30e442]
-                - columnheader "鍏ュ簱鏃ユ湡" [ref=f30e443]
-            - rowgroup [ref=f30e444]:
-              - row [ref=f30e445]:
-                - cell "IR1785476459612" [ref=f30e446]
-                - cell "CGDD20260731000002鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f30e447]
-                - cell "2026-07-31 13:41:00" [ref=f30e448]
-              - row [ref=f30e449]:
-                - cell "IR1785476271992" [ref=f30e450]
-                - cell "CGDD20260731000001鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f30e451]
-                - cell "2026-07-31 13:37:52" [ref=f30e452]
-              - row [ref=f30e453]:
-                - cell "IR1785388980793" [ref=f30e454]
-                - cell "CGDD20260730000001鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f30e455]
-                - cell "2026-07-30 13:23:01" [ref=f30e456]
-              - row [ref=f30e457]:
-                - cell "IR1784797962589" [ref=f30e458]
-                - cell "CGDD20260723000001鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f30e459]
-                - cell "2026-07-23 17:12:43" [ref=f30e460]
-              - row [ref=f30e461]:
-                - cell "IR1784195133047" [ref=f30e462]
-                - cell "CGDD20260716000012鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f30e463]
-                - cell "2026-07-16 17:45:33" [ref=f30e464]
-              - row [ref=f30e465]:
-                - cell "IR1784194374037" [ref=f30e466]
-                - cell "CGDD20260716000011鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f30e467]
-                - cell "2026-07-16 17:32:54" [ref=f30e468]
-              - row [ref=f30e469]:
-                - cell "IR1784190584801" [ref=f30e470]
-                - cell "CGDD20260716000010鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f30e471]
-                - cell [ref=f30e472]
-              - row [ref=f30e473]:
-                - cell "IR1784190577802" [ref=f30e474]
-                - cell "CGDD20260716000009鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f30e475]
-                - cell [ref=f30e476]
-              - row [ref=f30e477]:
-                - cell "IR1784186867143" [ref=f30e478]
-                - cell "CGDD20260716000008鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f30e479]
-                - cell "2026-07-16 15:33:04" [ref=f30e480]
-              - row [ref=f30e481]:
-                - cell "IR1784186864769" [ref=f30e482]
-                - cell "CGDD20260716000007鍒拌揣閫氱煡鍏ュ簱鍗�" [ref=f30e483]
-                - cell "2026-07-16 15:36:10" [ref=f30e484]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-12T08-14-30-909Z.yml b/.playwright-mcp/page-2026-08-12T08-14-30-909Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-12T08-14-30-909Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-12T08-14-46-176Z.yml b/.playwright-mcp/page-2026-08-12T08-14-46-176Z.yml
deleted file mode 100644
index c0aa8b9..0000000
--- a/.playwright-mcp/page-2026-08-12T08-14-46-176Z.yml
+++ /dev/null
@@ -1,194 +0,0 @@
-- generic [ref=e7]:
-  - complementary [ref=e8]:
-    - generic [ref=e9]:
-      - generic [ref=e10] [cursor=pointer]
-      - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-        - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-      - menu [ref=e22]:
-        - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-        - listitem [ref=e30]:
-          - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=e39]:
-          - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-        - listitem [ref=e46]:
-          - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - list [ref=e577]:
-            - menuitem "寰呭姙浜嬮」" [ref=e578] [cursor=pointer]
-            - menuitem "绾跨储绠$悊" [ref=e583] [cursor=pointer]
-            - menuitem "鍟嗘満绠$悊" [ref=e588] [cursor=pointer]
-            - menuitem "閿�鍞姤浠�" [ref=e593] [cursor=pointer]
-            - menuitem "鍚堝悓绠$悊" [ref=e599] [cursor=pointer]
-            - menuitem "閿�鍞鍗�" [ref=e605] [cursor=pointer]
-            - menuitem "瀹㈡埛绠$悊" [ref=e610] [cursor=pointer]
-            - menuitem "鑱旂郴浜虹鐞�" [ref=e615] [cursor=pointer]
-            - menuitem "瀹㈡埛鍏捣" [ref=e620] [cursor=pointer]
-            - menuitem "寮�绁ㄧ鐞�" [ref=e625] [cursor=pointer]
-            - menuitem "鍥炴绠$悊" [ref=e630] [cursor=pointer]
-            - menuitem "鍥炴璁″垝" [ref=e637] [cursor=pointer]
-            - menuitem "閿�鍞鍒�" [ref=e642] [cursor=pointer]
-            - menuitem "杈炬垚鍒嗘瀽" [ref=e647] [cursor=pointer]
-            - listitem [ref=e653]:
-              - generic [ref=e654] [cursor=pointer]: 鏁版嵁缁熻
-            - listitem [ref=e660]:
-              - generic [ref=e661] [cursor=pointer]: 绯荤粺閰嶇疆
-        - listitem [ref=e53]:
-          - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-        - listitem [ref=e61]:
-          - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=e70]:
-          - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-        - listitem [ref=e78]:
-          - generic [ref=e79] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=e85]:
-          - generic [ref=e86] [cursor=pointer]: 鍐崇瓥BI澶у睆
-        - listitem [ref=e92]:
-          - generic [ref=e93] [cursor=pointer]: 鍗忓悓鍔炲叕
-        - listitem [ref=e99]:
-          - generic [ref=e100] [cursor=pointer]: 浜哄姏璧勬簮
-        - listitem [ref=e106]:
-          - generic [ref=e107] [cursor=pointer]: 鍞悗绠$悊
-        - listitem [ref=e113]:
-          - generic [ref=e114] [cursor=pointer]: 鍩虹璁炬柦
-        - listitem [ref=e120]:
-          - generic [ref=e121] [cursor=pointer]: 绯荤粺绠$悊
-        - listitem [ref=e127]:
-          - generic [ref=e128] [cursor=pointer]: IM 鍗虫椂閫氳
-      - generic [ref=e136] [cursor=pointer]
-  - generic [ref=e141]:
-    - generic [ref=e142]:
-      - banner [ref=e143]:
-        - button [ref=e144] [cursor=pointer]
-        - button [ref=e147] [cursor=pointer]
-        - navigation "breadcrumb" [ref=e152]:
-          - list [ref=e153]:
-            - listitem [ref=e154]:
-              - link "棣栭〉" [disabled] [ref=e155]
-        - generic [ref=e162]:
-          - generic [ref=e164] [cursor=pointer]:
-            - generic [ref=e168]: 鎼滅储
-            - generic [ref=e169]: Ctrl K
-          - button [ref=e171] [cursor=pointer]
-          - button "dark" [ref=e176] [cursor=pointer]
-          - button [ref=e185] [cursor=pointer]
-          - button [ref=e191] [cursor=pointer]
-          - button [ref=e194] [cursor=pointer]
-          - button [ref=e200] [cursor=pointer]:
-            - button [ref=e202]
-          - button "宸ヤ綔鍙�" [ref=e206] [cursor=pointer]
-          - button [ref=e210] [cursor=pointer]:
-            - img "瓒呯骇绠$悊鍛�" [ref=e215]
-      - generic [ref=e217]:
-        - generic [ref=e218]: 棣栭〉
-        - generic [ref=e239]:
-          - button [ref=e240] [cursor=pointer]
-          - generic [ref=e247] [cursor=pointer]
-          - generic [ref=e251] [cursor=pointer]
-    - main [ref=e258]:
-      - generic [ref=e261]:
-        - generic [ref=e262]:
-          - generic [ref=e263]:
-            - heading "涓嬪崍濂斤紝娆㈣繋鍥炴潵" [level=1] [ref=e264]
-            - paragraph [ref=e265]: 2026骞�8鏈�12鏃� 鏄熸湡涓�
-          - generic [ref=e266]: 绯荤粺杩愯涓�
-        - generic [ref=e271]:
-          - generic [ref=e280] [cursor=pointer]:
-            - generic [ref=e281]: 鐢熶骇璁㈠崟
-            - generic [ref=e282]:
-              - generic [ref=e283]: "25"
-              - generic [ref=e285]: 杩涜涓�
-            - generic [ref=e286]:
-              - text: 寰呮帓浜� 15
-              - generic [ref=e288]: "|"
-              - text: 宸插畬鎴� 5
-          - generic [ref=e300] [cursor=pointer]:
-            - generic [ref=e301]: 浠婃棩浜ч噺
-            - generic [ref=e302]:
-              - generic [ref=e303]: "0"
-              - generic [ref=e305]: 浠�
-            - generic [ref=e306]: 鏄ㄦ棩 0 浠�
-          - generic [ref=e317] [cursor=pointer]:
-            - generic [ref=e318]: 璐ㄩ噺鍚堟牸鐜�
-            - generic [ref=e319]:
-              - generic [ref=e320]: "0.0"
-              - generic [ref=e322]: "%"
-            - generic [ref=e323]: 鍚堟牸 0 | 涓嶈壇 0
-          - generic [ref=e335] [cursor=pointer]:
-            - generic [ref=e336]: 璁惧杩愯鐜�
-            - generic [ref=e337]:
-              - generic [ref=e338]: "33.3"
-              - generic [ref=e340]: "%"
-            - generic [ref=e341]:
-              - generic [ref=e342]: 鍋滄満 1
-              - generic [ref=e343]: "|"
-              - generic [ref=e344]: 缁存姢 1
-        - generic [ref=e347]:
-          - generic [ref=e357] [cursor=pointer]:
-            - generic [ref=e358]: 閲囪喘璁㈠崟
-            - generic [ref=e359]:
-              - generic [ref=e360]: "10"
-              - generic [ref=e362]: 绗�
-            - generic [ref=e363]: ERP 閲囪喘绠$悊
-          - generic [ref=e374] [cursor=pointer]:
-            - generic [ref=e375]: 閿�鍞鍗�
-            - generic [ref=e376]:
-              - generic [ref=e377]: "22"
-              - generic [ref=e379]: 绗�
-            - generic [ref=e380]: ERP 閿�鍞鐞�
-          - generic [ref=e392] [cursor=pointer]:
-            - generic [ref=e393]: 鐗╂枡搴撳瓨
-            - generic [ref=e394]:
-              - generic [ref=e395]: "15"
-              - generic [ref=e397]: 鏉�
-            - generic [ref=e398]: MES 搴撳瓨鍙拌处
-          - generic [ref=e410] [cursor=pointer]:
-            - generic [ref=e411]: 鎴戠殑寰呭姙
-            - generic [ref=e412]:
-              - generic [ref=e413]: "1"
-              - generic [ref=e415]: 椤�
-            - generic [ref=e416]: BPM 寰呭鎵�
-        - generic [ref=e419]:
-          - generic [ref=e420]:
-            - heading "AI 鏅鸿兘鍒嗘瀽" [level=3] [ref=e421]
-            - generic [ref=e422]: 25 涓伐鍗曞彲鍒嗘瀽
-          - generic [ref=e423]:
-            - generic [ref=e431] [cursor=pointer]:
-              - generic [ref=e432]: AI 鐗╂枡棰勬祴
-              - generic [ref=e433]: 棰勬祴鐗╂枡闇�姹備笌鐭己椋庨櫓
-            - generic [ref=e442] [cursor=pointer]:
-              - generic [ref=e443]: AI 鏃堕暱棰勬祴
-              - generic [ref=e444]: 棰勬祴鍚勫伐搴忕敓浜ц�楁椂
-            - generic [ref=e451] [cursor=pointer]:
-              - generic [ref=e452]: AI 椋庨櫓棰勬祴
-              - generic [ref=e453]: 璇嗗埆娼滃湪鐢熶骇椋庨櫓骞剁粰鍑哄缓璁�
-            - generic [ref=e463] [cursor=pointer]:
-              - generic [ref=e464]: AI 浜や粯璇勪及
-              - generic [ref=e465]: 璇勪及璁㈠崟浜や粯鍑嗘椂鐜囦笌寤舵湡鍥犵礌
-        - generic [ref=e468]:
-          - heading "鐢熶骇瓒嬪娍锛堣繎7澶╋級" [level=3] [ref=e471]
-          - generic [ref=e476]:
-            - generic [ref=e477]:
-              - generic [ref=e483] [cursor=pointer]:
-                - generic [ref=e484]: 瀹夌伅鍛煎彨
-                - generic [ref=e485]:
-                  - generic [ref=e486]: "0"
-                  - generic [ref=e488]: 鏈缃�
-              - generic [ref=e494] [cursor=pointer]:
-                - generic [ref=e495]: 缁翠慨宸ュ崟
-                - generic [ref=e496]:
-                  - generic [ref=e497]: "0"
-                  - generic [ref=e499]: 寰呭鐞�
-            - heading "宸ュ崟鐘舵�佸垎甯�" [level=4] [ref=e501]
-        - generic [ref=e509]:
-          - heading "蹇嵎鎿嶄綔" [level=3] [ref=e510]
-          - generic [ref=e511]:
-            - generic [ref=e512] [cursor=pointer]: 鐢熶骇宸ュ崟
-            - generic [ref=e519] [cursor=pointer]: 鐢熶骇鎶ュ伐
-            - generic [ref=e526] [cursor=pointer]: 璐ㄦ绠$悊
-            - generic [ref=e534] [cursor=pointer]: 璁惧鐐规
-            - generic [ref=e541] [cursor=pointer]: 鐢熶骇鎺掔▼
-            - generic [ref=e548] [cursor=pointer]: 瀹夌伅鍛煎彨
-            - generic [ref=e553] [cursor=pointer]: 鐗╂枡搴撳瓨
-            - generic [ref=e561] [cursor=pointer]: 宸ヨ壓璺嚎
-            - generic [ref=e569] [cursor=pointer]: 鏁版嵁鎶ヨ〃
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-12T08-15-00-361Z.yml b/.playwright-mcp/page-2026-08-12T08-15-00-361Z.yml
deleted file mode 100644
index 6bf9c8e..0000000
--- a/.playwright-mcp/page-2026-08-12T08-15-00-361Z.yml
+++ /dev/null
@@ -1,215 +0,0 @@
-- generic [ref=e7]:
-  - complementary [ref=e8]:
-    - generic [ref=e9]:
-      - generic [ref=e10] [cursor=pointer]
-      - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-        - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-      - menu [ref=e22]:
-        - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-        - listitem [ref=e30]:
-          - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=e39]:
-          - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-        - listitem [ref=e46]:
-          - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - list [ref=e577]:
-            - menuitem "寰呭姙浜嬮」" [ref=e578] [cursor=pointer]
-            - menuitem "绾跨储绠$悊" [ref=e583] [cursor=pointer]
-            - menuitem "鍟嗘満绠$悊" [ref=e588] [cursor=pointer]
-            - menuitem "閿�鍞姤浠�" [ref=e593] [cursor=pointer]
-            - menuitem "鍚堝悓绠$悊" [ref=e599] [cursor=pointer]
-            - menuitem "閿�鍞鍗�" [ref=e605] [cursor=pointer]
-            - menuitem "瀹㈡埛绠$悊" [ref=e610] [cursor=pointer]
-            - menuitem "鑱旂郴浜虹鐞�" [ref=e615] [cursor=pointer]
-            - menuitem "瀹㈡埛鍏捣" [ref=e620] [cursor=pointer]
-            - menuitem "寮�绁ㄧ鐞�" [ref=e625] [cursor=pointer]
-            - menuitem "鍥炴绠$悊" [ref=e630] [cursor=pointer]
-            - menuitem "鍥炴璁″垝" [ref=e637] [cursor=pointer]
-            - menuitem "閿�鍞鍒�" [ref=e642] [cursor=pointer]
-            - menuitem "杈炬垚鍒嗘瀽" [active] [ref=e647] [cursor=pointer]
-            - listitem [ref=e653]:
-              - generic [ref=e654] [cursor=pointer]: 鏁版嵁缁熻
-            - listitem [ref=e660]:
-              - generic [ref=e661] [cursor=pointer]: 绯荤粺閰嶇疆
-        - listitem [ref=e53]:
-          - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-        - listitem [ref=e61]:
-          - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=e70]:
-          - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-        - listitem [ref=e78]:
-          - generic [ref=e79] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=e85]:
-          - generic [ref=e86] [cursor=pointer]: 鍐崇瓥BI澶у睆
-        - listitem [ref=e92]:
-          - generic [ref=e93] [cursor=pointer]: 鍗忓悓鍔炲叕
-        - listitem [ref=e99]:
-          - generic [ref=e100] [cursor=pointer]: 浜哄姏璧勬簮
-        - listitem [ref=e106]:
-          - generic [ref=e107] [cursor=pointer]: 鍞悗绠$悊
-        - listitem [ref=e113]:
-          - generic [ref=e114] [cursor=pointer]: 鍩虹璁炬柦
-        - listitem [ref=e120]:
-          - generic [ref=e121] [cursor=pointer]: 绯荤粺绠$悊
-        - listitem [ref=e127]:
-          - generic [ref=e128] [cursor=pointer]: IM 鍗虫椂閫氳
-      - generic [ref=e136] [cursor=pointer]
-  - generic [ref=e141]:
-    - generic [ref=e142]:
-      - banner [ref=e143]:
-        - button [ref=e144] [cursor=pointer]
-        - button [ref=e147] [cursor=pointer]
-        - navigation "breadcrumb" [ref=e152]:
-          - list [ref=e153]:
-            - listitem [ref=e668]:
-              - link "钀ラ攢绠$悊" [ref=e669] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=e673]
-            - listitem [ref=e676]:
-              - link "杈炬垚鍒嗘瀽" [disabled] [ref=e677]
-        - generic [ref=e162]:
-          - generic [ref=e164] [cursor=pointer]:
-            - generic [ref=e168]: 鎼滅储
-            - generic [ref=e169]: Ctrl K
-          - button [ref=e171] [cursor=pointer]
-          - button "dark" [ref=e176] [cursor=pointer]
-          - button [ref=e185] [cursor=pointer]
-          - button [ref=e191] [cursor=pointer]
-          - button [ref=e194] [cursor=pointer]
-          - button [ref=e200] [cursor=pointer]:
-            - button [ref=e202]
-          - button "宸ヤ綔鍙�" [ref=e206] [cursor=pointer]
-          - button [ref=e210] [cursor=pointer]:
-            - img "瓒呯骇绠$悊鍛�" [ref=e215]
-      - generic [ref=e217]:
-        - generic [ref=e222]:
-          - generic [ref=e223] [cursor=pointer]: 棣栭〉
-          - generic [ref=e684] [cursor=pointer]: 杈炬垚鍒嗘瀽
-        - generic [ref=e239]:
-          - button [ref=e240] [cursor=pointer]
-          - generic [ref=e247] [cursor=pointer]
-          - generic [ref=e251] [cursor=pointer]
-    - main [ref=e258]:
-      - generic [ref=e705]:
-        - generic [ref=e707]:
-          - generic [ref=e708]:
-            - generic [ref=e709]:
-              - generic [ref=e710]: "*"
-              - text: 鍛ㄦ湡绫诲瀷
-            - generic [ref=e716] [cursor=pointer]:
-              - combobox "* 鍛ㄦ湡绫诲瀷" [ref=e718]
-              - generic "骞村害" [ref=e719]
-          - generic [ref=e720]:
-            - generic [ref=e721]:
-              - generic [ref=e722]: "*"
-              - text: 鍛ㄦ湡鍊�
-            - textbox "* 鍛ㄦ湡鍊�" [ref=e727]:
-              - /placeholder: 濡� 2026 / 2026-Q1 / 2026-07
-              - text: "2026"
-          - generic [ref=e728]:
-            - generic [ref=e729]: 鐩爣缁村害
-            - generic [ref=e735] [cursor=pointer]:
-              - combobox "鐩爣缁村害" [ref=e737]
-              - generic: 鍏ㄩ儴
-          - generic [ref=e738]:
-            - generic [ref=e739]: 鐘舵��
-            - generic [ref=e745] [cursor=pointer]:
-              - combobox "鐘舵��" [ref=e747]
-              - generic: 鍏ㄩ儴
-          - generic [ref=e748]:
-            - button "閲� 缃�" [ref=e749] [cursor=pointer]
-            - button "鏌� 璇�" [ref=e751] [cursor=pointer]
-            - generic [ref=e753] [cursor=pointer]: 鏀惰捣
-        - generic [ref=e758]:
-          - tablist [ref=e759]:
-            - generic [ref=e761]:
-              - tab "鍚堝悓閲戦" [selected] [ref=e763] [cursor=pointer]
-              - tab "鍥炴閲戦" [ref=e765] [cursor=pointer]
-              - tab "鍟嗘満閲戦" [ref=e767] [cursor=pointer]
-              - tab "鏂板瀹㈡埛" [ref=e769] [cursor=pointer]
-              - tab "鏂板鍚堝悓" [ref=e771] [cursor=pointer]
-          - generic:
-            - generic:
-              - tabpanel "鍚堝悓閲戦"
-        - generic [ref=e784]:
-          - generic [ref=e785]:
-            - table [ref=e789]:
-              - rowgroup [ref=e809]:
-                - row [ref=e810]:
-                  - columnheader "鐩爣瀵硅薄" [ref=e811]
-                  - columnheader "鍚堝悓閲戦鐩爣" [ref=e816]
-                  - columnheader "瀹為檯鍚堝悓閲戦" [ref=e821]
-                  - columnheader "鍚堝悓杈炬垚鐜�(%)" [ref=e826]
-                  - columnheader "鍥炴閲戦鐩爣" [ref=e831]
-                  - columnheader "瀹為檯鍥炴閲戦" [ref=e836]
-                  - columnheader "鍥炴杈炬垚鐜�(%)" [ref=e841]
-                  - columnheader "鍟嗘満閲戦鐩爣" [ref=e846]
-                  - columnheader "瀹為檯鍟嗘満閲戦" [ref=e851]
-                  - columnheader "鍟嗘満杈炬垚鐜�(%)" [ref=e856]
-                  - columnheader "鏂板瀹㈡埛鐩爣" [ref=e861]
-                  - columnheader "瀹為檯鏂板瀹㈡埛" [ref=e866]
-                  - columnheader "瀹㈡埛杈炬垚鐜�(%)" [ref=e871]
-                  - columnheader "鏂板鍚堝悓鐩爣" [ref=e876]
-                  - columnheader "瀹為檯鏂板鍚堝悓" [ref=e881]
-                  - columnheader "鍚堝悓鏁拌揪鎴愮巼(%)" [ref=e886]
-            - table [ref=e894]:
-              - rowgroup [ref=e914]:
-                - row [ref=e915]:
-                  - cell "瓒呯骇绠$悊鍛�" [ref=e916]
-                  - cell "10000.00" [ref=e919]
-                  - cell "32377.00" [ref=e923]
-                  - cell "323.77%" [ref=e927]
-                  - cell "10000.00" [ref=e930]
-                  - cell "100.00" [ref=e934]
-                  - cell "1%" [ref=e938]
-                  - cell "10000.00" [ref=e941]
-                  - cell "0.00" [ref=e945]
-                  - cell "0%" [ref=e949]
-                  - cell "10000" [ref=e952]
-                  - cell "3" [ref=e956]
-                  - cell "0.03%" [ref=e960]
-                  - cell "10000" [ref=e963]
-                  - cell "5" [ref=e967]
-                  - cell "0.05%" [ref=e971]
-                - row [ref=e974]:
-                  - cell "瓒呯骇绠$悊鍛�" [ref=e975]
-                  - cell "500000.00" [ref=e978]
-                  - cell "32377.00" [ref=e982]
-                  - cell "6.48%" [ref=e986]
-                  - cell "300000.00" [ref=e989]
-                  - cell "100.00" [ref=e993]
-                  - cell "0.03%" [ref=e997]
-                  - cell "600000.00" [ref=e1000]
-                  - cell "0.00" [ref=e1004]
-                  - cell "0%" [ref=e1008]
-                  - cell "20" [ref=e1011]
-                  - cell "3" [ref=e1015]
-                  - cell "15%" [ref=e1019]
-                  - cell "30" [ref=e1022]
-                  - cell "5" [ref=e1026]
-                  - cell "16.67%" [ref=e1030]
-          - generic:
-            - generic [ref=e1033]:
-              - table [ref=e1036]:
-                - rowgroup [ref=e1056]:
-                  - row [ref=e1057]:
-                    - columnheader "鐩爣鍚嶇О" [ref=e1058]
-              - table [ref=e1065]:
-                - rowgroup [ref=e1068]:
-                  - row [ref=e1069]:
-                    - cell "閰掓硥" [ref=e1070]
-                  - row [ref=e1074]:
-                    - cell "2026骞村害閿�鍞洰鏍�-寮犱笁" [ref=e1075]
-            - generic [ref=e1079]:
-              - table [ref=e1082]:
-                - rowgroup [ref=e1102]:
-                  - row [ref=e1103]:
-                    - columnheader "鐘舵��" [ref=e1104]
-              - table [ref=e1111]:
-                - rowgroup [ref=e1114]:
-                  - row [ref=e1115]:
-                    - cell "宸茬敓鏁�" [ref=e1116]
-                  - row [ref=e1120]:
-                    - cell "宸茬敓鏁�" [ref=e1121]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-12T08-16-45-289Z.yml b/.playwright-mcp/page-2026-08-12T08-16-45-289Z.yml
deleted file mode 100644
index 4b28c4d..0000000
--- a/.playwright-mcp/page-2026-08-12T08-16-45-289Z.yml
+++ /dev/null
@@ -1,215 +0,0 @@
-- generic [ref=e7]:
-  - complementary [ref=e8]:
-    - generic [ref=e9]:
-      - generic [ref=e10] [cursor=pointer]
-      - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-        - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-      - menu [ref=e22]:
-        - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-        - listitem [ref=e30]:
-          - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=e39]:
-          - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-        - listitem [ref=e46]:
-          - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - list [ref=e577]:
-            - menuitem "寰呭姙浜嬮」" [ref=e578] [cursor=pointer]
-            - menuitem "绾跨储绠$悊" [ref=e583] [cursor=pointer]
-            - menuitem "鍟嗘満绠$悊" [ref=e588] [cursor=pointer]
-            - menuitem "閿�鍞姤浠�" [ref=e593] [cursor=pointer]
-            - menuitem "鍚堝悓绠$悊" [ref=e599] [cursor=pointer]
-            - menuitem "閿�鍞鍗�" [ref=e605] [cursor=pointer]
-            - menuitem "瀹㈡埛绠$悊" [ref=e610] [cursor=pointer]
-            - menuitem "鑱旂郴浜虹鐞�" [ref=e615] [cursor=pointer]
-            - menuitem "瀹㈡埛鍏捣" [ref=e620] [cursor=pointer]
-            - menuitem "寮�绁ㄧ鐞�" [ref=e625] [cursor=pointer]
-            - menuitem "鍥炴绠$悊" [ref=e630] [cursor=pointer]
-            - menuitem "鍥炴璁″垝" [ref=e637] [cursor=pointer]
-            - menuitem "閿�鍞鍒�" [ref=e642] [cursor=pointer]
-            - menuitem "杈炬垚鍒嗘瀽" [ref=e647] [cursor=pointer]
-            - listitem [ref=e653]:
-              - generic [ref=e654] [cursor=pointer]: 鏁版嵁缁熻
-            - listitem [ref=e660]:
-              - generic [ref=e661] [cursor=pointer]: 绯荤粺閰嶇疆
-        - listitem [ref=e53]:
-          - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-        - listitem [ref=e61]:
-          - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=e70]:
-          - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-        - listitem [ref=e78]:
-          - generic [ref=e79] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=e85]:
-          - generic [ref=e86] [cursor=pointer]: 鍐崇瓥BI澶у睆
-        - listitem [ref=e92]:
-          - generic [ref=e93] [cursor=pointer]: 鍗忓悓鍔炲叕
-        - listitem [ref=e99]:
-          - generic [ref=e100] [cursor=pointer]: 浜哄姏璧勬簮
-        - listitem [ref=e106]:
-          - generic [ref=e107] [cursor=pointer]: 鍞悗绠$悊
-        - listitem [ref=e113]:
-          - generic [ref=e114] [cursor=pointer]: 鍩虹璁炬柦
-        - listitem [ref=e120]:
-          - generic [ref=e121] [cursor=pointer]: 绯荤粺绠$悊
-        - listitem [ref=e127]:
-          - generic [ref=e128] [cursor=pointer]: IM 鍗虫椂閫氳
-      - generic [ref=e136] [cursor=pointer]
-  - generic [ref=e141]:
-    - generic [ref=e142]:
-      - banner [ref=e143]:
-        - button [ref=e144] [cursor=pointer]
-        - button [ref=e147] [cursor=pointer]
-        - navigation "breadcrumb" [ref=e152]:
-          - list [ref=e153]:
-            - listitem [ref=e668]:
-              - link "钀ラ攢绠$悊" [ref=e669] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=e673]
-            - listitem [ref=e676]:
-              - link "杈炬垚鍒嗘瀽" [disabled] [ref=e677]
-        - generic [ref=e162]:
-          - generic [ref=e164] [cursor=pointer]:
-            - generic [ref=e168]: 鎼滅储
-            - generic [ref=e169]: Ctrl K
-          - button [ref=e171] [cursor=pointer]
-          - button "dark" [ref=e176] [cursor=pointer]
-          - button [ref=e185] [cursor=pointer]
-          - button [ref=e191] [cursor=pointer]
-          - button [ref=e194] [cursor=pointer]
-          - button [ref=e200] [cursor=pointer]:
-            - button [ref=e202]
-          - button "宸ヤ綔鍙�" [ref=e206] [cursor=pointer]
-          - button [ref=e210] [cursor=pointer]:
-            - img "瓒呯骇绠$悊鍛�" [ref=e215]
-      - generic [ref=e217]:
-        - generic [ref=e222]:
-          - generic [ref=e223] [cursor=pointer]: 棣栭〉
-          - generic [ref=e684] [cursor=pointer]: 杈炬垚鍒嗘瀽
-        - generic [ref=e239]:
-          - button [ref=e240] [cursor=pointer]
-          - generic [ref=e247] [cursor=pointer]
-          - generic [ref=e251] [cursor=pointer]
-    - main [ref=e258]:
-      - generic [ref=e705]:
-        - generic [ref=e707]:
-          - generic [ref=e708]:
-            - generic [ref=e709]:
-              - generic [ref=e710]: "*"
-              - text: 鍛ㄦ湡绫诲瀷
-            - generic [ref=e716] [cursor=pointer]:
-              - combobox "* 鍛ㄦ湡绫诲瀷" [ref=e718]
-              - generic "骞村害" [ref=e719]
-          - generic [ref=e720]:
-            - generic [ref=e721]:
-              - generic [ref=e722]: "*"
-              - text: 鍛ㄦ湡鍊�
-            - textbox "* 鍛ㄦ湡鍊�" [ref=e727]:
-              - /placeholder: 濡� 2026 / 2026-Q1 / 2026-07
-              - text: "2026"
-          - generic [ref=e728]:
-            - generic [ref=e729]: 鐩爣缁村害
-            - generic [ref=e735] [cursor=pointer]:
-              - combobox "鐩爣缁村害" [ref=e737]
-              - generic: 鍏ㄩ儴
-          - generic [ref=e738]:
-            - generic [ref=e739]: 鐘舵��
-            - generic [ref=e745] [cursor=pointer]:
-              - combobox "鐘舵��" [ref=e747]
-              - generic: 鍏ㄩ儴
-          - generic [ref=e748]:
-            - button "閲� 缃�" [ref=e749] [cursor=pointer]
-            - button "鏌� 璇�" [ref=e751] [cursor=pointer]
-            - generic [ref=e753] [cursor=pointer]: 鏀惰捣
-        - generic [ref=e758]:
-          - tablist [ref=e759]:
-            - generic [ref=e761]:
-              - tab "鍚堝悓閲戦" [ref=e763] [cursor=pointer]
-              - tab "鍥炴閲戦" [active] [selected] [ref=e765] [cursor=pointer]
-              - tab "鍟嗘満閲戦" [ref=e767] [cursor=pointer]
-              - tab "鏂板瀹㈡埛" [ref=e769] [cursor=pointer]
-              - tab "鏂板鍚堝悓" [ref=e771] [cursor=pointer]
-          - generic:
-            - generic:
-              - tabpanel "鍥炴閲戦"
-        - generic [ref=e784]:
-          - generic [ref=e785]:
-            - table [ref=e789]:
-              - rowgroup [ref=e809]:
-                - row [ref=e810]:
-                  - columnheader "鐩爣瀵硅薄" [ref=e811]
-                  - columnheader "鍚堝悓閲戦鐩爣" [ref=e816]
-                  - columnheader "瀹為檯鍚堝悓閲戦" [ref=e821]
-                  - columnheader "鍚堝悓杈炬垚鐜�(%)" [ref=e826]
-                  - columnheader "鍥炴閲戦鐩爣" [ref=e831]
-                  - columnheader "瀹為檯鍥炴閲戦" [ref=e836]
-                  - columnheader "鍥炴杈炬垚鐜�(%)" [ref=e841]
-                  - columnheader "鍟嗘満閲戦鐩爣" [ref=e846]
-                  - columnheader "瀹為檯鍟嗘満閲戦" [ref=e851]
-                  - columnheader "鍟嗘満杈炬垚鐜�(%)" [ref=e856]
-                  - columnheader "鏂板瀹㈡埛鐩爣" [ref=e861]
-                  - columnheader "瀹為檯鏂板瀹㈡埛" [ref=e866]
-                  - columnheader "瀹㈡埛杈炬垚鐜�(%)" [ref=e871]
-                  - columnheader "鏂板鍚堝悓鐩爣" [ref=e876]
-                  - columnheader "瀹為檯鏂板鍚堝悓" [ref=e881]
-                  - columnheader "鍚堝悓鏁拌揪鎴愮巼(%)" [ref=e886]
-            - table [ref=e894]:
-              - rowgroup [ref=e914]:
-                - row [ref=e915]:
-                  - cell "瓒呯骇绠$悊鍛�" [ref=e916]
-                  - cell "10000.00" [ref=e919]
-                  - cell "32377.00" [ref=e923]
-                  - cell "323.77%" [ref=e927]
-                  - cell "10000.00" [ref=e930]
-                  - cell "100.00" [ref=e934]
-                  - cell "1%" [ref=e938]
-                  - cell "10000.00" [ref=e941]
-                  - cell "0.00" [ref=e945]
-                  - cell "0%" [ref=e949]
-                  - cell "10000" [ref=e952]
-                  - cell "3" [ref=e956]
-                  - cell "0.03%" [ref=e960]
-                  - cell "10000" [ref=e963]
-                  - cell "5" [ref=e967]
-                  - cell "0.05%" [ref=e971]
-                - row [ref=e974]:
-                  - cell "瓒呯骇绠$悊鍛�" [ref=e975]
-                  - cell "500000.00" [ref=e978]
-                  - cell "32377.00" [ref=e982]
-                  - cell "6.48%" [ref=e986]
-                  - cell "300000.00" [ref=e989]
-                  - cell "100.00" [ref=e993]
-                  - cell "0.03%" [ref=e997]
-                  - cell "600000.00" [ref=e1000]
-                  - cell "0.00" [ref=e1004]
-                  - cell "0%" [ref=e1008]
-                  - cell "20" [ref=e1011]
-                  - cell "3" [ref=e1015]
-                  - cell "15%" [ref=e1019]
-                  - cell "30" [ref=e1022]
-                  - cell "5" [ref=e1026]
-                  - cell "16.67%" [ref=e1030]
-          - generic:
-            - generic [ref=e1033]:
-              - table [ref=e1036]:
-                - rowgroup [ref=e1056]:
-                  - row [ref=e1057]:
-                    - columnheader "鐩爣鍚嶇О" [ref=e1058]
-              - table [ref=e1065]:
-                - rowgroup [ref=e1068]:
-                  - row [ref=e1069]:
-                    - cell "閰掓硥" [ref=e1070]
-                  - row [ref=e1074]:
-                    - cell "2026骞村害閿�鍞洰鏍�-寮犱笁" [ref=e1075]
-            - generic [ref=e1079]:
-              - table [ref=e1082]:
-                - rowgroup [ref=e1102]:
-                  - row [ref=e1103]:
-                    - columnheader "鐘舵��" [ref=e1104]
-              - table [ref=e1111]:
-                - rowgroup [ref=e1114]:
-                  - row [ref=e1115]:
-                    - cell "宸茬敓鏁�" [ref=e1116]
-                  - row [ref=e1120]:
-                    - cell "宸茬敓鏁�" [ref=e1121]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-14T05-18-36-135Z.yml b/.playwright-mcp/page-2026-08-14T05-18-36-135Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-14T05-18-36-135Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-14T05-18-50-100Z.yml b/.playwright-mcp/page-2026-08-14T05-18-50-100Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-14T05-18-50-100Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-14T05-19-08-995Z.yml b/.playwright-mcp/page-2026-08-14T05-19-08-995Z.yml
deleted file mode 100644
index 8384a0a..0000000
--- a/.playwright-mcp/page-2026-08-14T05-19-08-995Z.yml
+++ /dev/null
@@ -1,103 +0,0 @@
-- generic [ref=f1e7]:
-  - complementary [ref=f1e8]:
-    - generic [ref=f1e9]:
-      - generic [ref=f1e10] [cursor=pointer]
-      - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e15] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e18]
-        - generic [ref=f1e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-      - menu [ref=f1e22]:
-        - menuitem "棣栭〉" [ref=f1e23] [cursor=pointer]
-        - listitem [ref=f1e30]:
-          - generic [ref=f1e31] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=f1e39]:
-          - generic [ref=f1e40] [cursor=pointer]: 閲囪喘绠$悊
-        - listitem [ref=f1e46]:
-          - generic [ref=f1e47] [cursor=pointer]: 钀ラ攢绠$悊
-        - listitem [ref=f1e53]:
-          - generic [ref=f1e54] [cursor=pointer]: 璁惧绠$悊
-        - listitem [ref=f1e61]:
-          - generic [ref=f1e62] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=f1e70]:
-          - generic [ref=f1e71] [cursor=pointer]: 鐢熶骇绠℃帶
-        - listitem [ref=f1e78]:
-          - generic [ref=f1e79] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=f1e85]:
-          - generic [ref=f1e86] [cursor=pointer]: 鍐崇瓥BI澶у睆
-        - listitem [ref=f1e92]:
-          - generic [ref=f1e93] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - list [ref=f1e99]:
-            - listitem [ref=f1e100]:
-              - generic [ref=f1e101] [cursor=pointer]: 娴佺▼绠$悊
-              - list [ref=f1e107]:
-                - menuitem "娴佺▼妯″瀷" [ref=f1e108] [cursor=pointer]
-                - menuitem "娴佺▼琛ㄥ崟" [ref=f1e113] [cursor=pointer]
-                - menuitem "娴佺▼鍒嗙被" [ref=f1e118] [cursor=pointer]
-                - menuitem "鐢ㄦ埛鍒嗙粍" [ref=f1e123] [cursor=pointer]
-                - menuitem "娴佺▼鐩戝惉鍣�" [ref=f1e128] [cursor=pointer]
-                - menuitem "娴佺▼琛ㄨ揪寮�" [ref=f1e133] [cursor=pointer]
-                - menuitem "娴佺▼瀹炰緥" [ref=f1e138] [cursor=pointer]
-                - menuitem "娴佺▼浠诲姟" [ref=f1e143] [cursor=pointer]
-            - listitem [ref=f1e148]:
-              - generic [ref=f1e149] [cursor=pointer]: 瀹℃壒涓績
-            - menuitem "API瀵嗛挜绠$悊" [ref=f1e155] [cursor=pointer]
-            - menuitem "妯″瀷绠$悊" [ref=f1e161] [cursor=pointer]
-            - menuitem "鐭ヨ瘑搴撶鐞�" [ref=f1e166] [cursor=pointer]
-            - menuitem "閫氱煡鍏憡" [ref=f1e172] [cursor=pointer]
-        - listitem [ref=f1e177]:
-          - generic [ref=f1e178] [cursor=pointer]: 浜哄姏璧勬簮
-        - listitem [ref=f1e184]:
-          - generic [ref=f1e185] [cursor=pointer]: 鍞悗绠$悊
-        - listitem [ref=f1e191]:
-          - generic [ref=f1e192] [cursor=pointer]: 鍩虹璁炬柦
-        - listitem [ref=f1e198]:
-          - generic [ref=f1e199] [cursor=pointer]: 绯荤粺绠$悊
-        - listitem [ref=f1e205]:
-          - generic [ref=f1e206] [cursor=pointer]: IM 鍗虫椂閫氳
-      - generic [ref=f1e214] [cursor=pointer]
-  - generic [ref=f1e219]:
-    - generic [ref=f1e220]:
-      - banner [ref=f1e221]:
-        - button [ref=f1e222] [cursor=pointer]
-        - button [ref=f1e225] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f1e230]:
-          - list [ref=f1e231]:
-            - listitem [ref=f1e232]:
-              - link "鍗忓悓鍔炲叕" [ref=f1e233] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=f1e237]
-            - listitem [ref=f1e240]:
-              - link "娴佺▼绠$悊" [ref=f1e241] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=f1e245]
-            - listitem [ref=f1e248]:
-              - link "娴佺▼妯″瀷" [disabled] [ref=f1e249]
-        - generic [ref=f1e254]:
-          - generic [ref=f1e256] [cursor=pointer]:
-            - generic [ref=f1e260]: 鎼滅储
-            - generic [ref=f1e261]: Ctrl K
-          - button [ref=f1e263] [cursor=pointer]
-          - button "dark" [ref=f1e268] [cursor=pointer]
-          - button [ref=f1e277] [cursor=pointer]
-          - button [ref=f1e283] [cursor=pointer]
-          - button [ref=f1e286] [cursor=pointer]
-          - button [ref=f1e292] [cursor=pointer]:
-            - button [ref=f1e294]
-          - button "宸ヤ綔鍙�" [ref=f1e299] [cursor=pointer]
-          - button [ref=f1e303] [cursor=pointer]:
-            - img "瓒呯骇绠$悊鍛�" [ref=f1e308]
-      - generic [ref=f1e310]:
-        - generic [ref=f1e315]:
-          - generic [ref=f1e316] [cursor=pointer]: 棣栭〉
-          - generic [ref=f1e334] [cursor=pointer]: 娴佺▼妯″瀷
-        - generic [ref=f1e351]:
-          - button [ref=f1e352] [cursor=pointer]
-          - generic [ref=f1e359] [cursor=pointer]
-          - generic [ref=f1e363] [cursor=pointer]
-    - main [ref=f1e370]:
-      - generic [ref=f1e376]:
-        - generic [ref=f1e377]: 娴佺▼妯″瀷
-        - generic [ref=f1e379]:
-          - textbox "鎼滅储娴佺▼" [ref=f1e381]
-          - button "鏂板缓妯″瀷" [ref=f1e383] [cursor=pointer]
-          - button [ref=f1e387] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-08-16-647Z.yml b/.playwright-mcp/page-2026-08-18T08-08-16-647Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-18T08-08-16-647Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-08-37-184Z.yml b/.playwright-mcp/page-2026-08-18T08-08-37-184Z.yml
deleted file mode 100644
index 0a5ba4f..0000000
--- a/.playwright-mcp/page-2026-08-18T08-08-37-184Z.yml
+++ /dev/null
@@ -1,259 +0,0 @@
-- generic [ref=e4]:
-  - generic [ref=e7]:
-    - complementary [ref=e8]:
-      - generic [ref=e9]:
-        - generic [ref=e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-          - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=e22]:
-          - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-          - listitem [ref=e30]:
-            - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=e39]:
-            - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=e46]:
-            - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=e53]:
-            - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=e61]:
-            - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=e70]:
-            - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=e78]:
-            - generic [ref=e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=e104] [cursor=pointer]
-          - listitem [ref=e111]:
-            - generic [ref=e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=e118]:
-            - generic [ref=e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=e125]:
-            - generic [ref=e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=e132]:
-            - generic [ref=e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=e139]:
-            - generic [ref=e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=e146]:
-            - generic [ref=e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=e153]:
-            - generic [ref=e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=e160]:
-            - generic [ref=e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=e169] [cursor=pointer]
-    - generic [ref=e174]:
-      - generic [ref=e175]:
-        - banner [ref=e176]:
-          - button [ref=e177] [cursor=pointer]
-          - button [ref=e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=e185]:
-            - list [ref=e186]:
-              - listitem [ref=e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=e192]
-              - listitem [ref=e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=e196]
-          - generic [ref=e201]:
-            - generic [ref=e203] [cursor=pointer]:
-              - generic [ref=e207]: 鎼滅储
-              - generic [ref=e208]: Ctrl K
-            - button [ref=e210] [cursor=pointer]
-            - button "dark" [ref=e215] [cursor=pointer]
-            - button [ref=e224] [cursor=pointer]
-            - button [ref=e230] [cursor=pointer]
-            - button [ref=e233] [cursor=pointer]
-            - button [ref=e239] [cursor=pointer]:
-              - button [ref=e241]
-            - button "宸ヤ綔鍙�" [ref=e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=e250] [cursor=pointer]
-        - generic [ref=e257]:
-          - generic [ref=e262]:
-            - generic [ref=e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=e298]:
-            - button [ref=e299] [cursor=pointer]
-            - generic [ref=e306] [cursor=pointer]
-            - generic [ref=e310] [cursor=pointer]
-      - main [ref=e317]:
-        - generic [ref=e322]:
-          - generic [ref=e327]:
-            - generic [ref=e328]:
-              - generic [ref=e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=e337]:
-              - generic [ref=e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=e345]
-            - generic [ref=e351]:
-              - generic [ref=e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=e360]:
-              - generic [ref=e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=e369]:
-              - generic [ref=e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=e377]
-            - generic [ref=e383]:
-              - generic [ref=e384]: 鎵规鐘舵��
-              - generic [ref=e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=e393]:
-              - generic [ref=e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e403]:
-                  - img "swap-right" [ref=e404]
-                - textbox "缁撴潫鏃堕棿" [ref=e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e409]:
-              - generic [ref=e410]: 鍒涘缓鏃堕棿
-              - generic [ref=e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e419]:
-                  - img "swap-right" [ref=e420]
-                - textbox "缁撴潫鏃堕棿" [ref=e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e425]:
-              - button "閲� 缃�" [ref=e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=e428] [cursor=pointer]
-              - generic [ref=e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=e437]:
-            - generic [ref=e439]:
-              - generic [ref=e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=e444]:
-                - generic [ref=e446]:
-                  - button "鏂板鎵规" [active] [ref=e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=e453] [cursor=pointer]
-                - button "顫�" [ref=e459] [cursor=pointer]
-              - generic [ref=e461]:
-                - button "瞟�" [ref=e462] [cursor=pointer]
-                - button "顪�" [ref=e464] [cursor=pointer]
-                - button "顦�" [ref=e466] [cursor=pointer]
-            - generic [ref=e470]:
-              - generic [ref=e473]:
-                - generic [ref=e474]:
-                  - table [ref=e478]:
-                    - rowgroup [ref=e493]:
-                      - row [ref=e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=e520]
-                        - columnheader "璐d换浜�" [ref=e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=e535]
-                        - columnheader "鎵规鐘舵��" [ref=e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=e545]
-                  - generic [ref=e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=e553]:
-                    - table [ref=e556]:
-                      - rowgroup [ref=e571]:
-                        - row [ref=e572]:
-                          - columnheader "鎵规鍙�" [ref=e573]
-                    - generic [ref=e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=e580]:
-                    - table [ref=e583]:
-                      - rowgroup [ref=e598]:
-                        - row [ref=e599]:
-                          - columnheader "鎿嶄綔" [ref=e600]
-                    - generic [ref=e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=e621]:
-              - generic [ref=e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=e625]:
-                  - textbox "璇烽�夋嫨" [ref=e626]: 20鏉�/椤�
-                - generic [ref=e627]: 睿�
-              - button "飱�" [ref=e630]
-              - button "顧�" [ref=e632]
-              - button "顫�" [ref=e634]
-              - button "1" [ref=e637] [cursor=pointer]
-              - button "顫�" [ref=e638]
-              - button "顧�" [ref=e640]
-              - button "顦�" [ref=e642]
-  - dialog [ref=e645]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=e647]
-    - generic [ref=e649]:
-      - generic [ref=e651]:
-        - generic [ref=e652]:
-          - generic [ref=e653]:
-            - generic [ref=e654]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=e661]
-        - generic [ref=e667]:
-          - generic [ref=e668]:
-            - generic [ref=e669]: "*"
-            - text: 浜х嚎
-          - generic [ref=e675]:
-            - combobox "* 浜х嚎" [ref=e677]
-            - generic: 璇烽�夋嫨浜х嚎
-        - generic [ref=e678]:
-          - generic [ref=e679]:
-            - generic [ref=e680]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=e686]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=e687]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-            - generic:
-              - img "calendar"
-        - generic [ref=e688]:
-          - generic [ref=e689]: 璁″垝鏁伴噺
-          - generic [ref=e694]:
-            - generic [ref=e695]:
-              - button "Increase Value" [ref=e696] [cursor=pointer]:
-                - img "up" [ref=e697]
-              - button "Decrease Value" [ref=e700] [cursor=pointer]:
-                - img "down" [ref=e701]
-            - spinbutton "璁″垝鏁伴噺" [ref=e705]
-        - generic [ref=e706]:
-          - generic [ref=e707]:
-            - generic [ref=e708]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=e715]
-        - generic [ref=e721]:
-          - generic [ref=e722]: 澶囨敞
-          - textbox "澶囨敞" [ref=e727]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=e728]:
-        - generic [ref=e729]:
-          - generic [ref=e730]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=e731] [cursor=pointer]
-        - generic [ref=e739]:
-          - generic [ref=e743]:
-            - table [ref=e747]:
-              - rowgroup [ref=e753]:
-                - row [ref=e754]:
-                  - columnheader "鐢熶骇浜哄憳" [ref=e755]
-                  - columnheader "宀椾綅绫诲瀷" [ref=e760]
-                  - columnheader "澶囨敞" [ref=e765]
-                  - columnheader "鎿嶄綔" [ref=e770]
-            - generic [ref=e776]:
-              - table:
-                - rowgroup
-          - generic: 鏆傛棤鏁版嵁
-    - button [ref=e786] [cursor=pointer]
-    - generic [ref=e796]:
-      - button "纭� 璁�" [ref=e797] [cursor=pointer]
-      - button "鍙� 娑�" [ref=e800] [cursor=pointer]
-    - button [ref=e802] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-08-56-287Z.yml b/.playwright-mcp/page-2026-08-18T08-08-56-287Z.yml
deleted file mode 100644
index 260e658..0000000
--- a/.playwright-mcp/page-2026-08-18T08-08-56-287Z.yml
+++ /dev/null
@@ -1,267 +0,0 @@
-- generic [ref=e4]:
-  - generic [ref=e7]:
-    - complementary [ref=e8]:
-      - generic [ref=e9]:
-        - generic [ref=e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-          - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=e22]:
-          - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-          - listitem [ref=e30]:
-            - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=e39]:
-            - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=e46]:
-            - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=e53]:
-            - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=e61]:
-            - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=e70]:
-            - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=e78]:
-            - generic [ref=e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=e104] [cursor=pointer]
-          - listitem [ref=e111]:
-            - generic [ref=e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=e118]:
-            - generic [ref=e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=e125]:
-            - generic [ref=e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=e132]:
-            - generic [ref=e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=e139]:
-            - generic [ref=e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=e146]:
-            - generic [ref=e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=e153]:
-            - generic [ref=e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=e160]:
-            - generic [ref=e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=e169] [cursor=pointer]
-    - generic [ref=e174]:
-      - generic [ref=e175]:
-        - banner [ref=e176]:
-          - button [ref=e177] [cursor=pointer]
-          - button [ref=e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=e185]:
-            - list [ref=e186]:
-              - listitem [ref=e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=e192]
-              - listitem [ref=e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=e196]
-          - generic [ref=e201]:
-            - generic [ref=e203] [cursor=pointer]:
-              - generic [ref=e207]: 鎼滅储
-              - generic [ref=e208]: Ctrl K
-            - button [ref=e210] [cursor=pointer]
-            - button "dark" [ref=e215] [cursor=pointer]
-            - button [ref=e224] [cursor=pointer]
-            - button [ref=e230] [cursor=pointer]
-            - button [ref=e233] [cursor=pointer]
-            - button [ref=e239] [cursor=pointer]:
-              - button [ref=e241]
-            - button "宸ヤ綔鍙�" [ref=e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=e250] [cursor=pointer]
-        - generic [ref=e257]:
-          - generic [ref=e262]:
-            - generic [ref=e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=e298]:
-            - button [ref=e299] [cursor=pointer]
-            - generic [ref=e306] [cursor=pointer]
-            - generic [ref=e310] [cursor=pointer]
-      - main [ref=e317]:
-        - generic [ref=e322]:
-          - generic [ref=e327]:
-            - generic [ref=e328]:
-              - generic [ref=e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=e337]:
-              - generic [ref=e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=e345]
-            - generic [ref=e351]:
-              - generic [ref=e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=e360]:
-              - generic [ref=e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=e369]:
-              - generic [ref=e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=e377]
-            - generic [ref=e383]:
-              - generic [ref=e384]: 鎵规鐘舵��
-              - generic [ref=e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=e393]:
-              - generic [ref=e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e403]:
-                  - img "swap-right" [ref=e404]
-                - textbox "缁撴潫鏃堕棿" [ref=e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e409]:
-              - generic [ref=e410]: 鍒涘缓鏃堕棿
-              - generic [ref=e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e419]:
-                  - img "swap-right" [ref=e420]
-                - textbox "缁撴潫鏃堕棿" [ref=e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e425]:
-              - button "閲� 缃�" [ref=e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=e428] [cursor=pointer]
-              - generic [ref=e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=e437]:
-            - generic [ref=e439]:
-              - generic [ref=e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=e444]:
-                - generic [ref=e446]:
-                  - button "鏂板鎵规" [ref=e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=e453] [cursor=pointer]
-                - button "顫�" [ref=e459] [cursor=pointer]
-              - generic [ref=e461]:
-                - button "瞟�" [ref=e462] [cursor=pointer]
-                - button "顪�" [ref=e464] [cursor=pointer]
-                - button "顦�" [ref=e466] [cursor=pointer]
-            - generic [ref=e470]:
-              - generic [ref=e473]:
-                - generic [ref=e474]:
-                  - table [ref=e478]:
-                    - rowgroup [ref=e493]:
-                      - row [ref=e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=e520]
-                        - columnheader "璐d换浜�" [ref=e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=e535]
-                        - columnheader "鎵规鐘舵��" [ref=e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=e545]
-                  - generic [ref=e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=e553]:
-                    - table [ref=e556]:
-                      - rowgroup [ref=e571]:
-                        - row [ref=e572]:
-                          - columnheader "鎵规鍙�" [ref=e573]
-                    - generic [ref=e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=e580]:
-                    - table [ref=e583]:
-                      - rowgroup [ref=e598]:
-                        - row [ref=e599]:
-                          - columnheader "鎿嶄綔" [ref=e600]
-                    - generic [ref=e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=e621]:
-              - generic [ref=e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=e625]:
-                  - textbox "璇烽�夋嫨" [ref=e626]: 20鏉�/椤�
-                - generic [ref=e627]: 睿�
-              - button "飱�" [ref=e630]
-              - button "顧�" [ref=e632]
-              - button "顫�" [ref=e634]
-              - button "1" [ref=e637] [cursor=pointer]
-              - button "顫�" [ref=e638]
-              - button "顧�" [ref=e640]
-              - button "顦�" [ref=e642]
-  - dialog [ref=e645]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=e647]
-    - generic [ref=e649]:
-      - generic [ref=e651]:
-        - generic [ref=e652]:
-          - generic [ref=e653]:
-            - generic [ref=e654]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=e661]
-        - generic [ref=e667]:
-          - generic [ref=e668]:
-            - generic [ref=e669]: "*"
-            - text: 浜х嚎
-          - generic [ref=e675]:
-            - combobox "* 浜х嚎" [ref=e677]
-            - generic: 璇烽�夋嫨浜х嚎
-        - generic [ref=e678]:
-          - generic [ref=e679]:
-            - generic [ref=e680]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=e686]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=e687]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-            - generic:
-              - img "calendar"
-        - generic [ref=e688]:
-          - generic [ref=e689]: 璁″垝鏁伴噺
-          - generic [ref=e694]:
-            - generic [ref=e695]:
-              - button "Increase Value" [ref=e696] [cursor=pointer]:
-                - img "up" [ref=e697]
-              - button "Decrease Value" [ref=e700] [cursor=pointer]:
-                - img "down" [ref=e701]
-            - spinbutton "璁″垝鏁伴噺" [ref=e705]
-        - generic [ref=e706]:
-          - generic [ref=e707]:
-            - generic [ref=e708]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=e715]
-        - generic [ref=e721]:
-          - generic [ref=e722]: 澶囨敞
-          - textbox "澶囨敞" [ref=e727]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=e728]:
-        - generic [ref=e729]:
-          - generic [ref=e730]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [active] [ref=e731] [cursor=pointer]
-        - generic [ref=e743]:
-          - table [ref=e747]:
-            - rowgroup [ref=e753]:
-              - row [ref=e754]:
-                - columnheader "鐢熶骇浜哄憳" [ref=e755]
-                - columnheader "宀椾綅绫诲瀷" [ref=e760]
-                - columnheader "澶囨敞" [ref=e765]
-                - columnheader "鎿嶄綔" [ref=e770]
-          - table [ref=e806]:
-            - rowgroup [ref=e812]:
-              - row [ref=e813]:
-                - cell [ref=e814]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=e819]
-                - cell [ref=e825]:
-                  - generic [ref=e829] [cursor=pointer]:
-                    - combobox [ref=e831]
-                    - generic: 璇烽�夋嫨宀椾綅绫诲瀷
-                - cell [ref=e832]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=e835]
-                - cell [ref=e836]:
-                  - button "鍒犻櫎" [ref=e842] [cursor=pointer]
-    - button [ref=e786] [cursor=pointer]
-    - generic [ref=e796]:
-      - button "纭� 璁�" [ref=e797] [cursor=pointer]
-      - button "鍙� 娑�" [ref=e800] [cursor=pointer]
-    - button [ref=e802] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-09-14-099Z.yml b/.playwright-mcp/page-2026-08-18T08-09-14-099Z.yml
deleted file mode 100644
index 605ad61..0000000
--- a/.playwright-mcp/page-2026-08-18T08-09-14-099Z.yml
+++ /dev/null
@@ -1,492 +0,0 @@
-- generic [ref=e4]:
-  - generic [ref=e7]:
-    - complementary [ref=e8]:
-      - generic [ref=e9]:
-        - generic [ref=e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-          - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=e22]:
-          - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-          - listitem [ref=e30]:
-            - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=e39]:
-            - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=e46]:
-            - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=e53]:
-            - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=e61]:
-            - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=e70]:
-            - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=e78]:
-            - generic [ref=e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=e104] [cursor=pointer]
-          - listitem [ref=e111]:
-            - generic [ref=e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=e118]:
-            - generic [ref=e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=e125]:
-            - generic [ref=e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=e132]:
-            - generic [ref=e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=e139]:
-            - generic [ref=e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=e146]:
-            - generic [ref=e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=e153]:
-            - generic [ref=e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=e160]:
-            - generic [ref=e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=e169] [cursor=pointer]
-    - generic [ref=e174]:
-      - generic [ref=e175]:
-        - banner [ref=e176]:
-          - button [ref=e177] [cursor=pointer]
-          - button [ref=e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=e185]:
-            - list [ref=e186]:
-              - listitem [ref=e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=e192]
-              - listitem [ref=e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=e196]
-          - generic [ref=e201]:
-            - generic [ref=e203] [cursor=pointer]:
-              - generic [ref=e207]: 鎼滅储
-              - generic [ref=e208]: Ctrl K
-            - button [ref=e210] [cursor=pointer]
-            - button "dark" [ref=e215] [cursor=pointer]
-            - button [ref=e224] [cursor=pointer]
-            - button [ref=e230] [cursor=pointer]
-            - button [ref=e233] [cursor=pointer]
-            - button [ref=e239] [cursor=pointer]:
-              - button [ref=e241]
-            - button "宸ヤ綔鍙�" [ref=e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=e250] [cursor=pointer]
-        - generic [ref=e257]:
-          - generic [ref=e262]:
-            - generic [ref=e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=e298]:
-            - button [ref=e299] [cursor=pointer]
-            - generic [ref=e306] [cursor=pointer]
-            - generic [ref=e310] [cursor=pointer]
-      - main [ref=e317]:
-        - generic [ref=e322]:
-          - generic [ref=e327]:
-            - generic [ref=e328]:
-              - generic [ref=e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=e337]:
-              - generic [ref=e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=e345]
-            - generic [ref=e351]:
-              - generic [ref=e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=e360]:
-              - generic [ref=e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=e369]:
-              - generic [ref=e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=e377]
-            - generic [ref=e383]:
-              - generic [ref=e384]: 鎵规鐘舵��
-              - generic [ref=e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=e393]:
-              - generic [ref=e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e403]:
-                  - img "swap-right" [ref=e404]
-                - textbox "缁撴潫鏃堕棿" [ref=e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e409]:
-              - generic [ref=e410]: 鍒涘缓鏃堕棿
-              - generic [ref=e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e419]:
-                  - img "swap-right" [ref=e420]
-                - textbox "缁撴潫鏃堕棿" [ref=e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e425]:
-              - button "閲� 缃�" [ref=e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=e428] [cursor=pointer]
-              - generic [ref=e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=e437]:
-            - generic [ref=e439]:
-              - generic [ref=e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=e444]:
-                - generic [ref=e446]:
-                  - button "鏂板鎵规" [ref=e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=e453] [cursor=pointer]
-                - button "顫�" [ref=e459] [cursor=pointer]
-              - generic [ref=e461]:
-                - button "瞟�" [ref=e462] [cursor=pointer]
-                - button "顪�" [ref=e464] [cursor=pointer]
-                - button "顦�" [ref=e466] [cursor=pointer]
-            - generic [ref=e470]:
-              - generic [ref=e473]:
-                - generic [ref=e474]:
-                  - table [ref=e478]:
-                    - rowgroup [ref=e493]:
-                      - row [ref=e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=e520]
-                        - columnheader "璐d换浜�" [ref=e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=e535]
-                        - columnheader "鎵规鐘舵��" [ref=e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=e545]
-                  - generic [ref=e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=e553]:
-                    - table [ref=e556]:
-                      - rowgroup [ref=e571]:
-                        - row [ref=e572]:
-                          - columnheader "鎵规鍙�" [ref=e573]
-                    - generic [ref=e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=e580]:
-                    - table [ref=e583]:
-                      - rowgroup [ref=e598]:
-                        - row [ref=e599]:
-                          - columnheader "鎿嶄綔" [ref=e600]
-                    - generic [ref=e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=e621]:
-              - generic [ref=e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=e625]:
-                  - textbox "璇烽�夋嫨" [ref=e626]: 20鏉�/椤�
-                - generic [ref=e627]: 睿�
-              - button "飱�" [ref=e630]
-              - button "顧�" [ref=e632]
-              - button "顫�" [ref=e634]
-              - button "1" [ref=e637] [cursor=pointer]
-              - button "顫�" [ref=e638]
-              - button "顧�" [ref=e640]
-              - button "顦�" [ref=e642]
-  - dialog [ref=e645]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=e647]
-    - generic [ref=e649]:
-      - generic [ref=e651]:
-        - generic [ref=e652]:
-          - generic [ref=e653]:
-            - generic [ref=e654]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=e661]
-        - generic [ref=e667]:
-          - generic [ref=e668]:
-            - generic [ref=e669]: "*"
-            - text: 浜х嚎
-          - generic [ref=e675]:
-            - combobox "* 浜х嚎" [ref=e677]
-            - generic: 璇烽�夋嫨浜х嚎
-        - generic [ref=e678]:
-          - generic [ref=e679]:
-            - generic [ref=e680]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=e686]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=e687]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-            - generic:
-              - img "calendar"
-        - generic [ref=e688]:
-          - generic [ref=e689]: 璁″垝鏁伴噺
-          - generic [ref=e694]:
-            - generic [ref=e695]:
-              - button "Increase Value" [ref=e696] [cursor=pointer]:
-                - img "up" [ref=e697]
-              - button "Decrease Value" [ref=e700] [cursor=pointer]:
-                - img "down" [ref=e701]
-            - spinbutton "璁″垝鏁伴噺" [ref=e705]
-        - generic [ref=e706]:
-          - generic [ref=e707]:
-            - generic [ref=e708]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=e715]
-        - generic [ref=e721]:
-          - generic [ref=e722]: 澶囨敞
-          - textbox "澶囨敞" [ref=e727]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=e728]:
-        - generic [ref=e729]:
-          - generic [ref=e730]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=e731] [cursor=pointer]
-        - generic [ref=e743]:
-          - table [ref=e747]:
-            - rowgroup [ref=e753]:
-              - row [ref=e754]:
-                - columnheader "鐢熶骇浜哄憳" [ref=e755]
-                - columnheader "宀椾綅绫诲瀷" [ref=e760]
-                - columnheader "澶囨敞" [ref=e765]
-                - columnheader "鎿嶄綔" [ref=e770]
-          - table [ref=e806]:
-            - rowgroup [ref=e812]:
-              - row [ref=e813]:
-                - cell [ref=e814]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=e819]
-                - cell [ref=e825]:
-                  - generic [ref=e829] [cursor=pointer]:
-                    - combobox [ref=e831]
-                    - generic: 璇烽�夋嫨宀椾綅绫诲瀷
-                - cell [ref=e832]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=e835]
-                - cell [ref=e836]:
-                  - button "鍒犻櫎" [ref=e842] [cursor=pointer]
-    - button [ref=e786] [cursor=pointer]
-    - generic [ref=e796]:
-      - button "纭� 璁�" [ref=e797] [cursor=pointer]
-      - button "鍙� 娑�" [ref=e800] [cursor=pointer]
-    - button [ref=e802] [cursor=pointer]
-  - dialog "浜哄憳閫夋嫨" [ref=e845]:
-    - document:
-      - generic [ref=e846]:
-        - button "Close" [ref=e847] [cursor=pointer]:
-          - img "close" [ref=e849]
-        - generic [ref=e852]: 浜哄憳閫夋嫨
-        - generic [ref=e855]:
-          - generic [ref=e857]:
-            - textbox "鎼滅储閮ㄩ棬" [ref=e864]
-            - tree [ref=e868]:
-              - generic:
-                - textbox "for screen reader"
-              - generic [ref=e872]:
-                - generic [ref=e873]:
-                  - img "caret-down" [ref=e875] [cursor=pointer]
-                  - generic "鎬诲叕鍙�" [ref=e878] [cursor=pointer]
-                - generic [ref=e879]:
-                  - img "caret-down" [ref=e882] [cursor=pointer]
-                  - generic "娣卞湷鎬诲叕鍙�" [ref=e885] [cursor=pointer]
-                - generic "鐮斿彂閮ㄩ棬" [ref=e889] [cursor=pointer]
-                - generic "甯傚満閮ㄩ棬" [ref=e893] [cursor=pointer]
-                - generic "娴嬭瘯閮ㄩ棬" [ref=e897] [cursor=pointer]
-                - generic "璐㈠姟閮ㄩ棬" [ref=e901] [cursor=pointer]
-                - generic "杩愮淮閮ㄩ棬" [ref=e905] [cursor=pointer]
-                - generic [ref=e906]:
-                  - img "caret-down" [ref=e909] [cursor=pointer]
-                  - generic "闀挎矙鍒嗗叕鍙�" [ref=e912] [cursor=pointer]
-                - generic "甯傚満閮ㄩ棬" [ref=e916] [cursor=pointer]
-                - generic "璐㈠姟閮ㄩ棬" [ref=e920] [cursor=pointer]
-                - generic "鏂伴儴闂�" [ref=e923] [cursor=pointer]
-                - generic "椤剁骇閮ㄩ棬" [ref=e926] [cursor=pointer]
-                - generic "鏌愪釜瀛愰儴闂�" [ref=e929] [cursor=pointer]
-                - generic "鏌愪釜瀛愰儴闂� 2" [ref=e932] [cursor=pointer]
-          - generic [ref=e935]:
-            - generic [ref=e940]:
-              - generic [ref=e941]:
-                - generic [ref=e942]: 鐢ㄦ埛鍚嶇О
-                - textbox "鐢ㄦ埛鍚嶇О" [ref=e948]:
-                  - /placeholder: 璇疯緭鍏ョ敤鎴峰悕绉�
-              - generic [ref=e950]:
-                - generic [ref=e951]: 鐢ㄦ埛鏄电О
-                - textbox "鐢ㄦ埛鏄电О" [ref=e957]:
-                  - /placeholder: 璇疯緭鍏ョ敤鎴锋樀绉�
-              - generic [ref=e959]:
-                - generic [ref=e960]: 鎵嬫満鍙风爜
-                - textbox "鎵嬫満鍙风爜" [ref=e966]:
-                  - /placeholder: 璇疯緭鍏ユ墜鏈哄彿鐮�
-              - generic [ref=e968]:
-                - generic [ref=e969]: 鐘舵��
-                - generic [ref=e975] [cursor=pointer]:
-                  - combobox "鐘舵��" [ref=e977]
-                  - generic "寮�鍚�" [ref=e978]
-              - generic [ref=e983]:
-                - button "閲� 缃�" [ref=e984] [cursor=pointer]
-                - button "鎼� 绱�" [ref=e986] [cursor=pointer]
-                - generic [ref=e988] [cursor=pointer]: 鏀惰捣
-            - generic [ref=e995]:
-              - generic [ref=e997]:
-                - generic [ref=e998]: 鐢ㄦ埛鍒楄〃
-                - button "顫�" [ref=e1003] [cursor=pointer]
-                - generic [ref=e1005]:
-                  - button "瞟�" [ref=e1006] [cursor=pointer]
-                  - button "顪�" [ref=e1008] [cursor=pointer]
-                  - button "顦�" [ref=e1010] [cursor=pointer]
-              - generic [ref=e1018]:
-                - table [ref=e1022]:
-                  - rowgroup [ref=e1030]:
-                    - row "鐢ㄦ埛缂栧彿 鐢ㄦ埛鍚嶇О 鐢ㄦ埛鏄电О 鎵嬫満鍙风爜 鐘舵��" [ref=e1031]:
-                      - columnheader [ref=e1032]
-                      - columnheader "鐢ㄦ埛缂栧彿" [ref=e1035]
-                      - columnheader "鐢ㄦ埛鍚嶇О" [ref=e1040]
-                      - columnheader "鐢ㄦ埛鏄电О" [ref=e1045]
-                      - columnheader "鎵嬫満鍙风爜" [ref=e1050]
-                      - columnheader "鐘舵��" [ref=e1055]
-                - table [ref=e1063]:
-                  - rowgroup [ref=e1071]:
-                    - row [ref=e1072]:
-                      - cell "顭�" [ref=e1073]
-                      - cell "230" [ref=e1078]
-                      - cell "18333333333" [ref=e1082]
-                      - cell "222" [ref=e1086]
-                      - cell "18333333333" [ref=e1090]
-                      - cell "寮�鍚�" [ref=e1094]
-                    - row [ref=e1098]:
-                      - cell "顭�" [ref=e1099]
-                      - cell "229" [ref=e1104]
-                      - cell "15822054764" [ref=e1108]
-                      - cell "鏀惧亣" [ref=e1112]
-                      - cell "15822054764" [ref=e1116]
-                      - cell "寮�鍚�" [ref=e1120]
-                    - row [ref=e1124]:
-                      - cell "顭�" [ref=e1125]
-                      - cell "228" [ref=e1130]
-                      - cell "15822054766" [ref=e1134]
-                      - cell "涓嶆兂涓婄彮" [ref=e1138]
-                      - cell "15822054766" [ref=e1142]
-                      - cell "寮�鍚�" [ref=e1146]
-                    - row [ref=e1150]:
-                      - cell "顭�" [ref=e1151]
-                      - cell "227" [ref=e1156]
-                      - cell "15822054767" [ref=e1160]
-                      - cell "澶ф槑鏄�" [ref=e1164]
-                      - cell "15822054767" [ref=e1168]
-                      - cell "寮�鍚�" [ref=e1172]
-                    - row [ref=e1176]:
-                      - cell "顭�" [ref=e1177]
-                      - cell "226" [ref=e1182]
-                      - cell "15822054763" [ref=e1186]
-                      - cell "鍗冨厠" [ref=e1190]
-                      - cell "15822054763" [ref=e1194]
-                      - cell "寮�鍚�" [ref=e1198]
-                    - row [ref=e1202]:
-                      - cell "顭�" [ref=e1203]
-                      - cell "225" [ref=e1208]
-                      - cell "15822054762" [ref=e1212]
-                      - cell "鍗楃摐瀛�" [ref=e1216]
-                      - cell "15822054762" [ref=e1220]
-                      - cell "寮�鍚�" [ref=e1224]
-                    - row "顭� 144 aoteman001 aoteman00112 鍏抽棴" [ref=e1228]:
-                      - cell "顭�" [ref=e1229]
-                      - cell "144" [ref=e1234]
-                      - cell "aoteman001" [ref=e1238]
-                      - cell "aoteman00112" [ref=e1242]
-                      - cell [ref=e1246]
-                      - cell "鍏抽棴" [ref=e1250]
-                    - row "顭� 143 a00001 a00001 寮�鍚�" [ref=e1254]:
-                      - cell "顭�" [ref=e1255]
-                      - cell "143" [ref=e1260]
-                      - cell "a00001" [ref=e1264]
-                      - cell "a00001" [ref=e1268]
-                      - cell [ref=e1272]
-                      - cell "寮�鍚�" [ref=e1276]
-                    - row [ref=e1280]:
-                      - cell "顭�" [ref=e1281]
-                      - cell "142" [ref=e1286]
-                      - cell "test01" [ref=e1290]
-                      - cell "test01" [ref=e1294]
-                      - cell "19021719925" [ref=e1298]
-                      - cell "寮�鍚�" [ref=e1302]
-                    - row "顭� 141 admin1 鏂扮敤鎴� 寮�鍚�" [ref=e1306]:
-                      - cell "顭�" [ref=e1307]
-                      - cell "141" [ref=e1312]
-                      - cell "admin1" [ref=e1316]
-                      - cell "鏂扮敤鎴�" [ref=e1320]
-                      - cell [ref=e1324]
-                      - cell "寮�鍚�" [ref=e1328]
-                    - row "顭� 139 wwbwwb 灏忕澶� 寮�鍚�" [ref=e1332]:
-                      - cell "顭�" [ref=e1333]
-                      - cell "139" [ref=e1338]
-                      - cell "wwbwwb" [ref=e1342]
-                      - cell "灏忕澶�" [ref=e1346]
-                      - cell [ref=e1350]
-                      - cell "寮�鍚�" [ref=e1354]
-                    - row [ref=e1358]:
-                      - cell "顭�" [ref=e1359]
-                      - cell "118" [ref=e1364]
-                      - cell "goudan" [ref=e1368]
-                      - cell "鐙楄泲" [ref=e1372]
-                      - cell "15601691239" [ref=e1376]
-                      - cell "寮�鍚�" [ref=e1380]
-                    - row [ref=e1384]:
-                      - cell "顭�" [ref=e1385]
-                      - cell "117" [ref=e1390]
-                      - cell "admin123" [ref=e1394]
-                      - cell "娴嬭瘯鍙�02" [ref=e1398]
-                      - cell "15601691234" [ref=e1402]
-                      - cell "寮�鍚�" [ref=e1406]
-                    - row [ref=e1410]:
-                      - cell "顭�" [ref=e1411]
-                      - cell "115" [ref=e1416]
-                      - cell "aotemane" [ref=e1420]
-                      - cell "闃垮憜" [ref=e1424]
-                      - cell "15601691229" [ref=e1428]
-                      - cell "寮�鍚�" [ref=e1432]
-                    - row [ref=e1436]:
-                      - cell "顭�" [ref=e1437]
-                      - cell "114" [ref=e1442]
-                      - cell "hrmgr" [ref=e1446]
-                      - cell "hr 灏忓濮�" [ref=e1450]
-                      - cell "15601691236" [ref=e1454]
-                      - cell "寮�鍚�" [ref=e1458]
-                    - row [ref=e1462]:
-                      - cell "顭�" [ref=e1463]
-                      - cell "113" [ref=e1468]
-                      - cell "aoteman" [ref=e1472]
-                      - cell "绠$悊鍛�1" [ref=e1476]
-                      - cell "15601691300" [ref=e1480]
-                      - cell "寮�鍚�" [ref=e1484]
-                    - row [ref=e1488]:
-                      - cell "顭�" [ref=e1489]
-                      - cell "112" [ref=e1494]
-                      - cell "newobject" [ref=e1498]
-                      - cell "鏂板璞�" [ref=e1502]
-                      - cell "15601691235" [ref=e1506]
-                      - cell "寮�鍚�" [ref=e1510]
-                    - row "顭� 111 test 娴嬭瘯鐢ㄦ埛 寮�鍚�" [ref=e1514]:
-                      - cell "顭�" [ref=e1515]
-                      - cell "111" [ref=e1520]
-                      - cell "test" [ref=e1524]
-                      - cell "娴嬭瘯鐢ㄦ埛" [ref=e1528]
-                      - cell [ref=e1532]
-                      - cell "寮�鍚�" [ref=e1536]
-                    - row [ref=e1540]:
-                      - cell "顭�" [ref=e1541]
-                      - cell "1" [ref=e1546]
-                      - cell "admin" [ref=e1550]
-                      - cell "瓒呯骇绠$悊鍛�" [ref=e1554]
-                      - cell "18818260272" [ref=e1558]
-                      - cell "寮�鍚�" [ref=e1562]
-              - generic [ref=e1573]:
-                - generic [ref=e1574]: 鍏� 19 鏉¤褰�
-                - generic [ref=e1576] [cursor=pointer]:
-                  - generic "20鏉�/椤�" [ref=e1577]:
-                    - textbox "璇烽�夋嫨" [ref=e1578]: 20鏉�/椤�
-                  - generic [ref=e1579]: 睿�
-                - button "飱�" [ref=e1582]
-                - button "顧�" [ref=e1584]
-                - button "顫�" [ref=e1586]
-                - button "1" [ref=e1589] [cursor=pointer]
-                - button "顫�" [ref=e1590]
-                - button "顧�" [ref=e1592]
-                - button "顦�" [ref=e1594]
-        - generic [ref=e1596]:
-          - button "鍙� 娑�" [ref=e1597] [cursor=pointer]
-          - button "纭� 瀹�" [ref=e1599] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-09-33-409Z.yml b/.playwright-mcp/page-2026-08-18T08-09-33-409Z.yml
deleted file mode 100644
index f5c11b1..0000000
--- a/.playwright-mcp/page-2026-08-18T08-09-33-409Z.yml
+++ /dev/null
@@ -1,492 +0,0 @@
-- generic [ref=e4]:
-  - generic [ref=e7]:
-    - complementary [ref=e8]:
-      - generic [ref=e9]:
-        - generic [ref=e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-          - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=e22]:
-          - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-          - listitem [ref=e30]:
-            - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=e39]:
-            - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=e46]:
-            - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=e53]:
-            - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=e61]:
-            - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=e70]:
-            - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=e78]:
-            - generic [ref=e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=e104] [cursor=pointer]
-          - listitem [ref=e111]:
-            - generic [ref=e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=e118]:
-            - generic [ref=e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=e125]:
-            - generic [ref=e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=e132]:
-            - generic [ref=e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=e139]:
-            - generic [ref=e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=e146]:
-            - generic [ref=e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=e153]:
-            - generic [ref=e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=e160]:
-            - generic [ref=e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=e169] [cursor=pointer]
-    - generic [ref=e174]:
-      - generic [ref=e175]:
-        - banner [ref=e176]:
-          - button [ref=e177] [cursor=pointer]
-          - button [ref=e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=e185]:
-            - list [ref=e186]:
-              - listitem [ref=e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=e192]
-              - listitem [ref=e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=e196]
-          - generic [ref=e201]:
-            - generic [ref=e203] [cursor=pointer]:
-              - generic [ref=e207]: 鎼滅储
-              - generic [ref=e208]: Ctrl K
-            - button [ref=e210] [cursor=pointer]
-            - button "dark" [ref=e215] [cursor=pointer]
-            - button [ref=e224] [cursor=pointer]
-            - button [ref=e230] [cursor=pointer]
-            - button [ref=e233] [cursor=pointer]
-            - button [ref=e239] [cursor=pointer]:
-              - button [ref=e241]
-            - button "宸ヤ綔鍙�" [ref=e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=e250] [cursor=pointer]
-        - generic [ref=e257]:
-          - generic [ref=e262]:
-            - generic [ref=e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=e298]:
-            - button [ref=e299] [cursor=pointer]
-            - generic [ref=e306] [cursor=pointer]
-            - generic [ref=e310] [cursor=pointer]
-      - main [ref=e317]:
-        - generic [ref=e322]:
-          - generic [ref=e327]:
-            - generic [ref=e328]:
-              - generic [ref=e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=e337]:
-              - generic [ref=e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=e345]
-            - generic [ref=e351]:
-              - generic [ref=e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=e360]:
-              - generic [ref=e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=e369]:
-              - generic [ref=e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=e377]
-            - generic [ref=e383]:
-              - generic [ref=e384]: 鎵规鐘舵��
-              - generic [ref=e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=e393]:
-              - generic [ref=e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e403]:
-                  - img "swap-right" [ref=e404]
-                - textbox "缁撴潫鏃堕棿" [ref=e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e409]:
-              - generic [ref=e410]: 鍒涘缓鏃堕棿
-              - generic [ref=e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e419]:
-                  - img "swap-right" [ref=e420]
-                - textbox "缁撴潫鏃堕棿" [ref=e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e425]:
-              - button "閲� 缃�" [ref=e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=e428] [cursor=pointer]
-              - generic [ref=e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=e437]:
-            - generic [ref=e439]:
-              - generic [ref=e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=e444]:
-                - generic [ref=e446]:
-                  - button "鏂板鎵规" [ref=e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=e453] [cursor=pointer]
-                - button "顫�" [ref=e459] [cursor=pointer]
-              - generic [ref=e461]:
-                - button "瞟�" [ref=e462] [cursor=pointer]
-                - button "顪�" [ref=e464] [cursor=pointer]
-                - button "顦�" [ref=e466] [cursor=pointer]
-            - generic [ref=e470]:
-              - generic [ref=e473]:
-                - generic [ref=e474]:
-                  - table [ref=e478]:
-                    - rowgroup [ref=e493]:
-                      - row [ref=e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=e520]
-                        - columnheader "璐d换浜�" [ref=e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=e535]
-                        - columnheader "鎵规鐘舵��" [ref=e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=e545]
-                  - generic [ref=e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=e553]:
-                    - table [ref=e556]:
-                      - rowgroup [ref=e571]:
-                        - row [ref=e572]:
-                          - columnheader "鎵规鍙�" [ref=e573]
-                    - generic [ref=e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=e580]:
-                    - table [ref=e583]:
-                      - rowgroup [ref=e598]:
-                        - row [ref=e599]:
-                          - columnheader "鎿嶄綔" [ref=e600]
-                    - generic [ref=e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=e621]:
-              - generic [ref=e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=e625]:
-                  - textbox "璇烽�夋嫨" [ref=e626]: 20鏉�/椤�
-                - generic [ref=e627]: 睿�
-              - button "飱�" [ref=e630]
-              - button "顧�" [ref=e632]
-              - button "顫�" [ref=e634]
-              - button "1" [ref=e637] [cursor=pointer]
-              - button "顫�" [ref=e638]
-              - button "顧�" [ref=e640]
-              - button "顦�" [ref=e642]
-  - dialog [ref=e645]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=e647]
-    - generic [ref=e649]:
-      - generic [ref=e651]:
-        - generic [ref=e652]:
-          - generic [ref=e653]:
-            - generic [ref=e654]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=e661]
-        - generic [ref=e667]:
-          - generic [ref=e668]:
-            - generic [ref=e669]: "*"
-            - text: 浜х嚎
-          - generic [ref=e675]:
-            - combobox "* 浜х嚎" [ref=e677]
-            - generic: 璇烽�夋嫨浜х嚎
-        - generic [ref=e678]:
-          - generic [ref=e679]:
-            - generic [ref=e680]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=e686]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=e687]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-            - generic:
-              - img "calendar"
-        - generic [ref=e688]:
-          - generic [ref=e689]: 璁″垝鏁伴噺
-          - generic [ref=e694]:
-            - generic [ref=e695]:
-              - button "Increase Value" [ref=e696] [cursor=pointer]:
-                - img "up" [ref=e697]
-              - button "Decrease Value" [ref=e700] [cursor=pointer]:
-                - img "down" [ref=e701]
-            - spinbutton "璁″垝鏁伴噺" [ref=e705]
-        - generic [ref=e706]:
-          - generic [ref=e707]:
-            - generic [ref=e708]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=e715]
-        - generic [ref=e721]:
-          - generic [ref=e722]: 澶囨敞
-          - textbox "澶囨敞" [ref=e727]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=e728]:
-        - generic [ref=e729]:
-          - generic [ref=e730]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=e731] [cursor=pointer]
-        - generic [ref=e743]:
-          - table [ref=e747]:
-            - rowgroup [ref=e753]:
-              - row [ref=e754]:
-                - columnheader "鐢熶骇浜哄憳" [ref=e755]
-                - columnheader "宀椾綅绫诲瀷" [ref=e760]
-                - columnheader "澶囨敞" [ref=e765]
-                - columnheader "鎿嶄綔" [ref=e770]
-          - table [ref=e806]:
-            - rowgroup [ref=e812]:
-              - row [ref=e813]:
-                - cell [ref=e814]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=e819]
-                - cell [ref=e825]:
-                  - generic [ref=e829] [cursor=pointer]:
-                    - combobox [ref=e831]
-                    - generic: 璇烽�夋嫨宀椾綅绫诲瀷
-                - cell [ref=e832]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=e835]
-                - cell [ref=e836]:
-                  - button "鍒犻櫎" [ref=e842] [cursor=pointer]
-    - button [ref=e786] [cursor=pointer]
-    - generic [ref=e796]:
-      - button "纭� 璁�" [ref=e797] [cursor=pointer]
-      - button "鍙� 娑�" [ref=e800] [cursor=pointer]
-    - button [ref=e802] [cursor=pointer]
-  - dialog "浜哄憳閫夋嫨" [ref=e845]:
-    - document:
-      - generic [ref=e846]:
-        - button "Close" [ref=e847] [cursor=pointer]:
-          - img "close" [ref=e849]
-        - generic [ref=e852]: 浜哄憳閫夋嫨
-        - generic [ref=e855]:
-          - generic [ref=e857]:
-            - textbox "鎼滅储閮ㄩ棬" [ref=e864]
-            - tree [ref=e868]:
-              - generic:
-                - textbox "for screen reader"
-              - generic [ref=e872]:
-                - generic [ref=e873]:
-                  - img "caret-down" [ref=e875] [cursor=pointer]
-                  - generic "鎬诲叕鍙�" [ref=e878] [cursor=pointer]
-                - generic [ref=e879]:
-                  - img "caret-down" [ref=e882] [cursor=pointer]
-                  - generic "娣卞湷鎬诲叕鍙�" [ref=e885] [cursor=pointer]
-                - generic "鐮斿彂閮ㄩ棬" [ref=e889] [cursor=pointer]
-                - generic "甯傚満閮ㄩ棬" [ref=e893] [cursor=pointer]
-                - generic "娴嬭瘯閮ㄩ棬" [ref=e897] [cursor=pointer]
-                - generic "璐㈠姟閮ㄩ棬" [ref=e901] [cursor=pointer]
-                - generic "杩愮淮閮ㄩ棬" [ref=e905] [cursor=pointer]
-                - generic [ref=e906]:
-                  - img "caret-down" [ref=e909] [cursor=pointer]
-                  - generic "闀挎矙鍒嗗叕鍙�" [ref=e912] [cursor=pointer]
-                - generic "甯傚満閮ㄩ棬" [ref=e916] [cursor=pointer]
-                - generic "璐㈠姟閮ㄩ棬" [ref=e920] [cursor=pointer]
-                - generic "鏂伴儴闂�" [ref=e923] [cursor=pointer]
-                - generic "椤剁骇閮ㄩ棬" [ref=e926] [cursor=pointer]
-                - generic "鏌愪釜瀛愰儴闂�" [ref=e929] [cursor=pointer]
-                - generic "鏌愪釜瀛愰儴闂� 2" [ref=e932] [cursor=pointer]
-          - generic [ref=e935]:
-            - generic [ref=e940]:
-              - generic [ref=e941]:
-                - generic [ref=e942]: 鐢ㄦ埛鍚嶇О
-                - textbox "鐢ㄦ埛鍚嶇О" [ref=e948]:
-                  - /placeholder: 璇疯緭鍏ョ敤鎴峰悕绉�
-              - generic [ref=e950]:
-                - generic [ref=e951]: 鐢ㄦ埛鏄电О
-                - textbox "鐢ㄦ埛鏄电О" [ref=e957]:
-                  - /placeholder: 璇疯緭鍏ョ敤鎴锋樀绉�
-              - generic [ref=e959]:
-                - generic [ref=e960]: 鎵嬫満鍙风爜
-                - textbox "鎵嬫満鍙风爜" [ref=e966]:
-                  - /placeholder: 璇疯緭鍏ユ墜鏈哄彿鐮�
-              - generic [ref=e968]:
-                - generic [ref=e969]: 鐘舵��
-                - generic [ref=e975] [cursor=pointer]:
-                  - combobox "鐘舵��" [ref=e977]
-                  - generic "寮�鍚�" [ref=e978]
-              - generic [ref=e983]:
-                - button "閲� 缃�" [ref=e984] [cursor=pointer]
-                - button "鎼� 绱�" [ref=e986] [cursor=pointer]
-                - generic [ref=e988] [cursor=pointer]: 鏀惰捣
-            - generic [ref=e995]:
-              - generic [ref=e997]:
-                - generic [ref=e998]: 鐢ㄦ埛鍒楄〃
-                - button "顫�" [ref=e1003] [cursor=pointer]
-                - generic [ref=e1005]:
-                  - button "瞟�" [ref=e1006] [cursor=pointer]
-                  - button "顪�" [ref=e1008] [cursor=pointer]
-                  - button "顦�" [ref=e1010] [cursor=pointer]
-              - generic [ref=e1018]:
-                - table [ref=e1022]:
-                  - rowgroup [ref=e1030]:
-                    - row "鐢ㄦ埛缂栧彿 鐢ㄦ埛鍚嶇О 鐢ㄦ埛鏄电О 鎵嬫満鍙风爜 鐘舵��" [ref=e1031]:
-                      - columnheader [ref=e1032]
-                      - columnheader "鐢ㄦ埛缂栧彿" [ref=e1035]
-                      - columnheader "鐢ㄦ埛鍚嶇О" [ref=e1040]
-                      - columnheader "鐢ㄦ埛鏄电О" [ref=e1045]
-                      - columnheader "鎵嬫満鍙风爜" [ref=e1050]
-                      - columnheader "鐘舵��" [ref=e1055]
-                - table [ref=e1063]:
-                  - rowgroup [ref=e1071]:
-                    - row [ref=e1601]:
-                      - cell "顫�" [ref=e1602]
-                      - cell "230" [ref=e1078]
-                      - cell "18333333333" [ref=e1082]
-                      - cell "222" [ref=e1086]
-                      - cell "18333333333" [ref=e1090]
-                      - cell "寮�鍚�" [ref=e1094]
-                    - row [ref=e1098]:
-                      - cell "顭�" [ref=e1099]
-                      - cell "229" [ref=e1104]
-                      - cell "15822054764" [ref=e1108]
-                      - cell "鏀惧亣" [ref=e1112]
-                      - cell "15822054764" [ref=e1116]
-                      - cell "寮�鍚�" [ref=e1120]
-                    - row [ref=e1124]:
-                      - cell "顭�" [ref=e1125]
-                      - cell "228" [ref=e1130]
-                      - cell "15822054766" [ref=e1134]
-                      - cell "涓嶆兂涓婄彮" [ref=e1138]
-                      - cell "15822054766" [ref=e1142]
-                      - cell "寮�鍚�" [ref=e1146]
-                    - row [ref=e1150]:
-                      - cell "顭�" [ref=e1151]
-                      - cell "227" [ref=e1156]
-                      - cell "15822054767" [ref=e1160]
-                      - cell "澶ф槑鏄�" [ref=e1164]
-                      - cell "15822054767" [ref=e1168]
-                      - cell "寮�鍚�" [ref=e1172]
-                    - row [ref=e1176]:
-                      - cell "顭�" [ref=e1177]
-                      - cell "226" [ref=e1182]
-                      - cell "15822054763" [ref=e1186]
-                      - cell "鍗冨厠" [ref=e1190]
-                      - cell "15822054763" [ref=e1194]
-                      - cell "寮�鍚�" [ref=e1198]
-                    - row [ref=e1202]:
-                      - cell "顭�" [ref=e1203]
-                      - cell "225" [ref=e1208]
-                      - cell "15822054762" [ref=e1212]
-                      - cell "鍗楃摐瀛�" [ref=e1216]
-                      - cell "15822054762" [ref=e1220]
-                      - cell "寮�鍚�" [ref=e1224]
-                    - row "顭� 144 aoteman001 aoteman00112 鍏抽棴" [ref=e1228]:
-                      - cell "顭�" [ref=e1229]
-                      - cell "144" [ref=e1234]
-                      - cell "aoteman001" [ref=e1238]
-                      - cell "aoteman00112" [ref=e1242]
-                      - cell [ref=e1246]
-                      - cell "鍏抽棴" [ref=e1250]
-                    - row "顭� 143 a00001 a00001 寮�鍚�" [ref=e1254]:
-                      - cell "顭�" [ref=e1255]
-                      - cell "143" [ref=e1260]
-                      - cell "a00001" [ref=e1264]
-                      - cell "a00001" [ref=e1268]
-                      - cell [ref=e1272]
-                      - cell "寮�鍚�" [ref=e1276]
-                    - row [ref=e1280]:
-                      - cell "顭�" [ref=e1281]
-                      - cell "142" [ref=e1286]
-                      - cell "test01" [ref=e1290]
-                      - cell "test01" [ref=e1294]
-                      - cell "19021719925" [ref=e1298]
-                      - cell "寮�鍚�" [ref=e1302]
-                    - row "顭� 141 admin1 鏂扮敤鎴� 寮�鍚�" [ref=e1306]:
-                      - cell "顭�" [ref=e1307]
-                      - cell "141" [ref=e1312]
-                      - cell "admin1" [ref=e1316]
-                      - cell "鏂扮敤鎴�" [ref=e1320]
-                      - cell [ref=e1324]
-                      - cell "寮�鍚�" [ref=e1328]
-                    - row "顭� 139 wwbwwb 灏忕澶� 寮�鍚�" [ref=e1332]:
-                      - cell "顭�" [ref=e1333]
-                      - cell "139" [ref=e1338]
-                      - cell "wwbwwb" [ref=e1342]
-                      - cell "灏忕澶�" [ref=e1346]
-                      - cell [ref=e1350]
-                      - cell "寮�鍚�" [ref=e1354]
-                    - row [ref=e1358]:
-                      - cell "顭�" [ref=e1359]
-                      - cell "118" [ref=e1364]
-                      - cell "goudan" [ref=e1368]
-                      - cell "鐙楄泲" [ref=e1372]
-                      - cell "15601691239" [ref=e1376]
-                      - cell "寮�鍚�" [ref=e1380]
-                    - row [ref=e1384]:
-                      - cell "顭�" [ref=e1385]
-                      - cell "117" [ref=e1390]
-                      - cell "admin123" [ref=e1394]
-                      - cell "娴嬭瘯鍙�02" [ref=e1398]
-                      - cell "15601691234" [ref=e1402]
-                      - cell "寮�鍚�" [ref=e1406]
-                    - row [ref=e1410]:
-                      - cell "顭�" [ref=e1411]
-                      - cell "115" [ref=e1416]
-                      - cell "aotemane" [ref=e1420]
-                      - cell "闃垮憜" [ref=e1424]
-                      - cell "15601691229" [ref=e1428]
-                      - cell "寮�鍚�" [ref=e1432]
-                    - row [ref=e1436]:
-                      - cell "顭�" [ref=e1437]
-                      - cell "114" [ref=e1442]
-                      - cell "hrmgr" [ref=e1446]
-                      - cell "hr 灏忓濮�" [ref=e1450]
-                      - cell "15601691236" [ref=e1454]
-                      - cell "寮�鍚�" [ref=e1458]
-                    - row [ref=e1462]:
-                      - cell "顭�" [ref=e1463]
-                      - cell "113" [ref=e1468]
-                      - cell "aoteman" [ref=e1472]
-                      - cell "绠$悊鍛�1" [ref=e1476]
-                      - cell "15601691300" [ref=e1480]
-                      - cell "寮�鍚�" [ref=e1484]
-                    - row [ref=e1488]:
-                      - cell "顭�" [ref=e1489]
-                      - cell "112" [ref=e1494]
-                      - cell "newobject" [ref=e1498]
-                      - cell "鏂板璞�" [ref=e1502]
-                      - cell "15601691235" [ref=e1506]
-                      - cell "寮�鍚�" [ref=e1510]
-                    - row "顭� 111 test 娴嬭瘯鐢ㄦ埛 寮�鍚�" [ref=e1514]:
-                      - cell "顭�" [ref=e1515]
-                      - cell "111" [ref=e1520]
-                      - cell "test" [ref=e1524]
-                      - cell "娴嬭瘯鐢ㄦ埛" [ref=e1528]
-                      - cell [ref=e1532]
-                      - cell "寮�鍚�" [ref=e1536]
-                    - row [ref=e1540]:
-                      - cell "顭�" [ref=e1541]
-                      - cell "1" [ref=e1546]
-                      - cell "admin" [ref=e1550]
-                      - cell "瓒呯骇绠$悊鍛�" [ref=e1554]
-                      - cell "18818260272" [ref=e1558]
-                      - cell "寮�鍚�" [ref=e1562]
-              - generic [ref=e1573]:
-                - generic [ref=e1574]: 鍏� 19 鏉¤褰�
-                - generic [ref=e1576] [cursor=pointer]:
-                  - generic "20鏉�/椤�" [ref=e1577]:
-                    - textbox "璇烽�夋嫨" [ref=e1578]: 20鏉�/椤�
-                  - generic [ref=e1579]: 睿�
-                - button "飱�" [ref=e1582]
-                - button "顧�" [ref=e1584]
-                - button "顫�" [ref=e1586]
-                - button "1" [ref=e1589] [cursor=pointer]
-                - button "顫�" [ref=e1590]
-                - button "顧�" [ref=e1592]
-                - button "顦�" [ref=e1594]
-        - generic [ref=e1596]:
-          - button "鍙� 娑�" [ref=e1597] [cursor=pointer]
-          - button "纭� 瀹�" [ref=e1599] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-09-41-564Z.yml b/.playwright-mcp/page-2026-08-18T08-09-41-564Z.yml
deleted file mode 100644
index e635484..0000000
--- a/.playwright-mcp/page-2026-08-18T08-09-41-564Z.yml
+++ /dev/null
@@ -1,267 +0,0 @@
-- generic [ref=e4]:
-  - generic [ref=e7]:
-    - complementary [ref=e8]:
-      - generic [ref=e9]:
-        - generic [ref=e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-          - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=e22]:
-          - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-          - listitem [ref=e30]:
-            - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=e39]:
-            - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=e46]:
-            - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=e53]:
-            - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=e61]:
-            - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=e70]:
-            - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=e78]:
-            - generic [ref=e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=e104] [cursor=pointer]
-          - listitem [ref=e111]:
-            - generic [ref=e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=e118]:
-            - generic [ref=e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=e125]:
-            - generic [ref=e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=e132]:
-            - generic [ref=e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=e139]:
-            - generic [ref=e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=e146]:
-            - generic [ref=e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=e153]:
-            - generic [ref=e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=e160]:
-            - generic [ref=e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=e169] [cursor=pointer]
-    - generic [ref=e174]:
-      - generic [ref=e175]:
-        - banner [ref=e176]:
-          - button [ref=e177] [cursor=pointer]
-          - button [ref=e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=e185]:
-            - list [ref=e186]:
-              - listitem [ref=e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=e192]
-              - listitem [ref=e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=e196]
-          - generic [ref=e201]:
-            - generic [ref=e203] [cursor=pointer]:
-              - generic [ref=e207]: 鎼滅储
-              - generic [ref=e208]: Ctrl K
-            - button [ref=e210] [cursor=pointer]
-            - button "dark" [ref=e215] [cursor=pointer]
-            - button [ref=e224] [cursor=pointer]
-            - button [ref=e230] [cursor=pointer]
-            - button [ref=e233] [cursor=pointer]
-            - button [ref=e239] [cursor=pointer]:
-              - button [ref=e241]
-            - button "宸ヤ綔鍙�" [ref=e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=e250] [cursor=pointer]
-        - generic [ref=e257]:
-          - generic [ref=e262]:
-            - generic [ref=e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=e298]:
-            - button [ref=e299] [cursor=pointer]
-            - generic [ref=e306] [cursor=pointer]
-            - generic [ref=e310] [cursor=pointer]
-      - main [ref=e317]:
-        - generic [ref=e322]:
-          - generic [ref=e327]:
-            - generic [ref=e328]:
-              - generic [ref=e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=e337]:
-              - generic [ref=e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=e345]
-            - generic [ref=e351]:
-              - generic [ref=e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=e360]:
-              - generic [ref=e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=e369]:
-              - generic [ref=e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=e377]
-            - generic [ref=e383]:
-              - generic [ref=e384]: 鎵规鐘舵��
-              - generic [ref=e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=e393]:
-              - generic [ref=e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e403]:
-                  - img "swap-right" [ref=e404]
-                - textbox "缁撴潫鏃堕棿" [ref=e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e409]:
-              - generic [ref=e410]: 鍒涘缓鏃堕棿
-              - generic [ref=e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e419]:
-                  - img "swap-right" [ref=e420]
-                - textbox "缁撴潫鏃堕棿" [ref=e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e425]:
-              - button "閲� 缃�" [ref=e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=e428] [cursor=pointer]
-              - generic [ref=e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=e437]:
-            - generic [ref=e439]:
-              - generic [ref=e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=e444]:
-                - generic [ref=e446]:
-                  - button "鏂板鎵规" [ref=e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=e453] [cursor=pointer]
-                - button "顫�" [ref=e459] [cursor=pointer]
-              - generic [ref=e461]:
-                - button "瞟�" [ref=e462] [cursor=pointer]
-                - button "顪�" [ref=e464] [cursor=pointer]
-                - button "顦�" [ref=e466] [cursor=pointer]
-            - generic [ref=e470]:
-              - generic [ref=e473]:
-                - generic [ref=e474]:
-                  - table [ref=e478]:
-                    - rowgroup [ref=e493]:
-                      - row [ref=e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=e520]
-                        - columnheader "璐d换浜�" [ref=e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=e535]
-                        - columnheader "鎵规鐘舵��" [ref=e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=e545]
-                  - generic [ref=e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=e553]:
-                    - table [ref=e556]:
-                      - rowgroup [ref=e571]:
-                        - row [ref=e572]:
-                          - columnheader "鎵规鍙�" [ref=e573]
-                    - generic [ref=e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=e580]:
-                    - table [ref=e583]:
-                      - rowgroup [ref=e598]:
-                        - row [ref=e599]:
-                          - columnheader "鎿嶄綔" [ref=e600]
-                    - generic [ref=e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=e621]:
-              - generic [ref=e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=e625]:
-                  - textbox "璇烽�夋嫨" [ref=e626]: 20鏉�/椤�
-                - generic [ref=e627]: 睿�
-              - button "飱�" [ref=e630]
-              - button "顧�" [ref=e632]
-              - button "顫�" [ref=e634]
-              - button "1" [ref=e637] [cursor=pointer]
-              - button "顫�" [ref=e638]
-              - button "顧�" [ref=e640]
-              - button "顦�" [ref=e642]
-  - dialog [ref=e645]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=e647]
-    - generic [ref=e649]:
-      - generic [ref=e651]:
-        - generic [ref=e652]:
-          - generic [ref=e653]:
-            - generic [ref=e654]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=e661]
-        - generic [ref=e667]:
-          - generic [ref=e668]:
-            - generic [ref=e669]: "*"
-            - text: 浜х嚎
-          - generic [ref=e675]:
-            - combobox "* 浜х嚎" [ref=e677]
-            - generic: 璇烽�夋嫨浜х嚎
-        - generic [ref=e678]:
-          - generic [ref=e679]:
-            - generic [ref=e680]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=e686]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=e687]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-            - generic:
-              - img "calendar"
-        - generic [ref=e688]:
-          - generic [ref=e689]: 璁″垝鏁伴噺
-          - generic [ref=e694]:
-            - generic [ref=e695]:
-              - button "Increase Value" [ref=e696] [cursor=pointer]:
-                - img "up" [ref=e697]
-              - button "Decrease Value" [ref=e700] [cursor=pointer]:
-                - img "down" [ref=e701]
-            - spinbutton "璁″垝鏁伴噺" [ref=e705]
-        - generic [ref=e706]:
-          - generic [ref=e707]:
-            - generic [ref=e708]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=e715]
-        - generic [ref=e721]:
-          - generic [ref=e722]: 澶囨敞
-          - textbox "澶囨敞" [ref=e727]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=e728]:
-        - generic [ref=e729]:
-          - generic [ref=e730]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=e731] [cursor=pointer]
-        - generic [ref=e743]:
-          - table [ref=e747]:
-            - rowgroup [ref=e753]:
-              - row [ref=e754]:
-                - columnheader "鐢熶骇浜哄憳" [ref=e755]
-                - columnheader "宀椾綅绫诲瀷" [ref=e760]
-                - columnheader "澶囨敞" [ref=e765]
-                - columnheader "鎿嶄綔" [ref=e770]
-          - table [ref=e806]:
-            - rowgroup [ref=e812]:
-              - row [ref=e1603]:
-                - cell [ref=e1604]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [active] [ref=e819]: "222"
-                - cell [ref=e825]:
-                  - generic [ref=e829] [cursor=pointer]:
-                    - combobox [ref=e831]
-                    - generic: 璇烽�夋嫨宀椾綅绫诲瀷
-                - cell [ref=e832]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=e835]
-                - cell [ref=e836]:
-                  - button "鍒犻櫎" [ref=e842] [cursor=pointer]
-    - button [ref=e786] [cursor=pointer]
-    - generic [ref=e796]:
-      - button "纭� 璁�" [ref=e797] [cursor=pointer]
-      - button "鍙� 娑�" [ref=e800] [cursor=pointer]
-    - button [ref=e802] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-09-59-674Z.yml b/.playwright-mcp/page-2026-08-18T08-09-59-674Z.yml
deleted file mode 100644
index 0046de8..0000000
--- a/.playwright-mcp/page-2026-08-18T08-09-59-674Z.yml
+++ /dev/null
@@ -1,276 +0,0 @@
-- generic [ref=e4]:
-  - generic [ref=e7]:
-    - complementary [ref=e8]:
-      - generic [ref=e9]:
-        - generic [ref=e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-          - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=e22]:
-          - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-          - listitem [ref=e30]:
-            - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=e39]:
-            - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=e46]:
-            - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=e53]:
-            - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=e61]:
-            - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=e70]:
-            - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=e78]:
-            - generic [ref=e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=e104] [cursor=pointer]
-          - listitem [ref=e111]:
-            - generic [ref=e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=e118]:
-            - generic [ref=e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=e125]:
-            - generic [ref=e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=e132]:
-            - generic [ref=e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=e139]:
-            - generic [ref=e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=e146]:
-            - generic [ref=e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=e153]:
-            - generic [ref=e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=e160]:
-            - generic [ref=e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=e169] [cursor=pointer]
-    - generic [ref=e174]:
-      - generic [ref=e175]:
-        - banner [ref=e176]:
-          - button [ref=e177] [cursor=pointer]
-          - button [ref=e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=e185]:
-            - list [ref=e186]:
-              - listitem [ref=e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=e192]
-              - listitem [ref=e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=e196]
-          - generic [ref=e201]:
-            - generic [ref=e203] [cursor=pointer]:
-              - generic [ref=e207]: 鎼滅储
-              - generic [ref=e208]: Ctrl K
-            - button [ref=e210] [cursor=pointer]
-            - button "dark" [ref=e215] [cursor=pointer]
-            - button [ref=e224] [cursor=pointer]
-            - button [ref=e230] [cursor=pointer]
-            - button [ref=e233] [cursor=pointer]
-            - button [ref=e239] [cursor=pointer]:
-              - button [ref=e241]
-            - button "宸ヤ綔鍙�" [ref=e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=e250] [cursor=pointer]
-        - generic [ref=e257]:
-          - generic [ref=e262]:
-            - generic [ref=e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=e298]:
-            - button [ref=e299] [cursor=pointer]
-            - generic [ref=e306] [cursor=pointer]
-            - generic [ref=e310] [cursor=pointer]
-      - main [ref=e317]:
-        - generic [ref=e322]:
-          - generic [ref=e327]:
-            - generic [ref=e328]:
-              - generic [ref=e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=e337]:
-              - generic [ref=e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=e345]
-            - generic [ref=e351]:
-              - generic [ref=e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=e360]:
-              - generic [ref=e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=e369]:
-              - generic [ref=e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=e377]
-            - generic [ref=e383]:
-              - generic [ref=e384]: 鎵规鐘舵��
-              - generic [ref=e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=e393]:
-              - generic [ref=e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e403]:
-                  - img "swap-right" [ref=e404]
-                - textbox "缁撴潫鏃堕棿" [ref=e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e409]:
-              - generic [ref=e410]: 鍒涘缓鏃堕棿
-              - generic [ref=e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e419]:
-                  - img "swap-right" [ref=e420]
-                - textbox "缁撴潫鏃堕棿" [ref=e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e425]:
-              - button "閲� 缃�" [ref=e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=e428] [cursor=pointer]
-              - generic [ref=e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=e437]:
-            - generic [ref=e439]:
-              - generic [ref=e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=e444]:
-                - generic [ref=e446]:
-                  - button "鏂板鎵规" [ref=e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=e453] [cursor=pointer]
-                - button "顫�" [ref=e459] [cursor=pointer]
-              - generic [ref=e461]:
-                - button "瞟�" [ref=e462] [cursor=pointer]
-                - button "顪�" [ref=e464] [cursor=pointer]
-                - button "顦�" [ref=e466] [cursor=pointer]
-            - generic [ref=e470]:
-              - generic [ref=e473]:
-                - generic [ref=e474]:
-                  - table [ref=e478]:
-                    - rowgroup [ref=e493]:
-                      - row [ref=e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=e520]
-                        - columnheader "璐d换浜�" [ref=e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=e535]
-                        - columnheader "鎵规鐘舵��" [ref=e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=e545]
-                  - generic [ref=e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=e553]:
-                    - table [ref=e556]:
-                      - rowgroup [ref=e571]:
-                        - row [ref=e572]:
-                          - columnheader "鎵规鍙�" [ref=e573]
-                    - generic [ref=e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=e580]:
-                    - table [ref=e583]:
-                      - rowgroup [ref=e598]:
-                        - row [ref=e599]:
-                          - columnheader "鎿嶄綔" [ref=e600]
-                    - generic [ref=e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=e621]:
-              - generic [ref=e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=e625]:
-                  - textbox "璇烽�夋嫨" [ref=e626]: 20鏉�/椤�
-                - generic [ref=e627]: 睿�
-              - button "飱�" [ref=e630]
-              - button "顧�" [ref=e632]
-              - button "顫�" [ref=e634]
-              - button "1" [ref=e637] [cursor=pointer]
-              - button "顫�" [ref=e638]
-              - button "顧�" [ref=e640]
-              - button "顦�" [ref=e642]
-  - dialog [ref=e645]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=e647]
-    - generic [ref=e649]:
-      - generic [ref=e651]:
-        - generic [ref=e652]:
-          - generic [ref=e653]:
-            - generic [ref=e654]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=e661]
-        - generic [ref=e667]:
-          - generic [ref=e668]:
-            - generic [ref=e669]: "*"
-            - text: 浜х嚎
-          - generic [ref=e675]:
-            - combobox "* 浜х嚎" [ref=e677]
-            - generic: 璇烽�夋嫨浜х嚎
-        - generic [ref=e678]:
-          - generic [ref=e679]:
-            - generic [ref=e680]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=e686]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=e687]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-            - generic:
-              - img "calendar"
-        - generic [ref=e688]:
-          - generic [ref=e689]: 璁″垝鏁伴噺
-          - generic [ref=e694]:
-            - generic [ref=e695]:
-              - button "Increase Value" [ref=e696] [cursor=pointer]:
-                - img "up" [ref=e697]
-              - button "Decrease Value" [ref=e700] [cursor=pointer]:
-                - img "down" [ref=e701]
-            - spinbutton "璁″垝鏁伴噺" [ref=e705]
-        - generic [ref=e706]:
-          - generic [ref=e707]:
-            - generic [ref=e708]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=e715]
-        - generic [ref=e721]:
-          - generic [ref=e722]: 澶囨敞
-          - textbox "澶囨敞" [ref=e727]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=e728]:
-        - generic [ref=e729]:
-          - generic [ref=e730]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=e731] [cursor=pointer]
-        - generic [ref=e743]:
-          - table [ref=e747]:
-            - rowgroup [ref=e753]:
-              - row [ref=e754]:
-                - columnheader "鐢熶骇浜哄憳" [ref=e755]
-                - columnheader "宀椾綅绫诲瀷" [ref=e760]
-                - columnheader "澶囨敞" [ref=e765]
-                - columnheader "鎿嶄綔" [ref=e770]
-          - table [ref=e806]:
-            - rowgroup [ref=e812]:
-              - row [ref=e1603]:
-                - cell [ref=e1604]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=e819]: "222"
-                - cell [ref=e825]:
-                  - generic [ref=e829] [cursor=pointer]:
-                    - combobox [expanded] [active] [ref=e831]:
-                      - listbox:
-                        - option "缁勯暱": "10"
-                        - option "鎿嶄綔宸�": "20"
-                    - generic: 璇烽�夋嫨宀椾綅绫诲瀷
-                - cell [ref=e832]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=e835]
-                - cell [ref=e836]:
-                  - button "鍒犻櫎" [ref=e842] [cursor=pointer]
-    - button [ref=e786] [cursor=pointer]
-    - generic [ref=e796]:
-      - button "纭� 璁�" [ref=e797] [cursor=pointer]
-      - button "鍙� 娑�" [ref=e800] [cursor=pointer]
-    - button [ref=e802] [cursor=pointer]
-  - generic [ref=e1610]:
-    - generic "缁勯暱" [ref=e1611] [cursor=pointer]
-    - generic "鎿嶄綔宸�" [ref=e1613] [cursor=pointer]
-    - generic "鍖呰宸�" [ref=e1615] [cursor=pointer]
-    - generic "璐ㄦ鍛�" [ref=e1617] [cursor=pointer]
-    - generic "鍏朵粬" [ref=e1619] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-10-25-770Z.yml b/.playwright-mcp/page-2026-08-18T08-10-25-770Z.yml
deleted file mode 100644
index dfa23f0..0000000
--- a/.playwright-mcp/page-2026-08-18T08-10-25-770Z.yml
+++ /dev/null
@@ -1,269 +0,0 @@
-- generic [ref=e4]:
-  - generic [ref=e7]:
-    - complementary [ref=e8]:
-      - generic [ref=e9]:
-        - generic [ref=e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-          - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=e22]:
-          - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-          - listitem [ref=e30]:
-            - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=e39]:
-            - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=e46]:
-            - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=e53]:
-            - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=e61]:
-            - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=e70]:
-            - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=e78]:
-            - generic [ref=e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=e104] [cursor=pointer]
-          - listitem [ref=e111]:
-            - generic [ref=e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=e118]:
-            - generic [ref=e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=e125]:
-            - generic [ref=e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=e132]:
-            - generic [ref=e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=e139]:
-            - generic [ref=e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=e146]:
-            - generic [ref=e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=e153]:
-            - generic [ref=e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=e160]:
-            - generic [ref=e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=e169] [cursor=pointer]
-    - generic [ref=e174]:
-      - generic [ref=e175]:
-        - banner [ref=e176]:
-          - button [ref=e177] [cursor=pointer]
-          - button [ref=e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=e185]:
-            - list [ref=e186]:
-              - listitem [ref=e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=e192]
-              - listitem [ref=e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=e196]
-          - generic [ref=e201]:
-            - generic [ref=e203] [cursor=pointer]:
-              - generic [ref=e207]: 鎼滅储
-              - generic [ref=e208]: Ctrl K
-            - button [ref=e210] [cursor=pointer]
-            - button "dark" [ref=e215] [cursor=pointer]
-            - button [ref=e224] [cursor=pointer]
-            - button [ref=e230] [cursor=pointer]
-            - button [ref=e233] [cursor=pointer]
-            - button [ref=e239] [cursor=pointer]:
-              - button [ref=e241]
-            - button "宸ヤ綔鍙�" [ref=e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=e250] [cursor=pointer]
-        - generic [ref=e257]:
-          - generic [ref=e262]:
-            - generic [ref=e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=e298]:
-            - button [ref=e299] [cursor=pointer]
-            - generic [ref=e306] [cursor=pointer]
-            - generic [ref=e310] [cursor=pointer]
-      - main [ref=e317]:
-        - generic [ref=e322]:
-          - generic [ref=e327]:
-            - generic [ref=e328]:
-              - generic [ref=e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=e337]:
-              - generic [ref=e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=e345]
-            - generic [ref=e351]:
-              - generic [ref=e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=e360]:
-              - generic [ref=e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=e369]:
-              - generic [ref=e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=e377]
-            - generic [ref=e383]:
-              - generic [ref=e384]: 鎵规鐘舵��
-              - generic [ref=e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=e393]:
-              - generic [ref=e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e403]:
-                  - img "swap-right" [ref=e404]
-                - textbox "缁撴潫鏃堕棿" [ref=e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e409]:
-              - generic [ref=e410]: 鍒涘缓鏃堕棿
-              - generic [ref=e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e419]:
-                  - img "swap-right" [ref=e420]
-                - textbox "缁撴潫鏃堕棿" [ref=e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e425]:
-              - button "閲� 缃�" [ref=e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=e428] [cursor=pointer]
-              - generic [ref=e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=e437]:
-            - generic [ref=e439]:
-              - generic [ref=e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=e444]:
-                - generic [ref=e446]:
-                  - button "鏂板鎵规" [ref=e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=e453] [cursor=pointer]
-                - button "顫�" [ref=e459] [cursor=pointer]
-              - generic [ref=e461]:
-                - button "瞟�" [ref=e462] [cursor=pointer]
-                - button "顪�" [ref=e464] [cursor=pointer]
-                - button "顦�" [ref=e466] [cursor=pointer]
-            - generic [ref=e470]:
-              - generic [ref=e473]:
-                - generic [ref=e474]:
-                  - table [ref=e478]:
-                    - rowgroup [ref=e493]:
-                      - row [ref=e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=e520]
-                        - columnheader "璐d换浜�" [ref=e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=e535]
-                        - columnheader "鎵规鐘舵��" [ref=e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=e545]
-                  - generic [ref=e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=e553]:
-                    - table [ref=e556]:
-                      - rowgroup [ref=e571]:
-                        - row [ref=e572]:
-                          - columnheader "鎵规鍙�" [ref=e573]
-                    - generic [ref=e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=e580]:
-                    - table [ref=e583]:
-                      - rowgroup [ref=e598]:
-                        - row [ref=e599]:
-                          - columnheader "鎿嶄綔" [ref=e600]
-                    - generic [ref=e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=e621]:
-              - generic [ref=e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=e625]:
-                  - textbox "璇烽�夋嫨" [ref=e626]: 20鏉�/椤�
-                - generic [ref=e627]: 睿�
-              - button "飱�" [ref=e630]
-              - button "顧�" [ref=e632]
-              - button "顫�" [ref=e634]
-              - button "1" [ref=e637] [cursor=pointer]
-              - button "顫�" [ref=e638]
-              - button "顧�" [ref=e640]
-              - button "顦�" [ref=e642]
-  - dialog [ref=e645]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=e647]
-    - generic [ref=e649]:
-      - generic [ref=e651]:
-        - generic [ref=e652]:
-          - generic [ref=e653]:
-            - generic [ref=e654]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=e661]
-        - generic [ref=e667]:
-          - generic [ref=e668]:
-            - generic [ref=e669]: "*"
-            - text: 浜х嚎
-          - generic [ref=e675]:
-            - combobox "* 浜х嚎" [ref=e677]
-            - generic: 璇烽�夋嫨浜х嚎
-        - generic [ref=e678]:
-          - generic [ref=e679]:
-            - generic [ref=e680]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=e686]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=e687]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-            - generic:
-              - img "calendar"
-        - generic [ref=e688]:
-          - generic [ref=e689]: 璁″垝鏁伴噺
-          - generic [ref=e694]:
-            - generic [ref=e695]:
-              - button "Increase Value" [ref=e696] [cursor=pointer]:
-                - img "up" [ref=e697]
-              - button "Decrease Value" [ref=e700] [cursor=pointer]:
-                - img "down" [ref=e701]
-            - spinbutton "璁″垝鏁伴噺" [ref=e705]
-        - generic [ref=e706]:
-          - generic [ref=e707]:
-            - generic [ref=e708]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=e715]
-        - generic [ref=e721]:
-          - generic [ref=e722]: 澶囨敞
-          - textbox "澶囨敞" [ref=e727]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=e728]:
-        - generic [ref=e729]:
-          - generic [ref=e730]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=e731] [cursor=pointer]
-        - generic [ref=e743]:
-          - table [ref=e747]:
-            - rowgroup [ref=e753]:
-              - row [ref=e754]:
-                - columnheader "鐢熶骇浜哄憳" [ref=e755]
-                - columnheader "宀椾綅绫诲瀷" [ref=e760]
-                - columnheader "澶囨敞" [ref=e765]
-                - columnheader "鎿嶄綔" [ref=e770]
-          - table [ref=e806]:
-            - rowgroup [ref=e812]:
-              - row [ref=e1621]:
-                - cell [ref=e1604]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=e819]: "222"
-                - cell "缁勯暱 缁勯暱" [ref=e1622]:
-                  - generic [ref=e828] [cursor=pointer]:
-                    - generic: 缁勯暱
-                    - generic [ref=e829]:
-                      - combobox [active] [ref=e831]
-                      - generic "缁勯暱" [ref=e1623]
-                - cell [ref=e832]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=e835]
-                - cell [ref=e836]:
-                  - button "鍒犻櫎" [ref=e842] [cursor=pointer]
-    - button [ref=e786] [cursor=pointer]
-    - generic [ref=e796]:
-      - button "纭� 璁�" [ref=e797] [cursor=pointer]
-      - button "鍙� 娑�" [ref=e800] [cursor=pointer]
-    - button [ref=e802] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-10-38-848Z.yml b/.playwright-mcp/page-2026-08-18T08-10-38-848Z.yml
deleted file mode 100644
index d2f8047..0000000
--- a/.playwright-mcp/page-2026-08-18T08-10-38-848Z.yml
+++ /dev/null
@@ -1,399 +0,0 @@
-- generic [ref=e4]:
-  - generic [ref=e7]:
-    - complementary [ref=e8]:
-      - generic [ref=e9]:
-        - generic [ref=e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-          - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=e22]:
-          - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-          - listitem [ref=e30]:
-            - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=e39]:
-            - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=e46]:
-            - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=e53]:
-            - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=e61]:
-            - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=e70]:
-            - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=e78]:
-            - generic [ref=e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=e104] [cursor=pointer]
-          - listitem [ref=e111]:
-            - generic [ref=e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=e118]:
-            - generic [ref=e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=e125]:
-            - generic [ref=e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=e132]:
-            - generic [ref=e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=e139]:
-            - generic [ref=e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=e146]:
-            - generic [ref=e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=e153]:
-            - generic [ref=e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=e160]:
-            - generic [ref=e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=e169] [cursor=pointer]
-    - generic [ref=e174]:
-      - generic [ref=e175]:
-        - banner [ref=e176]:
-          - button [ref=e177] [cursor=pointer]
-          - button [ref=e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=e185]:
-            - list [ref=e186]:
-              - listitem [ref=e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=e192]
-              - listitem [ref=e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=e196]
-          - generic [ref=e201]:
-            - generic [ref=e203] [cursor=pointer]:
-              - generic [ref=e207]: 鎼滅储
-              - generic [ref=e208]: Ctrl K
-            - button [ref=e210] [cursor=pointer]
-            - button "dark" [ref=e215] [cursor=pointer]
-            - button [ref=e224] [cursor=pointer]
-            - button [ref=e230] [cursor=pointer]
-            - button [ref=e233] [cursor=pointer]
-            - button [ref=e239] [cursor=pointer]:
-              - button [ref=e241]
-            - button "宸ヤ綔鍙�" [ref=e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=e250] [cursor=pointer]
-        - generic [ref=e257]:
-          - generic [ref=e262]:
-            - generic [ref=e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=e298]:
-            - button [ref=e299] [cursor=pointer]
-            - generic [ref=e306] [cursor=pointer]
-            - generic [ref=e310] [cursor=pointer]
-      - main [ref=e317]:
-        - generic [ref=e322]:
-          - generic [ref=e327]:
-            - generic [ref=e328]:
-              - generic [ref=e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=e337]:
-              - generic [ref=e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=e345]
-            - generic [ref=e351]:
-              - generic [ref=e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=e360]:
-              - generic [ref=e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=e369]:
-              - generic [ref=e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=e377]
-            - generic [ref=e383]:
-              - generic [ref=e384]: 鎵规鐘舵��
-              - generic [ref=e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=e393]:
-              - generic [ref=e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e403]:
-                  - img "swap-right" [ref=e404]
-                - textbox "缁撴潫鏃堕棿" [ref=e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e409]:
-              - generic [ref=e410]: 鍒涘缓鏃堕棿
-              - generic [ref=e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e419]:
-                  - img "swap-right" [ref=e420]
-                - textbox "缁撴潫鏃堕棿" [ref=e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e425]:
-              - button "閲� 缃�" [ref=e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=e428] [cursor=pointer]
-              - generic [ref=e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=e437]:
-            - generic [ref=e439]:
-              - generic [ref=e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=e444]:
-                - generic [ref=e446]:
-                  - button "鏂板鎵规" [ref=e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=e453] [cursor=pointer]
-                - button "顫�" [ref=e459] [cursor=pointer]
-              - generic [ref=e461]:
-                - button "瞟�" [ref=e462] [cursor=pointer]
-                - button "顪�" [ref=e464] [cursor=pointer]
-                - button "顦�" [ref=e466] [cursor=pointer]
-            - generic [ref=e470]:
-              - generic [ref=e473]:
-                - generic [ref=e474]:
-                  - table [ref=e478]:
-                    - rowgroup [ref=e493]:
-                      - row [ref=e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=e520]
-                        - columnheader "璐d换浜�" [ref=e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=e535]
-                        - columnheader "鎵规鐘舵��" [ref=e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=e545]
-                  - generic [ref=e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=e553]:
-                    - table [ref=e556]:
-                      - rowgroup [ref=e571]:
-                        - row [ref=e572]:
-                          - columnheader "鎵规鍙�" [ref=e573]
-                    - generic [ref=e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=e580]:
-                    - table [ref=e583]:
-                      - rowgroup [ref=e598]:
-                        - row [ref=e599]:
-                          - columnheader "鎿嶄綔" [ref=e600]
-                    - generic [ref=e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=e621]:
-              - generic [ref=e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=e625]:
-                  - textbox "璇烽�夋嫨" [ref=e626]: 20鏉�/椤�
-                - generic [ref=e627]: 睿�
-              - button "飱�" [ref=e630]
-              - button "顧�" [ref=e632]
-              - button "顫�" [ref=e634]
-              - button "1" [ref=e637] [cursor=pointer]
-              - button "顫�" [ref=e638]
-              - button "顧�" [ref=e640]
-              - button "顦�" [ref=e642]
-  - dialog [ref=e645]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=e647]
-    - generic [ref=e649]:
-      - generic [ref=e651]:
-        - generic [ref=e652]:
-          - generic [ref=e653]:
-            - generic [ref=e654]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=e661]
-        - generic [ref=e667]:
-          - generic [ref=e668]:
-            - generic [ref=e669]: "*"
-            - text: 浜х嚎
-          - generic [ref=e675]:
-            - combobox "* 浜х嚎" [ref=e677]
-            - generic: 璇烽�夋嫨浜х嚎
-        - generic [ref=e678]:
-          - generic [ref=e679]:
-            - generic [ref=e680]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=e686]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=e687]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-            - generic:
-              - img "calendar"
-        - generic [ref=e688]:
-          - generic [ref=e689]: 璁″垝鏁伴噺
-          - generic [ref=e694]:
-            - generic [ref=e695]:
-              - button "Increase Value" [ref=e696] [cursor=pointer]:
-                - img "up" [ref=e697]
-              - button "Decrease Value" [ref=e700] [cursor=pointer]:
-                - img "down" [ref=e701]
-            - spinbutton "璁″垝鏁伴噺" [ref=e705]
-        - generic [ref=e706]:
-          - generic [ref=e707]:
-            - generic [ref=e708]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=e715]
-        - generic [ref=e721]:
-          - generic [ref=e722]: 澶囨敞
-          - textbox "澶囨敞" [ref=e727]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=e728]:
-        - generic [ref=e729]:
-          - generic [ref=e730]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=e731] [cursor=pointer]
-        - generic [ref=e743]:
-          - table [ref=e747]:
-            - rowgroup [ref=e753]:
-              - row [ref=e754]:
-                - columnheader "鐢熶骇浜哄憳" [ref=e755]
-                - columnheader "宀椾綅绫诲瀷" [ref=e760]
-                - columnheader "澶囨敞" [ref=e765]
-                - columnheader "鎿嶄綔" [ref=e770]
-          - table [ref=e806]:
-            - rowgroup [ref=e812]:
-              - row [ref=e1624]:
-                - cell [ref=e1604]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=e819]: "222"
-                - cell "缁勯暱" [ref=e1625]:
-                  - generic [ref=e829] [cursor=pointer]:
-                    - combobox [ref=e831]
-                    - generic "缁勯暱" [ref=e1623]
-                - cell [ref=e832]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=e835]
-                - cell [ref=e836]:
-                  - button "鍒犻櫎" [ref=e842] [cursor=pointer]
-    - button [ref=e786] [cursor=pointer]
-    - generic [ref=e796]:
-      - button "纭� 璁�" [ref=e797] [cursor=pointer]
-      - button "鍙� 娑�" [ref=e800] [cursor=pointer]
-    - button [ref=e802] [cursor=pointer]
-  - dialog "鐗╂枡浜у搧閫夋嫨" [ref=e1627]:
-    - document:
-      - generic [ref=e1628]:
-        - button "Close" [ref=e1629] [cursor=pointer]:
-          - img "close" [ref=e1631]
-        - generic [ref=e1634]: 鐗╂枡浜у搧閫夋嫨
-        - generic [ref=e1637]:
-          - generic [ref=e1640]:
-            - textbox "鎼滅储鍒嗙被" [ref=e1647]
-            - tree [ref=e1651]:
-              - generic:
-                - textbox "for screen reader"
-              - generic [ref=e1655]:
-                - generic "鍘熸潗鏂�" [ref=e1658] [cursor=pointer]
-                - generic "鍗婃垚鍝�" [ref=e1661] [cursor=pointer]
-                - generic [ref=e1662]:
-                  - img "caret-down" [ref=e1664] [cursor=pointer]
-                  - generic "鎴愬搧" [ref=e1667] [cursor=pointer]
-                - generic [ref=e1668]:
-                  - img "caret-down" [ref=e1671] [cursor=pointer]
-                  - generic "1" [ref=e1674] [cursor=pointer]
-                - generic [ref=e1675]:
-                  - img "caret-down" [ref=e1678] [cursor=pointer]
-                  - generic "2" [ref=e1681] [cursor=pointer]
-                - generic "33" [ref=e1685] [cursor=pointer]
-                - generic "杈呮枡" [ref=e1688] [cursor=pointer]
-          - generic [ref=e1691]:
-            - generic [ref=e1696]:
-              - generic [ref=e1697]:
-                - generic [ref=e1698]: 鐗╂枡缂栫爜
-                - textbox "鐗╂枡缂栫爜" [ref=e1704]:
-                  - /placeholder: 璇疯緭鍏ョ墿鏂欑紪鐮�
-              - generic [ref=e1706]:
-                - generic [ref=e1707]: 鐗╂枡鍚嶇О
-                - textbox "鐗╂枡鍚嶇О" [ref=e1713]:
-                  - /placeholder: 璇疯緭鍏ョ墿鏂欏悕绉�
-              - generic [ref=e1715]:
-                - button "閲� 缃�" [ref=e1716] [cursor=pointer]
-                - button "鎼� 绱�" [ref=e1718] [cursor=pointer]
-                - generic [ref=e1720] [cursor=pointer]: 鏀惰捣
-            - generic [ref=e1727]:
-              - generic [ref=e1729]:
-                - generic [ref=e1730]: 鐗╂枡浜у搧鍒楄〃
-                - button "顫�" [ref=e1735] [cursor=pointer]
-                - generic [ref=e1737]:
-                  - button "瞟�" [ref=e1738] [cursor=pointer]
-                  - button "顪�" [ref=e1740] [cursor=pointer]
-                  - button "顦�" [ref=e1742] [cursor=pointer]
-              - generic [ref=e1750]:
-                - table [ref=e1754]:
-                  - rowgroup [ref=e1764]:
-                    - row "鐗╂枡缂栫爜 鐗╂枡鍚嶇О 瑙勬牸鍨嬪彿 鍗曚綅 鐗╂枡/浜у搧 鎵�灞炲垎绫� 鍒涘缓鏃堕棿" [ref=e1765]:
-                      - columnheader [ref=e1766]
-                      - columnheader "鐗╂枡缂栫爜" [ref=e1769]
-                      - columnheader "鐗╂枡鍚嶇О" [ref=e1774]
-                      - columnheader "瑙勬牸鍨嬪彿" [ref=e1779]
-                      - columnheader "鍗曚綅" [ref=e1784]
-                      - columnheader "鐗╂枡/浜у搧" [ref=e1789]
-                      - columnheader "鎵�灞炲垎绫�" [ref=e1794]
-                      - columnheader "鍒涘缓鏃堕棿" [ref=e1799]
-                - table [ref=e1807]:
-                  - rowgroup [ref=e1817]:
-                    - row [ref=e1818]:
-                      - cell "顭�" [ref=e1819]
-                      - cell "ITEM_20260729001" [ref=e1824]
-                      - cell "閾濆悎瀵间綋" [ref=e1828]
-                      - cell "LH8030JY-10" [ref=e1832]
-                      - cell "鍗冪背" [ref=e1836]
-                      - cell "鐗╂枡" [ref=e1840]
-                      - cell "33" [ref=e1844]
-                      - cell "2026-07-29 14:19:03" [ref=e1848]
-                    - row [ref=e1852]:
-                      - cell "顭�" [ref=e1853]
-                      - cell "ITEM_20260720001" [ref=e1858]
-                      - cell "闇�瑕佺敓浜х殑鎴愬搧11" [ref=e1862]
-                      - cell "涓�" [ref=e1866]
-                      - cell "鍗冨厠" [ref=e1870]
-                      - cell "浜у搧" [ref=e1874]
-                      - cell "鎴愬搧" [ref=e1878]
-                      - cell "2026-07-20 09:17:13" [ref=e1882]
-                    - row [ref=e1886]:
-                      - cell "顭�" [ref=e1887]
-                      - cell "ITEM_20260716008" [ref=e1892]
-                      - cell "闀�閿岄挗绾�" [ref=e1896]
-                      - cell "JG3A-1*1.5" [ref=e1900]
-                      - cell "鍗冨厠" [ref=e1904]
-                      - cell "鐗╂枡" [ref=e1908]
-                      - cell "鍘熸潗鏂�" [ref=e1912]
-                      - cell "2026-07-16 16:51:57" [ref=e1916]
-                    - row [ref=e1920]:
-                      - cell "顭�" [ref=e1921]
-                      - cell "ITEM_20260716006" [ref=e1926]
-                      - cell "閽㈣姱閾濈粸绾�" [ref=e1930]
-                      - cell "JL/L1-40/10-6/1" [ref=e1934]
-                      - cell "鍗冨厠" [ref=e1938]
-                      - cell "浜у搧" [ref=e1942]
-                      - cell "鎴愬搧" [ref=e1946]
-                      - cell "2026-07-16 16:48:49" [ref=e1950]
-                    - row [ref=e1954]:
-                      - cell "顭�" [ref=e1955]
-                      - cell "ITEM_20260716005" [ref=e1960]
-                      - cell "閾濆崟绾�" [ref=e1964]
-                      - cell "L-1.72" [ref=e1968]
-                      - cell "鍗冨厠" [ref=e1972]
-                      - cell "鐗╂枡" [ref=e1976]
-                      - cell "鍗婃垚鍝�" [ref=e1980]
-                      - cell "2026-07-16 16:48:03" [ref=e1984]
-                    - row [ref=e1988]:
-                      - cell "顭�" [ref=e1989]
-                      - cell "ITEM_20260716004" [ref=e1994]
-                      - cell "閾濇潌" [ref=e1998]
-                      - cell "1A60" [ref=e2002]
-                      - cell "鍗冨厠" [ref=e2006]
-                      - cell "鐗╂枡" [ref=e2010]
-                      - cell "鍘熸潗鏂�" [ref=e2014]
-                      - cell "2026-07-16 16:45:13" [ref=e2018]
-              - generic [ref=e2028]:
-                - generic [ref=e2029]: 鍏� 6 鏉¤褰�
-                - generic [ref=e2031] [cursor=pointer]:
-                  - generic "20鏉�/椤�" [ref=e2032]:
-                    - textbox "璇烽�夋嫨" [ref=e2033]: 20鏉�/椤�
-                  - generic [ref=e2034]: 睿�
-                - button "飱�" [ref=e2037]
-                - button "顧�" [ref=e2039]
-                - button "顫�" [ref=e2041]
-                - button "1" [ref=e2044] [cursor=pointer]
-                - button "顫�" [ref=e2045]
-                - button "顧�" [ref=e2047]
-                - button "顦�" [ref=e2049]
-        - generic [ref=e2051]:
-          - button "鍙� 娑�" [ref=e2052] [cursor=pointer]
-          - button "纭� 瀹�" [ref=e2054] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-11-23-345Z.yml b/.playwright-mcp/page-2026-08-18T08-11-23-345Z.yml
deleted file mode 100644
index 4cbac42..0000000
--- a/.playwright-mcp/page-2026-08-18T08-11-23-345Z.yml
+++ /dev/null
@@ -1,399 +0,0 @@
-- generic [ref=e4]:
-  - generic [ref=e7]:
-    - complementary [ref=e8]:
-      - generic [ref=e9]:
-        - generic [ref=e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-          - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=e22]:
-          - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-          - listitem [ref=e30]:
-            - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=e39]:
-            - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=e46]:
-            - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=e53]:
-            - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=e61]:
-            - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=e70]:
-            - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=e78]:
-            - generic [ref=e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=e104] [cursor=pointer]
-          - listitem [ref=e111]:
-            - generic [ref=e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=e118]:
-            - generic [ref=e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=e125]:
-            - generic [ref=e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=e132]:
-            - generic [ref=e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=e139]:
-            - generic [ref=e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=e146]:
-            - generic [ref=e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=e153]:
-            - generic [ref=e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=e160]:
-            - generic [ref=e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=e169] [cursor=pointer]
-    - generic [ref=e174]:
-      - generic [ref=e175]:
-        - banner [ref=e176]:
-          - button [ref=e177] [cursor=pointer]
-          - button [ref=e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=e185]:
-            - list [ref=e186]:
-              - listitem [ref=e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=e192]
-              - listitem [ref=e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=e196]
-          - generic [ref=e201]:
-            - generic [ref=e203] [cursor=pointer]:
-              - generic [ref=e207]: 鎼滅储
-              - generic [ref=e208]: Ctrl K
-            - button [ref=e210] [cursor=pointer]
-            - button "dark" [ref=e215] [cursor=pointer]
-            - button [ref=e224] [cursor=pointer]
-            - button [ref=e230] [cursor=pointer]
-            - button [ref=e233] [cursor=pointer]
-            - button [ref=e239] [cursor=pointer]:
-              - button [ref=e241]
-            - button "宸ヤ綔鍙�" [ref=e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=e250] [cursor=pointer]
-        - generic [ref=e257]:
-          - generic [ref=e262]:
-            - generic [ref=e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=e298]:
-            - button [ref=e299] [cursor=pointer]
-            - generic [ref=e306] [cursor=pointer]
-            - generic [ref=e310] [cursor=pointer]
-      - main [ref=e317]:
-        - generic [ref=e322]:
-          - generic [ref=e327]:
-            - generic [ref=e328]:
-              - generic [ref=e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=e337]:
-              - generic [ref=e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=e345]
-            - generic [ref=e351]:
-              - generic [ref=e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=e360]:
-              - generic [ref=e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=e369]:
-              - generic [ref=e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=e377]
-            - generic [ref=e383]:
-              - generic [ref=e384]: 鎵规鐘舵��
-              - generic [ref=e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=e393]:
-              - generic [ref=e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e403]:
-                  - img "swap-right" [ref=e404]
-                - textbox "缁撴潫鏃堕棿" [ref=e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e409]:
-              - generic [ref=e410]: 鍒涘缓鏃堕棿
-              - generic [ref=e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e419]:
-                  - img "swap-right" [ref=e420]
-                - textbox "缁撴潫鏃堕棿" [ref=e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e425]:
-              - button "閲� 缃�" [ref=e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=e428] [cursor=pointer]
-              - generic [ref=e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=e437]:
-            - generic [ref=e439]:
-              - generic [ref=e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=e444]:
-                - generic [ref=e446]:
-                  - button "鏂板鎵规" [ref=e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=e453] [cursor=pointer]
-                - button "顫�" [ref=e459] [cursor=pointer]
-              - generic [ref=e461]:
-                - button "瞟�" [ref=e462] [cursor=pointer]
-                - button "顪�" [ref=e464] [cursor=pointer]
-                - button "顦�" [ref=e466] [cursor=pointer]
-            - generic [ref=e470]:
-              - generic [ref=e473]:
-                - generic [ref=e474]:
-                  - table [ref=e478]:
-                    - rowgroup [ref=e493]:
-                      - row [ref=e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=e520]
-                        - columnheader "璐d换浜�" [ref=e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=e535]
-                        - columnheader "鎵规鐘舵��" [ref=e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=e545]
-                  - generic [ref=e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=e553]:
-                    - table [ref=e556]:
-                      - rowgroup [ref=e571]:
-                        - row [ref=e572]:
-                          - columnheader "鎵规鍙�" [ref=e573]
-                    - generic [ref=e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=e580]:
-                    - table [ref=e583]:
-                      - rowgroup [ref=e598]:
-                        - row [ref=e599]:
-                          - columnheader "鎿嶄綔" [ref=e600]
-                    - generic [ref=e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=e621]:
-              - generic [ref=e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=e625]:
-                  - textbox "璇烽�夋嫨" [ref=e626]: 20鏉�/椤�
-                - generic [ref=e627]: 睿�
-              - button "飱�" [ref=e630]
-              - button "顧�" [ref=e632]
-              - button "顫�" [ref=e634]
-              - button "1" [ref=e637] [cursor=pointer]
-              - button "顫�" [ref=e638]
-              - button "顧�" [ref=e640]
-              - button "顦�" [ref=e642]
-  - dialog [ref=e645]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=e647]
-    - generic [ref=e649]:
-      - generic [ref=e651]:
-        - generic [ref=e652]:
-          - generic [ref=e653]:
-            - generic [ref=e654]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=e661]
-        - generic [ref=e667]:
-          - generic [ref=e668]:
-            - generic [ref=e669]: "*"
-            - text: 浜х嚎
-          - generic [ref=e675]:
-            - combobox "* 浜х嚎" [ref=e677]
-            - generic: 璇烽�夋嫨浜х嚎
-        - generic [ref=e678]:
-          - generic [ref=e679]:
-            - generic [ref=e680]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=e686]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=e687]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-            - generic:
-              - img "calendar"
-        - generic [ref=e688]:
-          - generic [ref=e689]: 璁″垝鏁伴噺
-          - generic [ref=e694]:
-            - generic [ref=e695]:
-              - button "Increase Value" [ref=e696] [cursor=pointer]:
-                - img "up" [ref=e697]
-              - button "Decrease Value" [ref=e700] [cursor=pointer]:
-                - img "down" [ref=e701]
-            - spinbutton "璁″垝鏁伴噺" [ref=e705]
-        - generic [ref=e706]:
-          - generic [ref=e707]:
-            - generic [ref=e708]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=e715]
-        - generic [ref=e721]:
-          - generic [ref=e722]: 澶囨敞
-          - textbox "澶囨敞" [ref=e727]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=e728]:
-        - generic [ref=e729]:
-          - generic [ref=e730]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=e731] [cursor=pointer]
-        - generic [ref=e743]:
-          - table [ref=e747]:
-            - rowgroup [ref=e753]:
-              - row [ref=e754]:
-                - columnheader "鐢熶骇浜哄憳" [ref=e755]
-                - columnheader "宀椾綅绫诲瀷" [ref=e760]
-                - columnheader "澶囨敞" [ref=e765]
-                - columnheader "鎿嶄綔" [ref=e770]
-          - table [ref=e806]:
-            - rowgroup [ref=e812]:
-              - row [ref=e1624]:
-                - cell [ref=e1604]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=e819]: "222"
-                - cell "缁勯暱" [ref=e1625]:
-                  - generic [ref=e829] [cursor=pointer]:
-                    - combobox [ref=e831]
-                    - generic "缁勯暱" [ref=e1623]
-                - cell [ref=e832]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=e835]
-                - cell [ref=e836]:
-                  - button "鍒犻櫎" [ref=e842] [cursor=pointer]
-    - button [ref=e786] [cursor=pointer]
-    - generic [ref=e796]:
-      - button "纭� 璁�" [ref=e797] [cursor=pointer]
-      - button "鍙� 娑�" [ref=e800] [cursor=pointer]
-    - button [ref=e802] [cursor=pointer]
-  - dialog "鐗╂枡浜у搧閫夋嫨" [ref=e1627]:
-    - document:
-      - generic [ref=e1628]:
-        - button "Close" [ref=e1629] [cursor=pointer]:
-          - img "close" [ref=e1631]
-        - generic [ref=e1634]: 鐗╂枡浜у搧閫夋嫨
-        - generic [ref=e1637]:
-          - generic [ref=e1640]:
-            - textbox "鎼滅储鍒嗙被" [ref=e1647]
-            - tree [ref=e1651]:
-              - generic:
-                - textbox "for screen reader"
-              - generic [ref=e1655]:
-                - generic "鍘熸潗鏂�" [ref=e1658] [cursor=pointer]
-                - generic "鍗婃垚鍝�" [ref=e1661] [cursor=pointer]
-                - generic [ref=e1662]:
-                  - img "caret-down" [ref=e1664] [cursor=pointer]
-                  - generic "鎴愬搧" [ref=e1667] [cursor=pointer]
-                - generic [ref=e1668]:
-                  - img "caret-down" [ref=e1671] [cursor=pointer]
-                  - generic "1" [ref=e1674] [cursor=pointer]
-                - generic [ref=e1675]:
-                  - img "caret-down" [ref=e1678] [cursor=pointer]
-                  - generic "2" [ref=e1681] [cursor=pointer]
-                - generic "33" [ref=e1685] [cursor=pointer]
-                - generic "杈呮枡" [ref=e1688] [cursor=pointer]
-          - generic [ref=e1691]:
-            - generic [ref=e1696]:
-              - generic [ref=e1697]:
-                - generic [ref=e1698]: 鐗╂枡缂栫爜
-                - textbox "鐗╂枡缂栫爜" [ref=e1704]:
-                  - /placeholder: 璇疯緭鍏ョ墿鏂欑紪鐮�
-              - generic [ref=e1706]:
-                - generic [ref=e1707]: 鐗╂枡鍚嶇О
-                - textbox "鐗╂枡鍚嶇О" [ref=e1713]:
-                  - /placeholder: 璇疯緭鍏ョ墿鏂欏悕绉�
-              - generic [ref=e1715]:
-                - button "閲� 缃�" [ref=e1716] [cursor=pointer]
-                - button "鎼� 绱�" [ref=e1718] [cursor=pointer]
-                - generic [ref=e1720] [cursor=pointer]: 鏀惰捣
-            - generic [ref=e1727]:
-              - generic [ref=e1729]:
-                - generic [ref=e1730]: 鐗╂枡浜у搧鍒楄〃
-                - button "顫�" [ref=e1735] [cursor=pointer]
-                - generic [ref=e1737]:
-                  - button "瞟�" [ref=e1738] [cursor=pointer]
-                  - button "顪�" [ref=e1740] [cursor=pointer]
-                  - button "顦�" [ref=e1742] [cursor=pointer]
-              - generic [ref=e1750]:
-                - table [ref=e1754]:
-                  - rowgroup [ref=e1764]:
-                    - row "鐗╂枡缂栫爜 鐗╂枡鍚嶇О 瑙勬牸鍨嬪彿 鍗曚綅 鐗╂枡/浜у搧 鎵�灞炲垎绫� 鍒涘缓鏃堕棿" [ref=e1765]:
-                      - columnheader [ref=e1766]
-                      - columnheader "鐗╂枡缂栫爜" [ref=e1769]
-                      - columnheader "鐗╂枡鍚嶇О" [ref=e1774]
-                      - columnheader "瑙勬牸鍨嬪彿" [ref=e1779]
-                      - columnheader "鍗曚綅" [ref=e1784]
-                      - columnheader "鐗╂枡/浜у搧" [ref=e1789]
-                      - columnheader "鎵�灞炲垎绫�" [ref=e1794]
-                      - columnheader "鍒涘缓鏃堕棿" [ref=e1799]
-                - table [ref=e1807]:
-                  - rowgroup [ref=e1817]:
-                    - row [ref=e2056]:
-                      - cell "顫�" [ref=e2057]
-                      - cell "ITEM_20260729001" [ref=e1824]
-                      - cell "閾濆悎瀵间綋" [ref=e1828]
-                      - cell "LH8030JY-10" [ref=e1832]
-                      - cell "鍗冪背" [ref=e1836]
-                      - cell "鐗╂枡" [ref=e1840]
-                      - cell "33" [ref=e1844]
-                      - cell "2026-07-29 14:19:03" [ref=e1848]
-                    - row [ref=e1852]:
-                      - cell "顭�" [ref=e1853]
-                      - cell "ITEM_20260720001" [ref=e1858]
-                      - cell "闇�瑕佺敓浜х殑鎴愬搧11" [ref=e1862]
-                      - cell "涓�" [ref=e1866]
-                      - cell "鍗冨厠" [ref=e1870]
-                      - cell "浜у搧" [ref=e1874]
-                      - cell "鎴愬搧" [ref=e1878]
-                      - cell "2026-07-20 09:17:13" [ref=e1882]
-                    - row [ref=e1886]:
-                      - cell "顭�" [ref=e1887]
-                      - cell "ITEM_20260716008" [ref=e1892]
-                      - cell "闀�閿岄挗绾�" [ref=e1896]
-                      - cell "JG3A-1*1.5" [ref=e1900]
-                      - cell "鍗冨厠" [ref=e1904]
-                      - cell "鐗╂枡" [ref=e1908]
-                      - cell "鍘熸潗鏂�" [ref=e1912]
-                      - cell "2026-07-16 16:51:57" [ref=e1916]
-                    - row [ref=e1920]:
-                      - cell "顭�" [ref=e1921]
-                      - cell "ITEM_20260716006" [ref=e1926]
-                      - cell "閽㈣姱閾濈粸绾�" [ref=e1930]
-                      - cell "JL/L1-40/10-6/1" [ref=e1934]
-                      - cell "鍗冨厠" [ref=e1938]
-                      - cell "浜у搧" [ref=e1942]
-                      - cell "鎴愬搧" [ref=e1946]
-                      - cell "2026-07-16 16:48:49" [ref=e1950]
-                    - row [ref=e1954]:
-                      - cell "顭�" [ref=e1955]
-                      - cell "ITEM_20260716005" [ref=e1960]
-                      - cell "閾濆崟绾�" [ref=e1964]
-                      - cell "L-1.72" [ref=e1968]
-                      - cell "鍗冨厠" [ref=e1972]
-                      - cell "鐗╂枡" [ref=e1976]
-                      - cell "鍗婃垚鍝�" [ref=e1980]
-                      - cell "2026-07-16 16:48:03" [ref=e1984]
-                    - row [ref=e1988]:
-                      - cell "顭�" [ref=e1989]
-                      - cell "ITEM_20260716004" [ref=e1994]
-                      - cell "閾濇潌" [ref=e1998]
-                      - cell "1A60" [ref=e2002]
-                      - cell "鍗冨厠" [ref=e2006]
-                      - cell "鐗╂枡" [ref=e2010]
-                      - cell "鍘熸潗鏂�" [ref=e2014]
-                      - cell "2026-07-16 16:45:13" [ref=e2018]
-              - generic [ref=e2028]:
-                - generic [ref=e2029]: 鍏� 6 鏉¤褰�
-                - generic [ref=e2031] [cursor=pointer]:
-                  - generic "20鏉�/椤�" [ref=e2032]:
-                    - textbox "璇烽�夋嫨" [ref=e2033]: 20鏉�/椤�
-                  - generic [ref=e2034]: 睿�
-                - button "飱�" [ref=e2037]
-                - button "顧�" [ref=e2039]
-                - button "顫�" [ref=e2041]
-                - button "1" [ref=e2044] [cursor=pointer]
-                - button "顫�" [ref=e2045]
-                - button "顧�" [ref=e2047]
-                - button "顦�" [ref=e2049]
-        - generic [ref=e2051]:
-          - button "鍙� 娑�" [ref=e2052] [cursor=pointer]
-          - button "纭� 瀹�" [ref=e2054] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-11-29-772Z.yml b/.playwright-mcp/page-2026-08-18T08-11-29-772Z.yml
deleted file mode 100644
index 7cab386..0000000
--- a/.playwright-mcp/page-2026-08-18T08-11-29-772Z.yml
+++ /dev/null
@@ -1,267 +0,0 @@
-- generic [ref=e4]:
-  - generic [ref=e7]:
-    - complementary [ref=e8]:
-      - generic [ref=e9]:
-        - generic [ref=e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-          - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=e22]:
-          - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-          - listitem [ref=e30]:
-            - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=e39]:
-            - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=e46]:
-            - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=e53]:
-            - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=e61]:
-            - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=e70]:
-            - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=e78]:
-            - generic [ref=e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=e104] [cursor=pointer]
-          - listitem [ref=e111]:
-            - generic [ref=e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=e118]:
-            - generic [ref=e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=e125]:
-            - generic [ref=e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=e132]:
-            - generic [ref=e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=e139]:
-            - generic [ref=e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=e146]:
-            - generic [ref=e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=e153]:
-            - generic [ref=e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=e160]:
-            - generic [ref=e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=e169] [cursor=pointer]
-    - generic [ref=e174]:
-      - generic [ref=e175]:
-        - banner [ref=e176]:
-          - button [ref=e177] [cursor=pointer]
-          - button [ref=e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=e185]:
-            - list [ref=e186]:
-              - listitem [ref=e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=e192]
-              - listitem [ref=e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=e196]
-          - generic [ref=e201]:
-            - generic [ref=e203] [cursor=pointer]:
-              - generic [ref=e207]: 鎼滅储
-              - generic [ref=e208]: Ctrl K
-            - button [ref=e210] [cursor=pointer]
-            - button "dark" [ref=e215] [cursor=pointer]
-            - button [ref=e224] [cursor=pointer]
-            - button [ref=e230] [cursor=pointer]
-            - button [ref=e233] [cursor=pointer]
-            - button [ref=e239] [cursor=pointer]:
-              - button [ref=e241]
-            - button "宸ヤ綔鍙�" [ref=e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=e250] [cursor=pointer]
-        - generic [ref=e257]:
-          - generic [ref=e262]:
-            - generic [ref=e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=e298]:
-            - button [ref=e299] [cursor=pointer]
-            - generic [ref=e306] [cursor=pointer]
-            - generic [ref=e310] [cursor=pointer]
-      - main [ref=e317]:
-        - generic [ref=e322]:
-          - generic [ref=e327]:
-            - generic [ref=e328]:
-              - generic [ref=e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=e337]:
-              - generic [ref=e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=e345]
-            - generic [ref=e351]:
-              - generic [ref=e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=e360]:
-              - generic [ref=e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=e369]:
-              - generic [ref=e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=e377]
-            - generic [ref=e383]:
-              - generic [ref=e384]: 鎵规鐘舵��
-              - generic [ref=e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=e393]:
-              - generic [ref=e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e403]:
-                  - img "swap-right" [ref=e404]
-                - textbox "缁撴潫鏃堕棿" [ref=e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e409]:
-              - generic [ref=e410]: 鍒涘缓鏃堕棿
-              - generic [ref=e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e419]:
-                  - img "swap-right" [ref=e420]
-                - textbox "缁撴潫鏃堕棿" [ref=e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e425]:
-              - button "閲� 缃�" [ref=e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=e428] [cursor=pointer]
-              - generic [ref=e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=e437]:
-            - generic [ref=e439]:
-              - generic [ref=e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=e444]:
-                - generic [ref=e446]:
-                  - button "鏂板鎵规" [ref=e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=e453] [cursor=pointer]
-                - button "顫�" [ref=e459] [cursor=pointer]
-              - generic [ref=e461]:
-                - button "瞟�" [ref=e462] [cursor=pointer]
-                - button "顪�" [ref=e464] [cursor=pointer]
-                - button "顦�" [ref=e466] [cursor=pointer]
-            - generic [ref=e470]:
-              - generic [ref=e473]:
-                - generic [ref=e474]:
-                  - table [ref=e478]:
-                    - rowgroup [ref=e493]:
-                      - row [ref=e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=e520]
-                        - columnheader "璐d换浜�" [ref=e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=e535]
-                        - columnheader "鎵规鐘舵��" [ref=e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=e545]
-                  - generic [ref=e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=e553]:
-                    - table [ref=e556]:
-                      - rowgroup [ref=e571]:
-                        - row [ref=e572]:
-                          - columnheader "鎵规鍙�" [ref=e573]
-                    - generic [ref=e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=e580]:
-                    - table [ref=e583]:
-                      - rowgroup [ref=e598]:
-                        - row [ref=e599]:
-                          - columnheader "鎿嶄綔" [ref=e600]
-                    - generic [ref=e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=e621]:
-              - generic [ref=e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=e625]:
-                  - textbox "璇烽�夋嫨" [ref=e626]: 20鏉�/椤�
-                - generic [ref=e627]: 睿�
-              - button "飱�" [ref=e630]
-              - button "顧�" [ref=e632]
-              - button "顫�" [ref=e634]
-              - button "1" [ref=e637] [cursor=pointer]
-              - button "顫�" [ref=e638]
-              - button "顧�" [ref=e640]
-              - button "顦�" [ref=e642]
-  - dialog [ref=e645]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=e647]
-    - generic [ref=e649]:
-      - generic [ref=e651]:
-        - generic [ref=e652]:
-          - generic [ref=e653]:
-            - generic [ref=e654]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [active] [ref=e661]: 閾濆悎瀵间綋
-        - generic [ref=e667]:
-          - generic [ref=e668]:
-            - generic [ref=e669]: "*"
-            - text: 浜х嚎
-          - generic [ref=e675]:
-            - combobox "* 浜х嚎" [ref=e677]
-            - generic: 璇烽�夋嫨浜х嚎
-        - generic [ref=e678]:
-          - generic [ref=e679]:
-            - generic [ref=e680]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=e686]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=e687]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-            - generic:
-              - img "calendar"
-        - generic [ref=e688]:
-          - generic [ref=e689]: 璁″垝鏁伴噺
-          - generic [ref=e694]:
-            - generic [ref=e695]:
-              - button "Increase Value" [ref=e696] [cursor=pointer]:
-                - img "up" [ref=e697]
-              - button "Decrease Value" [ref=e700] [cursor=pointer]:
-                - img "down" [ref=e701]
-            - spinbutton "璁″垝鏁伴噺" [ref=e705]
-        - generic [ref=e706]:
-          - generic [ref=e707]:
-            - generic [ref=e708]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=e715]
-        - generic [ref=e721]:
-          - generic [ref=e722]: 澶囨敞
-          - textbox "澶囨敞" [ref=e727]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=e728]:
-        - generic [ref=e729]:
-          - generic [ref=e730]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=e731] [cursor=pointer]
-        - generic [ref=e743]:
-          - table [ref=e747]:
-            - rowgroup [ref=e753]:
-              - row [ref=e754]:
-                - columnheader "鐢熶骇浜哄憳" [ref=e755]
-                - columnheader "宀椾綅绫诲瀷" [ref=e760]
-                - columnheader "澶囨敞" [ref=e765]
-                - columnheader "鎿嶄綔" [ref=e770]
-          - table [ref=e806]:
-            - rowgroup [ref=e812]:
-              - row [ref=e1624]:
-                - cell [ref=e1604]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=e819]: "222"
-                - cell "缁勯暱" [ref=e1625]:
-                  - generic [ref=e829] [cursor=pointer]:
-                    - combobox [ref=e831]
-                    - generic "缁勯暱" [ref=e1623]
-                - cell [ref=e832]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=e835]
-                - cell [ref=e836]:
-                  - button "鍒犻櫎" [ref=e842] [cursor=pointer]
-    - button [ref=e786] [cursor=pointer]
-    - generic [ref=e796]:
-      - button "纭� 璁�" [ref=e797] [cursor=pointer]
-      - button "鍙� 娑�" [ref=e800] [cursor=pointer]
-    - button [ref=e802] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-11-35-526Z.yml b/.playwright-mcp/page-2026-08-18T08-11-35-526Z.yml
deleted file mode 100644
index 7c641c9..0000000
--- a/.playwright-mcp/page-2026-08-18T08-11-35-526Z.yml
+++ /dev/null
@@ -1,277 +0,0 @@
-- generic [ref=e4]:
-  - generic [ref=e7]:
-    - complementary [ref=e8]:
-      - generic [ref=e9]:
-        - generic [ref=e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-          - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=e22]:
-          - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-          - listitem [ref=e30]:
-            - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=e39]:
-            - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=e46]:
-            - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=e53]:
-            - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=e61]:
-            - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=e70]:
-            - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=e78]:
-            - generic [ref=e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=e104] [cursor=pointer]
-          - listitem [ref=e111]:
-            - generic [ref=e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=e118]:
-            - generic [ref=e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=e125]:
-            - generic [ref=e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=e132]:
-            - generic [ref=e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=e139]:
-            - generic [ref=e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=e146]:
-            - generic [ref=e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=e153]:
-            - generic [ref=e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=e160]:
-            - generic [ref=e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=e169] [cursor=pointer]
-    - generic [ref=e174]:
-      - generic [ref=e175]:
-        - banner [ref=e176]:
-          - button [ref=e177] [cursor=pointer]
-          - button [ref=e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=e185]:
-            - list [ref=e186]:
-              - listitem [ref=e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=e192]
-              - listitem [ref=e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=e196]
-          - generic [ref=e201]:
-            - generic [ref=e203] [cursor=pointer]:
-              - generic [ref=e207]: 鎼滅储
-              - generic [ref=e208]: Ctrl K
-            - button [ref=e210] [cursor=pointer]
-            - button "dark" [ref=e215] [cursor=pointer]
-            - button [ref=e224] [cursor=pointer]
-            - button [ref=e230] [cursor=pointer]
-            - button [ref=e233] [cursor=pointer]
-            - button [ref=e239] [cursor=pointer]:
-              - button [ref=e241]
-            - button "宸ヤ綔鍙�" [ref=e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=e250] [cursor=pointer]
-        - generic [ref=e257]:
-          - generic [ref=e262]:
-            - generic [ref=e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=e298]:
-            - button [ref=e299] [cursor=pointer]
-            - generic [ref=e306] [cursor=pointer]
-            - generic [ref=e310] [cursor=pointer]
-      - main [ref=e317]:
-        - generic [ref=e322]:
-          - generic [ref=e327]:
-            - generic [ref=e328]:
-              - generic [ref=e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=e337]:
-              - generic [ref=e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=e345]
-            - generic [ref=e351]:
-              - generic [ref=e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=e360]:
-              - generic [ref=e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=e369]:
-              - generic [ref=e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=e377]
-            - generic [ref=e383]:
-              - generic [ref=e384]: 鎵规鐘舵��
-              - generic [ref=e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=e393]:
-              - generic [ref=e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e403]:
-                  - img "swap-right" [ref=e404]
-                - textbox "缁撴潫鏃堕棿" [ref=e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e409]:
-              - generic [ref=e410]: 鍒涘缓鏃堕棿
-              - generic [ref=e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e419]:
-                  - img "swap-right" [ref=e420]
-                - textbox "缁撴潫鏃堕棿" [ref=e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e425]:
-              - button "閲� 缃�" [ref=e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=e428] [cursor=pointer]
-              - generic [ref=e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=e437]:
-            - generic [ref=e439]:
-              - generic [ref=e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=e444]:
-                - generic [ref=e446]:
-                  - button "鏂板鎵规" [ref=e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=e453] [cursor=pointer]
-                - button "顫�" [ref=e459] [cursor=pointer]
-              - generic [ref=e461]:
-                - button "瞟�" [ref=e462] [cursor=pointer]
-                - button "顪�" [ref=e464] [cursor=pointer]
-                - button "顦�" [ref=e466] [cursor=pointer]
-            - generic [ref=e470]:
-              - generic [ref=e473]:
-                - generic [ref=e474]:
-                  - table [ref=e478]:
-                    - rowgroup [ref=e493]:
-                      - row [ref=e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=e520]
-                        - columnheader "璐d换浜�" [ref=e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=e535]
-                        - columnheader "鎵规鐘舵��" [ref=e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=e545]
-                  - generic [ref=e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=e553]:
-                    - table [ref=e556]:
-                      - rowgroup [ref=e571]:
-                        - row [ref=e572]:
-                          - columnheader "鎵规鍙�" [ref=e573]
-                    - generic [ref=e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=e580]:
-                    - table [ref=e583]:
-                      - rowgroup [ref=e598]:
-                        - row [ref=e599]:
-                          - columnheader "鎿嶄綔" [ref=e600]
-                    - generic [ref=e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=e621]:
-              - generic [ref=e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=e625]:
-                  - textbox "璇烽�夋嫨" [ref=e626]: 20鏉�/椤�
-                - generic [ref=e627]: 睿�
-              - button "飱�" [ref=e630]
-              - button "顧�" [ref=e632]
-              - button "顫�" [ref=e634]
-              - button "1" [ref=e637] [cursor=pointer]
-              - button "顫�" [ref=e638]
-              - button "顧�" [ref=e640]
-              - button "顦�" [ref=e642]
-  - dialog [ref=e645]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=e647]
-    - generic [ref=e649]:
-      - generic [ref=e651]:
-        - generic [ref=e652]:
-          - generic [ref=e653]:
-            - generic [ref=e654]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=e661]: 閾濆悎瀵间綋
-        - generic [ref=e667]:
-          - generic [ref=e668]:
-            - generic [ref=e669]: "*"
-            - text: 浜х嚎
-          - generic [ref=e675]:
-            - combobox "* 浜х嚎" [expanded] [active] [ref=e677]:
-              - listbox:
-                - option "1"
-                - option "2"
-            - generic: 璇烽�夋嫨浜х嚎
-        - generic [ref=e678]:
-          - generic [ref=e679]:
-            - generic [ref=e680]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=e686]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=e687]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-            - generic:
-              - img "calendar"
-        - generic [ref=e688]:
-          - generic [ref=e689]: 璁″垝鏁伴噺
-          - generic [ref=e694]:
-            - generic [ref=e695]:
-              - button "Increase Value" [ref=e696] [cursor=pointer]:
-                - img "up" [ref=e697]
-              - button "Decrease Value" [ref=e700] [cursor=pointer]:
-                - img "down" [ref=e701]
-            - spinbutton "璁″垝鏁伴噺" [ref=e705]
-        - generic [ref=e706]:
-          - generic [ref=e707]:
-            - generic [ref=e708]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=e715]
-        - generic [ref=e721]:
-          - generic [ref=e722]: 澶囨敞
-          - textbox "澶囨敞" [ref=e727]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=e728]:
-        - generic [ref=e729]:
-          - generic [ref=e730]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=e731] [cursor=pointer]
-        - generic [ref=e743]:
-          - table [ref=e747]:
-            - rowgroup [ref=e753]:
-              - row [ref=e754]:
-                - columnheader "鐢熶骇浜哄憳" [ref=e755]
-                - columnheader "宀椾綅绫诲瀷" [ref=e760]
-                - columnheader "澶囨敞" [ref=e765]
-                - columnheader "鎿嶄綔" [ref=e770]
-          - table [ref=e806]:
-            - rowgroup [ref=e812]:
-              - row [ref=e1624]:
-                - cell [ref=e1604]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=e819]: "222"
-                - cell "缁勯暱" [ref=e1625]:
-                  - generic [ref=e829] [cursor=pointer]:
-                    - combobox [ref=e831]
-                    - generic "缁勯暱" [ref=e1623]
-                - cell [ref=e832]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=e835]
-                - cell [ref=e836]:
-                  - button "鍒犻櫎" [ref=e842] [cursor=pointer]
-    - button [ref=e786] [cursor=pointer]
-    - generic [ref=e796]:
-      - button "纭� 璁�" [ref=e797] [cursor=pointer]
-      - button "鍙� 娑�" [ref=e800] [cursor=pointer]
-    - button [ref=e802] [cursor=pointer]
-  - generic [ref=e2063]:
-    - generic [ref=e2066] [cursor=pointer]:
-      - generic [ref=e2067]: 浜х嚎涓�
-      - generic [ref=e2068]: one
-    - generic [ref=e2071] [cursor=pointer]:
-      - generic [ref=e2072]: 浜х嚎浜�
-      - generic [ref=e2073]: two
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-11-46-362Z.yml b/.playwright-mcp/page-2026-08-18T08-11-46-362Z.yml
deleted file mode 100644
index 7c641c9..0000000
--- a/.playwright-mcp/page-2026-08-18T08-11-46-362Z.yml
+++ /dev/null
@@ -1,277 +0,0 @@
-- generic [ref=e4]:
-  - generic [ref=e7]:
-    - complementary [ref=e8]:
-      - generic [ref=e9]:
-        - generic [ref=e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-          - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=e22]:
-          - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-          - listitem [ref=e30]:
-            - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=e39]:
-            - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=e46]:
-            - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=e53]:
-            - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=e61]:
-            - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=e70]:
-            - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=e78]:
-            - generic [ref=e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=e104] [cursor=pointer]
-          - listitem [ref=e111]:
-            - generic [ref=e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=e118]:
-            - generic [ref=e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=e125]:
-            - generic [ref=e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=e132]:
-            - generic [ref=e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=e139]:
-            - generic [ref=e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=e146]:
-            - generic [ref=e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=e153]:
-            - generic [ref=e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=e160]:
-            - generic [ref=e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=e169] [cursor=pointer]
-    - generic [ref=e174]:
-      - generic [ref=e175]:
-        - banner [ref=e176]:
-          - button [ref=e177] [cursor=pointer]
-          - button [ref=e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=e185]:
-            - list [ref=e186]:
-              - listitem [ref=e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=e192]
-              - listitem [ref=e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=e196]
-          - generic [ref=e201]:
-            - generic [ref=e203] [cursor=pointer]:
-              - generic [ref=e207]: 鎼滅储
-              - generic [ref=e208]: Ctrl K
-            - button [ref=e210] [cursor=pointer]
-            - button "dark" [ref=e215] [cursor=pointer]
-            - button [ref=e224] [cursor=pointer]
-            - button [ref=e230] [cursor=pointer]
-            - button [ref=e233] [cursor=pointer]
-            - button [ref=e239] [cursor=pointer]:
-              - button [ref=e241]
-            - button "宸ヤ綔鍙�" [ref=e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=e250] [cursor=pointer]
-        - generic [ref=e257]:
-          - generic [ref=e262]:
-            - generic [ref=e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=e298]:
-            - button [ref=e299] [cursor=pointer]
-            - generic [ref=e306] [cursor=pointer]
-            - generic [ref=e310] [cursor=pointer]
-      - main [ref=e317]:
-        - generic [ref=e322]:
-          - generic [ref=e327]:
-            - generic [ref=e328]:
-              - generic [ref=e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=e337]:
-              - generic [ref=e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=e345]
-            - generic [ref=e351]:
-              - generic [ref=e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=e360]:
-              - generic [ref=e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=e369]:
-              - generic [ref=e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=e377]
-            - generic [ref=e383]:
-              - generic [ref=e384]: 鎵规鐘舵��
-              - generic [ref=e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=e393]:
-              - generic [ref=e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e403]:
-                  - img "swap-right" [ref=e404]
-                - textbox "缁撴潫鏃堕棿" [ref=e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e409]:
-              - generic [ref=e410]: 鍒涘缓鏃堕棿
-              - generic [ref=e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e419]:
-                  - img "swap-right" [ref=e420]
-                - textbox "缁撴潫鏃堕棿" [ref=e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e425]:
-              - button "閲� 缃�" [ref=e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=e428] [cursor=pointer]
-              - generic [ref=e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=e437]:
-            - generic [ref=e439]:
-              - generic [ref=e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=e444]:
-                - generic [ref=e446]:
-                  - button "鏂板鎵规" [ref=e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=e453] [cursor=pointer]
-                - button "顫�" [ref=e459] [cursor=pointer]
-              - generic [ref=e461]:
-                - button "瞟�" [ref=e462] [cursor=pointer]
-                - button "顪�" [ref=e464] [cursor=pointer]
-                - button "顦�" [ref=e466] [cursor=pointer]
-            - generic [ref=e470]:
-              - generic [ref=e473]:
-                - generic [ref=e474]:
-                  - table [ref=e478]:
-                    - rowgroup [ref=e493]:
-                      - row [ref=e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=e520]
-                        - columnheader "璐d换浜�" [ref=e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=e535]
-                        - columnheader "鎵规鐘舵��" [ref=e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=e545]
-                  - generic [ref=e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=e553]:
-                    - table [ref=e556]:
-                      - rowgroup [ref=e571]:
-                        - row [ref=e572]:
-                          - columnheader "鎵规鍙�" [ref=e573]
-                    - generic [ref=e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=e580]:
-                    - table [ref=e583]:
-                      - rowgroup [ref=e598]:
-                        - row [ref=e599]:
-                          - columnheader "鎿嶄綔" [ref=e600]
-                    - generic [ref=e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=e621]:
-              - generic [ref=e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=e625]:
-                  - textbox "璇烽�夋嫨" [ref=e626]: 20鏉�/椤�
-                - generic [ref=e627]: 睿�
-              - button "飱�" [ref=e630]
-              - button "顧�" [ref=e632]
-              - button "顫�" [ref=e634]
-              - button "1" [ref=e637] [cursor=pointer]
-              - button "顫�" [ref=e638]
-              - button "顧�" [ref=e640]
-              - button "顦�" [ref=e642]
-  - dialog [ref=e645]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=e647]
-    - generic [ref=e649]:
-      - generic [ref=e651]:
-        - generic [ref=e652]:
-          - generic [ref=e653]:
-            - generic [ref=e654]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=e661]: 閾濆悎瀵间綋
-        - generic [ref=e667]:
-          - generic [ref=e668]:
-            - generic [ref=e669]: "*"
-            - text: 浜х嚎
-          - generic [ref=e675]:
-            - combobox "* 浜х嚎" [expanded] [active] [ref=e677]:
-              - listbox:
-                - option "1"
-                - option "2"
-            - generic: 璇烽�夋嫨浜х嚎
-        - generic [ref=e678]:
-          - generic [ref=e679]:
-            - generic [ref=e680]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=e686]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=e687]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-            - generic:
-              - img "calendar"
-        - generic [ref=e688]:
-          - generic [ref=e689]: 璁″垝鏁伴噺
-          - generic [ref=e694]:
-            - generic [ref=e695]:
-              - button "Increase Value" [ref=e696] [cursor=pointer]:
-                - img "up" [ref=e697]
-              - button "Decrease Value" [ref=e700] [cursor=pointer]:
-                - img "down" [ref=e701]
-            - spinbutton "璁″垝鏁伴噺" [ref=e705]
-        - generic [ref=e706]:
-          - generic [ref=e707]:
-            - generic [ref=e708]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=e715]
-        - generic [ref=e721]:
-          - generic [ref=e722]: 澶囨敞
-          - textbox "澶囨敞" [ref=e727]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=e728]:
-        - generic [ref=e729]:
-          - generic [ref=e730]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=e731] [cursor=pointer]
-        - generic [ref=e743]:
-          - table [ref=e747]:
-            - rowgroup [ref=e753]:
-              - row [ref=e754]:
-                - columnheader "鐢熶骇浜哄憳" [ref=e755]
-                - columnheader "宀椾綅绫诲瀷" [ref=e760]
-                - columnheader "澶囨敞" [ref=e765]
-                - columnheader "鎿嶄綔" [ref=e770]
-          - table [ref=e806]:
-            - rowgroup [ref=e812]:
-              - row [ref=e1624]:
-                - cell [ref=e1604]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=e819]: "222"
-                - cell "缁勯暱" [ref=e1625]:
-                  - generic [ref=e829] [cursor=pointer]:
-                    - combobox [ref=e831]
-                    - generic "缁勯暱" [ref=e1623]
-                - cell [ref=e832]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=e835]
-                - cell [ref=e836]:
-                  - button "鍒犻櫎" [ref=e842] [cursor=pointer]
-    - button [ref=e786] [cursor=pointer]
-    - generic [ref=e796]:
-      - button "纭� 璁�" [ref=e797] [cursor=pointer]
-      - button "鍙� 娑�" [ref=e800] [cursor=pointer]
-    - button [ref=e802] [cursor=pointer]
-  - generic [ref=e2063]:
-    - generic [ref=e2066] [cursor=pointer]:
-      - generic [ref=e2067]: 浜х嚎涓�
-      - generic [ref=e2068]: one
-    - generic [ref=e2071] [cursor=pointer]:
-      - generic [ref=e2072]: 浜х嚎浜�
-      - generic [ref=e2073]: two
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-12-10-057Z.yml b/.playwright-mcp/page-2026-08-18T08-12-10-057Z.yml
deleted file mode 100644
index 7c641c9..0000000
--- a/.playwright-mcp/page-2026-08-18T08-12-10-057Z.yml
+++ /dev/null
@@ -1,277 +0,0 @@
-- generic [ref=e4]:
-  - generic [ref=e7]:
-    - complementary [ref=e8]:
-      - generic [ref=e9]:
-        - generic [ref=e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-          - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=e22]:
-          - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-          - listitem [ref=e30]:
-            - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=e39]:
-            - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=e46]:
-            - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=e53]:
-            - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=e61]:
-            - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=e70]:
-            - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=e78]:
-            - generic [ref=e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=e104] [cursor=pointer]
-          - listitem [ref=e111]:
-            - generic [ref=e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=e118]:
-            - generic [ref=e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=e125]:
-            - generic [ref=e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=e132]:
-            - generic [ref=e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=e139]:
-            - generic [ref=e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=e146]:
-            - generic [ref=e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=e153]:
-            - generic [ref=e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=e160]:
-            - generic [ref=e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=e169] [cursor=pointer]
-    - generic [ref=e174]:
-      - generic [ref=e175]:
-        - banner [ref=e176]:
-          - button [ref=e177] [cursor=pointer]
-          - button [ref=e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=e185]:
-            - list [ref=e186]:
-              - listitem [ref=e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=e192]
-              - listitem [ref=e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=e196]
-          - generic [ref=e201]:
-            - generic [ref=e203] [cursor=pointer]:
-              - generic [ref=e207]: 鎼滅储
-              - generic [ref=e208]: Ctrl K
-            - button [ref=e210] [cursor=pointer]
-            - button "dark" [ref=e215] [cursor=pointer]
-            - button [ref=e224] [cursor=pointer]
-            - button [ref=e230] [cursor=pointer]
-            - button [ref=e233] [cursor=pointer]
-            - button [ref=e239] [cursor=pointer]:
-              - button [ref=e241]
-            - button "宸ヤ綔鍙�" [ref=e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=e250] [cursor=pointer]
-        - generic [ref=e257]:
-          - generic [ref=e262]:
-            - generic [ref=e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=e298]:
-            - button [ref=e299] [cursor=pointer]
-            - generic [ref=e306] [cursor=pointer]
-            - generic [ref=e310] [cursor=pointer]
-      - main [ref=e317]:
-        - generic [ref=e322]:
-          - generic [ref=e327]:
-            - generic [ref=e328]:
-              - generic [ref=e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=e337]:
-              - generic [ref=e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=e345]
-            - generic [ref=e351]:
-              - generic [ref=e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=e360]:
-              - generic [ref=e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=e369]:
-              - generic [ref=e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=e377]
-            - generic [ref=e383]:
-              - generic [ref=e384]: 鎵规鐘舵��
-              - generic [ref=e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=e393]:
-              - generic [ref=e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e403]:
-                  - img "swap-right" [ref=e404]
-                - textbox "缁撴潫鏃堕棿" [ref=e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e409]:
-              - generic [ref=e410]: 鍒涘缓鏃堕棿
-              - generic [ref=e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e419]:
-                  - img "swap-right" [ref=e420]
-                - textbox "缁撴潫鏃堕棿" [ref=e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e425]:
-              - button "閲� 缃�" [ref=e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=e428] [cursor=pointer]
-              - generic [ref=e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=e437]:
-            - generic [ref=e439]:
-              - generic [ref=e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=e444]:
-                - generic [ref=e446]:
-                  - button "鏂板鎵规" [ref=e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=e453] [cursor=pointer]
-                - button "顫�" [ref=e459] [cursor=pointer]
-              - generic [ref=e461]:
-                - button "瞟�" [ref=e462] [cursor=pointer]
-                - button "顪�" [ref=e464] [cursor=pointer]
-                - button "顦�" [ref=e466] [cursor=pointer]
-            - generic [ref=e470]:
-              - generic [ref=e473]:
-                - generic [ref=e474]:
-                  - table [ref=e478]:
-                    - rowgroup [ref=e493]:
-                      - row [ref=e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=e520]
-                        - columnheader "璐d换浜�" [ref=e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=e535]
-                        - columnheader "鎵规鐘舵��" [ref=e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=e545]
-                  - generic [ref=e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=e553]:
-                    - table [ref=e556]:
-                      - rowgroup [ref=e571]:
-                        - row [ref=e572]:
-                          - columnheader "鎵规鍙�" [ref=e573]
-                    - generic [ref=e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=e580]:
-                    - table [ref=e583]:
-                      - rowgroup [ref=e598]:
-                        - row [ref=e599]:
-                          - columnheader "鎿嶄綔" [ref=e600]
-                    - generic [ref=e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=e621]:
-              - generic [ref=e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=e625]:
-                  - textbox "璇烽�夋嫨" [ref=e626]: 20鏉�/椤�
-                - generic [ref=e627]: 睿�
-              - button "飱�" [ref=e630]
-              - button "顧�" [ref=e632]
-              - button "顫�" [ref=e634]
-              - button "1" [ref=e637] [cursor=pointer]
-              - button "顫�" [ref=e638]
-              - button "顧�" [ref=e640]
-              - button "顦�" [ref=e642]
-  - dialog [ref=e645]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=e647]
-    - generic [ref=e649]:
-      - generic [ref=e651]:
-        - generic [ref=e652]:
-          - generic [ref=e653]:
-            - generic [ref=e654]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=e661]: 閾濆悎瀵间綋
-        - generic [ref=e667]:
-          - generic [ref=e668]:
-            - generic [ref=e669]: "*"
-            - text: 浜х嚎
-          - generic [ref=e675]:
-            - combobox "* 浜х嚎" [expanded] [active] [ref=e677]:
-              - listbox:
-                - option "1"
-                - option "2"
-            - generic: 璇烽�夋嫨浜х嚎
-        - generic [ref=e678]:
-          - generic [ref=e679]:
-            - generic [ref=e680]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=e686]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=e687]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-            - generic:
-              - img "calendar"
-        - generic [ref=e688]:
-          - generic [ref=e689]: 璁″垝鏁伴噺
-          - generic [ref=e694]:
-            - generic [ref=e695]:
-              - button "Increase Value" [ref=e696] [cursor=pointer]:
-                - img "up" [ref=e697]
-              - button "Decrease Value" [ref=e700] [cursor=pointer]:
-                - img "down" [ref=e701]
-            - spinbutton "璁″垝鏁伴噺" [ref=e705]
-        - generic [ref=e706]:
-          - generic [ref=e707]:
-            - generic [ref=e708]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=e715]
-        - generic [ref=e721]:
-          - generic [ref=e722]: 澶囨敞
-          - textbox "澶囨敞" [ref=e727]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=e728]:
-        - generic [ref=e729]:
-          - generic [ref=e730]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=e731] [cursor=pointer]
-        - generic [ref=e743]:
-          - table [ref=e747]:
-            - rowgroup [ref=e753]:
-              - row [ref=e754]:
-                - columnheader "鐢熶骇浜哄憳" [ref=e755]
-                - columnheader "宀椾綅绫诲瀷" [ref=e760]
-                - columnheader "澶囨敞" [ref=e765]
-                - columnheader "鎿嶄綔" [ref=e770]
-          - table [ref=e806]:
-            - rowgroup [ref=e812]:
-              - row [ref=e1624]:
-                - cell [ref=e1604]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=e819]: "222"
-                - cell "缁勯暱" [ref=e1625]:
-                  - generic [ref=e829] [cursor=pointer]:
-                    - combobox [ref=e831]
-                    - generic "缁勯暱" [ref=e1623]
-                - cell [ref=e832]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=e835]
-                - cell [ref=e836]:
-                  - button "鍒犻櫎" [ref=e842] [cursor=pointer]
-    - button [ref=e786] [cursor=pointer]
-    - generic [ref=e796]:
-      - button "纭� 璁�" [ref=e797] [cursor=pointer]
-      - button "鍙� 娑�" [ref=e800] [cursor=pointer]
-    - button [ref=e802] [cursor=pointer]
-  - generic [ref=e2063]:
-    - generic [ref=e2066] [cursor=pointer]:
-      - generic [ref=e2067]: 浜х嚎涓�
-      - generic [ref=e2068]: one
-    - generic [ref=e2071] [cursor=pointer]:
-      - generic [ref=e2072]: 浜х嚎浜�
-      - generic [ref=e2073]: two
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-12-24-644Z.yml b/.playwright-mcp/page-2026-08-18T08-12-24-644Z.yml
deleted file mode 100644
index 8667530..0000000
--- a/.playwright-mcp/page-2026-08-18T08-12-24-644Z.yml
+++ /dev/null
@@ -1,271 +0,0 @@
-- generic [ref=e4]:
-  - generic [ref=e7]:
-    - complementary [ref=e8]:
-      - generic [ref=e9]:
-        - generic [ref=e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-          - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=e22]:
-          - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-          - listitem [ref=e30]:
-            - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=e39]:
-            - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=e46]:
-            - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=e53]:
-            - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=e61]:
-            - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=e70]:
-            - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=e78]:
-            - generic [ref=e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=e104] [cursor=pointer]
-          - listitem [ref=e111]:
-            - generic [ref=e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=e118]:
-            - generic [ref=e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=e125]:
-            - generic [ref=e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=e132]:
-            - generic [ref=e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=e139]:
-            - generic [ref=e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=e146]:
-            - generic [ref=e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=e153]:
-            - generic [ref=e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=e160]:
-            - generic [ref=e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=e169] [cursor=pointer]
-    - generic [ref=e174]:
-      - generic [ref=e175]:
-        - banner [ref=e176]:
-          - button [ref=e177] [cursor=pointer]
-          - button [ref=e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=e185]:
-            - list [ref=e186]:
-              - listitem [ref=e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=e192]
-              - listitem [ref=e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=e196]
-          - generic [ref=e201]:
-            - generic [ref=e203] [cursor=pointer]:
-              - generic [ref=e207]: 鎼滅储
-              - generic [ref=e208]: Ctrl K
-            - button [ref=e210] [cursor=pointer]
-            - button "dark" [ref=e215] [cursor=pointer]
-            - button [ref=e224] [cursor=pointer]
-            - button [ref=e230] [cursor=pointer]
-            - button [ref=e233] [cursor=pointer]
-            - button [ref=e239] [cursor=pointer]:
-              - button [ref=e241]
-            - button "宸ヤ綔鍙�" [ref=e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=e250] [cursor=pointer]
-        - generic [ref=e257]:
-          - generic [ref=e262]:
-            - generic [ref=e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=e298]:
-            - button [ref=e299] [cursor=pointer]
-            - generic [ref=e306] [cursor=pointer]
-            - generic [ref=e310] [cursor=pointer]
-      - main [ref=e317]:
-        - generic [ref=e322]:
-          - generic [ref=e327]:
-            - generic [ref=e328]:
-              - generic [ref=e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=e337]:
-              - generic [ref=e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=e345]
-            - generic [ref=e351]:
-              - generic [ref=e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=e360]:
-              - generic [ref=e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=e369]:
-              - generic [ref=e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=e377]
-            - generic [ref=e383]:
-              - generic [ref=e384]: 鎵规鐘舵��
-              - generic [ref=e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=e393]:
-              - generic [ref=e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e403]:
-                  - img "swap-right" [ref=e404]
-                - textbox "缁撴潫鏃堕棿" [ref=e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e409]:
-              - generic [ref=e410]: 鍒涘缓鏃堕棿
-              - generic [ref=e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e419]:
-                  - img "swap-right" [ref=e420]
-                - textbox "缁撴潫鏃堕棿" [ref=e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e425]:
-              - button "閲� 缃�" [ref=e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=e428] [cursor=pointer]
-              - generic [ref=e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=e437]:
-            - generic [ref=e439]:
-              - generic [ref=e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=e444]:
-                - generic [ref=e446]:
-                  - button "鏂板鎵规" [ref=e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=e453] [cursor=pointer]
-                - button "顫�" [ref=e459] [cursor=pointer]
-              - generic [ref=e461]:
-                - button "瞟�" [ref=e462] [cursor=pointer]
-                - button "顪�" [ref=e464] [cursor=pointer]
-                - button "顦�" [ref=e466] [cursor=pointer]
-            - generic [ref=e470]:
-              - generic [ref=e473]:
-                - generic [ref=e474]:
-                  - table [ref=e478]:
-                    - rowgroup [ref=e493]:
-                      - row [ref=e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=e520]
-                        - columnheader "璐d换浜�" [ref=e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=e535]
-                        - columnheader "鎵规鐘舵��" [ref=e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=e545]
-                  - generic [ref=e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=e553]:
-                    - table [ref=e556]:
-                      - rowgroup [ref=e571]:
-                        - row [ref=e572]:
-                          - columnheader "鎵规鍙�" [ref=e573]
-                    - generic [ref=e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=e580]:
-                    - table [ref=e583]:
-                      - rowgroup [ref=e598]:
-                        - row [ref=e599]:
-                          - columnheader "鎿嶄綔" [ref=e600]
-                    - generic [ref=e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=e621]:
-              - generic [ref=e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=e625]:
-                  - textbox "璇烽�夋嫨" [ref=e626]: 20鏉�/椤�
-                - generic [ref=e627]: 睿�
-              - button "飱�" [ref=e630]
-              - button "顧�" [ref=e632]
-              - button "顫�" [ref=e634]
-              - button "1" [ref=e637] [cursor=pointer]
-              - button "顫�" [ref=e638]
-              - button "顧�" [ref=e640]
-              - button "顦�" [ref=e642]
-  - dialog [ref=e645]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=e647]
-    - generic [ref=e649]:
-      - generic [ref=e651]:
-        - generic [ref=e652]:
-          - generic [ref=e653]:
-            - generic [ref=e654]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=e661]: 閾濆悎瀵间綋
-        - generic [ref=e667]:
-          - generic [ref=e668]:
-            - generic [ref=e669]: "*"
-            - text: 浜х嚎
-          - generic [ref=e674] [cursor=pointer]:
-            - generic: "2"
-            - generic [ref=e675]:
-              - combobox "* 浜х嚎" [active] [ref=e677]
-              - generic [ref=e2075]:
-                - generic [ref=e2076]: 浜х嚎浜�
-                - generic [ref=e2077]: two
-        - generic [ref=e678]:
-          - generic [ref=e679]:
-            - generic [ref=e680]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=e686]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=e687]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-            - generic:
-              - img "calendar"
-        - generic [ref=e688]:
-          - generic [ref=e689]: 璁″垝鏁伴噺
-          - generic [ref=e694]:
-            - generic [ref=e695]:
-              - button "Increase Value" [ref=e696] [cursor=pointer]:
-                - img "up" [ref=e697]
-              - button "Decrease Value" [ref=e700] [cursor=pointer]:
-                - img "down" [ref=e701]
-            - spinbutton "璁″垝鏁伴噺" [ref=e705]
-        - generic [ref=e706]:
-          - generic [ref=e707]:
-            - generic [ref=e708]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=e715]
-        - generic [ref=e721]:
-          - generic [ref=e722]: 澶囨敞
-          - textbox "澶囨敞" [ref=e727]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=e728]:
-        - generic [ref=e729]:
-          - generic [ref=e730]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=e731] [cursor=pointer]
-        - generic [ref=e743]:
-          - table [ref=e747]:
-            - rowgroup [ref=e753]:
-              - row [ref=e754]:
-                - columnheader "鐢熶骇浜哄憳" [ref=e755]
-                - columnheader "宀椾綅绫诲瀷" [ref=e760]
-                - columnheader "澶囨敞" [ref=e765]
-                - columnheader "鎿嶄綔" [ref=e770]
-          - table [ref=e806]:
-            - rowgroup [ref=e812]:
-              - row [ref=e1624]:
-                - cell [ref=e1604]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=e819]: "222"
-                - cell "缁勯暱" [ref=e1625]:
-                  - generic [ref=e829] [cursor=pointer]:
-                    - combobox [ref=e831]
-                    - generic "缁勯暱" [ref=e1623]
-                - cell [ref=e832]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=e835]
-                - cell [ref=e836]:
-                  - button "鍒犻櫎" [ref=e842] [cursor=pointer]
-    - button [ref=e786] [cursor=pointer]
-    - generic [ref=e796]:
-      - button "纭� 璁�" [ref=e797] [cursor=pointer]
-      - button "鍙� 娑�" [ref=e800] [cursor=pointer]
-    - button [ref=e802] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-13-07-718Z.yml b/.playwright-mcp/page-2026-08-18T08-13-07-718Z.yml
deleted file mode 100644
index adf8d6b..0000000
--- a/.playwright-mcp/page-2026-08-18T08-13-07-718Z.yml
+++ /dev/null
@@ -1,272 +0,0 @@
-- generic [ref=e4]:
-  - generic [ref=e7]:
-    - complementary [ref=e8]:
-      - generic [ref=e9]:
-        - generic [ref=e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-          - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=e22]:
-          - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-          - listitem [ref=e30]:
-            - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=e39]:
-            - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=e46]:
-            - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=e53]:
-            - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=e61]:
-            - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=e70]:
-            - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=e78]:
-            - generic [ref=e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=e104] [cursor=pointer]
-          - listitem [ref=e111]:
-            - generic [ref=e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=e118]:
-            - generic [ref=e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=e125]:
-            - generic [ref=e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=e132]:
-            - generic [ref=e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=e139]:
-            - generic [ref=e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=e146]:
-            - generic [ref=e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=e153]:
-            - generic [ref=e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=e160]:
-            - generic [ref=e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=e169] [cursor=pointer]
-    - generic [ref=e174]:
-      - generic [ref=e175]:
-        - banner [ref=e176]:
-          - button [ref=e177] [cursor=pointer]
-          - button [ref=e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=e185]:
-            - list [ref=e186]:
-              - listitem [ref=e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=e192]
-              - listitem [ref=e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=e196]
-          - generic [ref=e201]:
-            - generic [ref=e203] [cursor=pointer]:
-              - generic [ref=e207]: 鎼滅储
-              - generic [ref=e208]: Ctrl K
-            - button [ref=e210] [cursor=pointer]
-            - button "dark" [ref=e215] [cursor=pointer]
-            - button [ref=e224] [cursor=pointer]
-            - button [ref=e230] [cursor=pointer]
-            - button [ref=e233] [cursor=pointer]
-            - button [ref=e239] [cursor=pointer]:
-              - button [ref=e241]
-            - button "宸ヤ綔鍙�" [ref=e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=e250] [cursor=pointer]
-        - generic [ref=e257]:
-          - generic [ref=e262]:
-            - generic [ref=e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=e298]:
-            - button [ref=e299] [cursor=pointer]
-            - generic [ref=e306] [cursor=pointer]
-            - generic [ref=e310] [cursor=pointer]
-      - main [ref=e317]:
-        - generic [ref=e322]:
-          - generic [ref=e327]:
-            - generic [ref=e328]:
-              - generic [ref=e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=e337]:
-              - generic [ref=e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=e345]
-            - generic [ref=e351]:
-              - generic [ref=e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=e360]:
-              - generic [ref=e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=e369]:
-              - generic [ref=e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=e377]
-            - generic [ref=e383]:
-              - generic [ref=e384]: 鎵规鐘舵��
-              - generic [ref=e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=e393]:
-              - generic [ref=e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e403]:
-                  - img "swap-right" [ref=e404]
-                - textbox "缁撴潫鏃堕棿" [ref=e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e409]:
-              - generic [ref=e410]: 鍒涘缓鏃堕棿
-              - generic [ref=e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e419]:
-                  - img "swap-right" [ref=e420]
-                - textbox "缁撴潫鏃堕棿" [ref=e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e425]:
-              - button "閲� 缃�" [ref=e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=e428] [cursor=pointer]
-              - generic [ref=e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=e437]:
-            - generic [ref=e439]:
-              - generic [ref=e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=e444]:
-                - generic [ref=e446]:
-                  - button "鏂板鎵规" [ref=e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=e453] [cursor=pointer]
-                - button "顫�" [ref=e459] [cursor=pointer]
-              - generic [ref=e461]:
-                - button "瞟�" [ref=e462] [cursor=pointer]
-                - button "顪�" [ref=e464] [cursor=pointer]
-                - button "顦�" [ref=e466] [cursor=pointer]
-            - generic [ref=e470]:
-              - generic [ref=e473]:
-                - generic [ref=e474]:
-                  - table [ref=e478]:
-                    - rowgroup [ref=e493]:
-                      - row [ref=e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=e520]
-                        - columnheader "璐d换浜�" [ref=e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=e535]
-                        - columnheader "鎵规鐘舵��" [ref=e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=e545]
-                  - generic [ref=e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=e553]:
-                    - table [ref=e556]:
-                      - rowgroup [ref=e571]:
-                        - row [ref=e572]:
-                          - columnheader "鎵规鍙�" [ref=e573]
-                    - generic [ref=e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=e580]:
-                    - table [ref=e583]:
-                      - rowgroup [ref=e598]:
-                        - row [ref=e599]:
-                          - columnheader "鎿嶄綔" [ref=e600]
-                    - generic [ref=e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=e621]:
-              - generic [ref=e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=e625]:
-                  - textbox "璇烽�夋嫨" [ref=e626]: 20鏉�/椤�
-                - generic [ref=e627]: 睿�
-              - button "飱�" [ref=e630]
-              - button "顧�" [ref=e632]
-              - button "顫�" [ref=e634]
-              - button "1" [ref=e637] [cursor=pointer]
-              - button "顫�" [ref=e638]
-              - button "顧�" [ref=e640]
-              - button "顦�" [ref=e642]
-  - dialog [ref=e645]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=e647]
-    - generic [ref=e649]:
-      - generic [ref=e651]:
-        - generic [ref=e652]:
-          - generic [ref=e653]:
-            - generic [ref=e654]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=e661]: 閾濆悎瀵间綋
-        - generic [ref=e667]:
-          - generic [ref=e668]:
-            - generic [ref=e669]: "*"
-            - text: 浜х嚎
-          - generic [ref=e675]:
-            - combobox "* 浜х嚎" [ref=e677]
-            - generic [ref=e2075]:
-              - generic [ref=e2076]: 浜х嚎浜�
-              - generic [ref=e2077]: two
-        - generic [ref=e678]:
-          - generic [ref=e679]:
-            - generic [ref=e680]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=e686]:
-            - textbox "* 鐢熶骇鏃ユ湡" [active] [ref=e687]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-              - text: 2026-08-18 08:00:00
-            - generic:
-              - img "calendar"
-            - button [ref=e2082] [cursor=pointer]:
-              - img "close-circle" [ref=e2083]
-        - generic [ref=e688]:
-          - generic [ref=e689]: 璁″垝鏁伴噺
-          - generic [ref=e694]:
-            - generic [ref=e695]:
-              - button "Increase Value" [ref=e696] [cursor=pointer]:
-                - img "up" [ref=e697]
-              - button "Decrease Value" [ref=e700] [cursor=pointer]:
-                - img "down" [ref=e701]
-            - spinbutton "璁″垝鏁伴噺" [ref=e705]
-        - generic [ref=e706]:
-          - generic [ref=e707]:
-            - generic [ref=e708]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=e715]
-        - generic [ref=e721]:
-          - generic [ref=e722]: 澶囨敞
-          - textbox "澶囨敞" [ref=e727]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=e728]:
-        - generic [ref=e729]:
-          - generic [ref=e730]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=e731] [cursor=pointer]
-        - generic [ref=e743]:
-          - table [ref=e747]:
-            - rowgroup [ref=e753]:
-              - row [ref=e754]:
-                - columnheader "鐢熶骇浜哄憳" [ref=e755]
-                - columnheader "宀椾綅绫诲瀷" [ref=e760]
-                - columnheader "澶囨敞" [ref=e765]
-                - columnheader "鎿嶄綔" [ref=e770]
-          - table [ref=e806]:
-            - rowgroup [ref=e812]:
-              - row [ref=e1624]:
-                - cell [ref=e1604]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=e819]: "222"
-                - cell "缁勯暱" [ref=e1625]:
-                  - generic [ref=e829] [cursor=pointer]:
-                    - combobox [ref=e831]
-                    - generic "缁勯暱" [ref=e1623]
-                - cell [ref=e832]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=e835]
-                - cell [ref=e836]:
-                  - button "鍒犻櫎" [ref=e842] [cursor=pointer]
-    - button [ref=e786] [cursor=pointer]
-    - generic [ref=e796]:
-      - button "纭� 璁�" [ref=e797] [cursor=pointer]
-      - button "鍙� 娑�" [ref=e800] [cursor=pointer]
-    - button [ref=e802] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-13-18-864Z.yml b/.playwright-mcp/page-2026-08-18T08-13-18-864Z.yml
deleted file mode 100644
index 9a46f89..0000000
--- a/.playwright-mcp/page-2026-08-18T08-13-18-864Z.yml
+++ /dev/null
@@ -1,497 +0,0 @@
-- generic [ref=e4]:
-  - generic [ref=e7]:
-    - complementary [ref=e8]:
-      - generic [ref=e9]:
-        - generic [ref=e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-          - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=e22]:
-          - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-          - listitem [ref=e30]:
-            - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=e39]:
-            - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=e46]:
-            - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=e53]:
-            - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=e61]:
-            - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=e70]:
-            - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=e78]:
-            - generic [ref=e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=e104] [cursor=pointer]
-          - listitem [ref=e111]:
-            - generic [ref=e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=e118]:
-            - generic [ref=e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=e125]:
-            - generic [ref=e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=e132]:
-            - generic [ref=e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=e139]:
-            - generic [ref=e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=e146]:
-            - generic [ref=e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=e153]:
-            - generic [ref=e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=e160]:
-            - generic [ref=e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=e169] [cursor=pointer]
-    - generic [ref=e174]:
-      - generic [ref=e175]:
-        - banner [ref=e176]:
-          - button [ref=e177] [cursor=pointer]
-          - button [ref=e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=e185]:
-            - list [ref=e186]:
-              - listitem [ref=e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=e192]
-              - listitem [ref=e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=e196]
-          - generic [ref=e201]:
-            - generic [ref=e203] [cursor=pointer]:
-              - generic [ref=e207]: 鎼滅储
-              - generic [ref=e208]: Ctrl K
-            - button [ref=e210] [cursor=pointer]
-            - button "dark" [ref=e215] [cursor=pointer]
-            - button [ref=e224] [cursor=pointer]
-            - button [ref=e230] [cursor=pointer]
-            - button [ref=e233] [cursor=pointer]
-            - button [ref=e239] [cursor=pointer]:
-              - button [ref=e241]
-            - button "宸ヤ綔鍙�" [ref=e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=e250] [cursor=pointer]
-        - generic [ref=e257]:
-          - generic [ref=e262]:
-            - generic [ref=e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=e298]:
-            - button [ref=e299] [cursor=pointer]
-            - generic [ref=e306] [cursor=pointer]
-            - generic [ref=e310] [cursor=pointer]
-      - main [ref=e317]:
-        - generic [ref=e322]:
-          - generic [ref=e327]:
-            - generic [ref=e328]:
-              - generic [ref=e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=e337]:
-              - generic [ref=e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=e345]
-            - generic [ref=e351]:
-              - generic [ref=e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=e360]:
-              - generic [ref=e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=e369]:
-              - generic [ref=e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=e377]
-            - generic [ref=e383]:
-              - generic [ref=e384]: 鎵规鐘舵��
-              - generic [ref=e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=e393]:
-              - generic [ref=e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e403]:
-                  - img "swap-right" [ref=e404]
-                - textbox "缁撴潫鏃堕棿" [ref=e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e409]:
-              - generic [ref=e410]: 鍒涘缓鏃堕棿
-              - generic [ref=e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e419]:
-                  - img "swap-right" [ref=e420]
-                - textbox "缁撴潫鏃堕棿" [ref=e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e425]:
-              - button "閲� 缃�" [ref=e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=e428] [cursor=pointer]
-              - generic [ref=e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=e437]:
-            - generic [ref=e439]:
-              - generic [ref=e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=e444]:
-                - generic [ref=e446]:
-                  - button "鏂板鎵规" [ref=e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=e453] [cursor=pointer]
-                - button "顫�" [ref=e459] [cursor=pointer]
-              - generic [ref=e461]:
-                - button "瞟�" [ref=e462] [cursor=pointer]
-                - button "顪�" [ref=e464] [cursor=pointer]
-                - button "顦�" [ref=e466] [cursor=pointer]
-            - generic [ref=e470]:
-              - generic [ref=e473]:
-                - generic [ref=e474]:
-                  - table [ref=e478]:
-                    - rowgroup [ref=e493]:
-                      - row [ref=e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=e520]
-                        - columnheader "璐d换浜�" [ref=e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=e535]
-                        - columnheader "鎵规鐘舵��" [ref=e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=e545]
-                  - generic [ref=e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=e553]:
-                    - table [ref=e556]:
-                      - rowgroup [ref=e571]:
-                        - row [ref=e572]:
-                          - columnheader "鎵规鍙�" [ref=e573]
-                    - generic [ref=e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=e580]:
-                    - table [ref=e583]:
-                      - rowgroup [ref=e598]:
-                        - row [ref=e599]:
-                          - columnheader "鎿嶄綔" [ref=e600]
-                    - generic [ref=e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=e621]:
-              - generic [ref=e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=e625]:
-                  - textbox "璇烽�夋嫨" [ref=e626]: 20鏉�/椤�
-                - generic [ref=e627]: 睿�
-              - button "飱�" [ref=e630]
-              - button "顧�" [ref=e632]
-              - button "顫�" [ref=e634]
-              - button "1" [ref=e637] [cursor=pointer]
-              - button "顫�" [ref=e638]
-              - button "顧�" [ref=e640]
-              - button "顦�" [ref=e642]
-  - dialog [ref=e645]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=e647]
-    - generic [ref=e649]:
-      - generic [ref=e651]:
-        - generic [ref=e652]:
-          - generic [ref=e653]:
-            - generic [ref=e654]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=e661]: 閾濆悎瀵间綋
-        - generic [ref=e667]:
-          - generic [ref=e668]:
-            - generic [ref=e669]: "*"
-            - text: 浜х嚎
-          - generic [ref=e675]:
-            - combobox "* 浜х嚎" [ref=e677]
-            - generic [ref=e2075]:
-              - generic [ref=e2076]: 浜х嚎浜�
-              - generic [ref=e2077]: two
-        - generic [ref=e678]:
-          - generic [ref=e679]:
-            - generic [ref=e680]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=e686]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=e687]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-              - text: 2026-08-18 08:00:00
-            - generic:
-              - img "calendar"
-            - button [ref=e2082] [cursor=pointer]:
-              - img "close-circle" [ref=e2083]
-        - generic [ref=e688]:
-          - generic [ref=e689]: 璁″垝鏁伴噺
-          - generic [ref=e694]:
-            - generic [ref=e695]:
-              - button "Increase Value" [ref=e696] [cursor=pointer]:
-                - img "up" [ref=e697]
-              - button "Decrease Value" [ref=e700] [cursor=pointer]:
-                - img "down" [ref=e701]
-            - spinbutton "璁″垝鏁伴噺" [ref=e705]: "100.00"
-        - generic [ref=e706]:
-          - generic [ref=e707]:
-            - generic [ref=e708]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=e715]: 瓒呯骇绠$悊鍛�
-        - generic [ref=e721]:
-          - generic [ref=e722]: 澶囨敞
-          - textbox "澶囨敞" [ref=e727]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=e728]:
-        - generic [ref=e729]:
-          - generic [ref=e730]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=e731] [cursor=pointer]
-        - generic [ref=e743]:
-          - table [ref=e747]:
-            - rowgroup [ref=e753]:
-              - row [ref=e754]:
-                - columnheader "鐢熶骇浜哄憳" [ref=e755]
-                - columnheader "宀椾綅绫诲瀷" [ref=e760]
-                - columnheader "澶囨敞" [ref=e765]
-                - columnheader "鎿嶄綔" [ref=e770]
-          - table [ref=e806]:
-            - rowgroup [ref=e812]:
-              - row [ref=e1624]:
-                - cell [ref=e1604]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=e819]: "222"
-                - cell "缁勯暱" [ref=e1625]:
-                  - generic [ref=e829] [cursor=pointer]:
-                    - combobox [ref=e831]
-                    - generic "缁勯暱" [ref=e1623]
-                - cell [ref=e832]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=e835]
-                - cell [ref=e836]:
-                  - button "鍒犻櫎" [ref=e842] [cursor=pointer]
-    - button [ref=e786] [cursor=pointer]
-    - generic [ref=e796]:
-      - button "纭� 璁�" [ref=e797] [cursor=pointer]
-      - button "鍙� 娑�" [ref=e800] [cursor=pointer]
-    - button [ref=e802] [cursor=pointer]
-  - dialog "浜哄憳閫夋嫨" [ref=e2090]:
-    - document:
-      - generic [ref=e2091]:
-        - button "Close" [ref=e2092] [cursor=pointer]:
-          - img "close" [ref=e2094]
-        - generic [ref=e2097]: 浜哄憳閫夋嫨
-        - generic [ref=e2100]:
-          - generic [ref=e2102]:
-            - textbox "鎼滅储閮ㄩ棬" [ref=e2109]
-            - tree [ref=e2113]:
-              - generic:
-                - textbox "for screen reader"
-              - generic [ref=e2117]:
-                - generic [ref=e2118]:
-                  - img "caret-down" [ref=e2120] [cursor=pointer]
-                  - generic "鎬诲叕鍙�" [ref=e2123] [cursor=pointer]
-                - generic [ref=e2124]:
-                  - img "caret-down" [ref=e2127] [cursor=pointer]
-                  - generic "娣卞湷鎬诲叕鍙�" [ref=e2130] [cursor=pointer]
-                - generic "鐮斿彂閮ㄩ棬" [ref=e2134] [cursor=pointer]
-                - generic "甯傚満閮ㄩ棬" [ref=e2138] [cursor=pointer]
-                - generic "娴嬭瘯閮ㄩ棬" [ref=e2142] [cursor=pointer]
-                - generic "璐㈠姟閮ㄩ棬" [ref=e2146] [cursor=pointer]
-                - generic "杩愮淮閮ㄩ棬" [ref=e2150] [cursor=pointer]
-                - generic [ref=e2151]:
-                  - img "caret-down" [ref=e2154] [cursor=pointer]
-                  - generic "闀挎矙鍒嗗叕鍙�" [ref=e2157] [cursor=pointer]
-                - generic "甯傚満閮ㄩ棬" [ref=e2161] [cursor=pointer]
-                - generic "璐㈠姟閮ㄩ棬" [ref=e2165] [cursor=pointer]
-                - generic "鏂伴儴闂�" [ref=e2168] [cursor=pointer]
-                - generic "椤剁骇閮ㄩ棬" [ref=e2171] [cursor=pointer]
-                - generic "鏌愪釜瀛愰儴闂�" [ref=e2174] [cursor=pointer]
-                - generic "鏌愪釜瀛愰儴闂� 2" [ref=e2177] [cursor=pointer]
-          - generic [ref=e2180]:
-            - generic [ref=e2185]:
-              - generic [ref=e2186]:
-                - generic [ref=e2187]: 鐢ㄦ埛鍚嶇О
-                - textbox "鐢ㄦ埛鍚嶇О" [ref=e2193]:
-                  - /placeholder: 璇疯緭鍏ョ敤鎴峰悕绉�
-              - generic [ref=e2195]:
-                - generic [ref=e2196]: 鐢ㄦ埛鏄电О
-                - textbox "鐢ㄦ埛鏄电О" [ref=e2202]:
-                  - /placeholder: 璇疯緭鍏ョ敤鎴锋樀绉�
-              - generic [ref=e2204]:
-                - generic [ref=e2205]: 鎵嬫満鍙风爜
-                - textbox "鎵嬫満鍙风爜" [ref=e2211]:
-                  - /placeholder: 璇疯緭鍏ユ墜鏈哄彿鐮�
-              - generic [ref=e2213]:
-                - generic [ref=e2214]: 鐘舵��
-                - generic [ref=e2220] [cursor=pointer]:
-                  - combobox "鐘舵��" [ref=e2222]
-                  - generic "寮�鍚�" [ref=e2223]
-              - generic [ref=e2228]:
-                - button "閲� 缃�" [ref=e2229] [cursor=pointer]
-                - button "鎼� 绱�" [ref=e2231] [cursor=pointer]
-                - generic [ref=e2233] [cursor=pointer]: 鏀惰捣
-            - generic [ref=e2240]:
-              - generic [ref=e2242]:
-                - generic [ref=e2243]: 鐢ㄦ埛鍒楄〃
-                - button "顫�" [ref=e2248] [cursor=pointer]
-                - generic [ref=e2250]:
-                  - button "瞟�" [ref=e2251] [cursor=pointer]
-                  - button "顪�" [ref=e2253] [cursor=pointer]
-                  - button "顦�" [ref=e2255] [cursor=pointer]
-              - generic [ref=e2263]:
-                - table [ref=e2267]:
-                  - rowgroup [ref=e2275]:
-                    - row "鐢ㄦ埛缂栧彿 鐢ㄦ埛鍚嶇О 鐢ㄦ埛鏄电О 鎵嬫満鍙风爜 鐘舵��" [ref=e2276]:
-                      - columnheader [ref=e2277]
-                      - columnheader "鐢ㄦ埛缂栧彿" [ref=e2280]
-                      - columnheader "鐢ㄦ埛鍚嶇О" [ref=e2285]
-                      - columnheader "鐢ㄦ埛鏄电О" [ref=e2290]
-                      - columnheader "鎵嬫満鍙风爜" [ref=e2295]
-                      - columnheader "鐘舵��" [ref=e2300]
-                - table [ref=e2308]:
-                  - rowgroup [ref=e2316]:
-                    - row [ref=e2317]:
-                      - cell "顭�" [ref=e2318]
-                      - cell "230" [ref=e2323]
-                      - cell "18333333333" [ref=e2327]
-                      - cell "222" [ref=e2331]
-                      - cell "18333333333" [ref=e2335]
-                      - cell "寮�鍚�" [ref=e2339]
-                    - row [ref=e2343]:
-                      - cell "顭�" [ref=e2344]
-                      - cell "229" [ref=e2349]
-                      - cell "15822054764" [ref=e2353]
-                      - cell "鏀惧亣" [ref=e2357]
-                      - cell "15822054764" [ref=e2361]
-                      - cell "寮�鍚�" [ref=e2365]
-                    - row [ref=e2369]:
-                      - cell "顭�" [ref=e2370]
-                      - cell "228" [ref=e2375]
-                      - cell "15822054766" [ref=e2379]
-                      - cell "涓嶆兂涓婄彮" [ref=e2383]
-                      - cell "15822054766" [ref=e2387]
-                      - cell "寮�鍚�" [ref=e2391]
-                    - row [ref=e2395]:
-                      - cell "顭�" [ref=e2396]
-                      - cell "227" [ref=e2401]
-                      - cell "15822054767" [ref=e2405]
-                      - cell "澶ф槑鏄�" [ref=e2409]
-                      - cell "15822054767" [ref=e2413]
-                      - cell "寮�鍚�" [ref=e2417]
-                    - row [ref=e2421]:
-                      - cell "顭�" [ref=e2422]
-                      - cell "226" [ref=e2427]
-                      - cell "15822054763" [ref=e2431]
-                      - cell "鍗冨厠" [ref=e2435]
-                      - cell "15822054763" [ref=e2439]
-                      - cell "寮�鍚�" [ref=e2443]
-                    - row [ref=e2447]:
-                      - cell "顭�" [ref=e2448]
-                      - cell "225" [ref=e2453]
-                      - cell "15822054762" [ref=e2457]
-                      - cell "鍗楃摐瀛�" [ref=e2461]
-                      - cell "15822054762" [ref=e2465]
-                      - cell "寮�鍚�" [ref=e2469]
-                    - row "顭� 144 aoteman001 aoteman00112 鍏抽棴" [ref=e2473]:
-                      - cell "顭�" [ref=e2474]
-                      - cell "144" [ref=e2479]
-                      - cell "aoteman001" [ref=e2483]
-                      - cell "aoteman00112" [ref=e2487]
-                      - cell [ref=e2491]
-                      - cell "鍏抽棴" [ref=e2495]
-                    - row "顭� 143 a00001 a00001 寮�鍚�" [ref=e2499]:
-                      - cell "顭�" [ref=e2500]
-                      - cell "143" [ref=e2505]
-                      - cell "a00001" [ref=e2509]
-                      - cell "a00001" [ref=e2513]
-                      - cell [ref=e2517]
-                      - cell "寮�鍚�" [ref=e2521]
-                    - row [ref=e2525]:
-                      - cell "顭�" [ref=e2526]
-                      - cell "142" [ref=e2531]
-                      - cell "test01" [ref=e2535]
-                      - cell "test01" [ref=e2539]
-                      - cell "19021719925" [ref=e2543]
-                      - cell "寮�鍚�" [ref=e2547]
-                    - row "顭� 141 admin1 鏂扮敤鎴� 寮�鍚�" [ref=e2551]:
-                      - cell "顭�" [ref=e2552]
-                      - cell "141" [ref=e2557]
-                      - cell "admin1" [ref=e2561]
-                      - cell "鏂扮敤鎴�" [ref=e2565]
-                      - cell [ref=e2569]
-                      - cell "寮�鍚�" [ref=e2573]
-                    - row "顭� 139 wwbwwb 灏忕澶� 寮�鍚�" [ref=e2577]:
-                      - cell "顭�" [ref=e2578]
-                      - cell "139" [ref=e2583]
-                      - cell "wwbwwb" [ref=e2587]
-                      - cell "灏忕澶�" [ref=e2591]
-                      - cell [ref=e2595]
-                      - cell "寮�鍚�" [ref=e2599]
-                    - row [ref=e2603]:
-                      - cell "顭�" [ref=e2604]
-                      - cell "118" [ref=e2609]
-                      - cell "goudan" [ref=e2613]
-                      - cell "鐙楄泲" [ref=e2617]
-                      - cell "15601691239" [ref=e2621]
-                      - cell "寮�鍚�" [ref=e2625]
-                    - row [ref=e2629]:
-                      - cell "顭�" [ref=e2630]
-                      - cell "117" [ref=e2635]
-                      - cell "admin123" [ref=e2639]
-                      - cell "娴嬭瘯鍙�02" [ref=e2643]
-                      - cell "15601691234" [ref=e2647]
-                      - cell "寮�鍚�" [ref=e2651]
-                    - row [ref=e2655]:
-                      - cell "顭�" [ref=e2656]
-                      - cell "115" [ref=e2661]
-                      - cell "aotemane" [ref=e2665]
-                      - cell "闃垮憜" [ref=e2669]
-                      - cell "15601691229" [ref=e2673]
-                      - cell "寮�鍚�" [ref=e2677]
-                    - row [ref=e2681]:
-                      - cell "顭�" [ref=e2682]
-                      - cell "114" [ref=e2687]
-                      - cell "hrmgr" [ref=e2691]
-                      - cell "hr 灏忓濮�" [ref=e2695]
-                      - cell "15601691236" [ref=e2699]
-                      - cell "寮�鍚�" [ref=e2703]
-                    - row [ref=e2707]:
-                      - cell "顭�" [ref=e2708]
-                      - cell "113" [ref=e2713]
-                      - cell "aoteman" [ref=e2717]
-                      - cell "绠$悊鍛�1" [ref=e2721]
-                      - cell "15601691300" [ref=e2725]
-                      - cell "寮�鍚�" [ref=e2729]
-                    - row [ref=e2733]:
-                      - cell "顭�" [ref=e2734]
-                      - cell "112" [ref=e2739]
-                      - cell "newobject" [ref=e2743]
-                      - cell "鏂板璞�" [ref=e2747]
-                      - cell "15601691235" [ref=e2751]
-                      - cell "寮�鍚�" [ref=e2755]
-                    - row "顭� 111 test 娴嬭瘯鐢ㄦ埛 寮�鍚�" [ref=e2759]:
-                      - cell "顭�" [ref=e2760]
-                      - cell "111" [ref=e2765]
-                      - cell "test" [ref=e2769]
-                      - cell "娴嬭瘯鐢ㄦ埛" [ref=e2773]
-                      - cell [ref=e2777]
-                      - cell "寮�鍚�" [ref=e2781]
-                    - row [ref=e2785]:
-                      - cell "顭�" [ref=e2786]
-                      - cell "1" [ref=e2791]
-                      - cell "admin" [ref=e2795]
-                      - cell "瓒呯骇绠$悊鍛�" [ref=e2799]
-                      - cell "18818260272" [ref=e2803]
-                      - cell "寮�鍚�" [ref=e2807]
-              - generic [ref=e2818]:
-                - generic [ref=e2819]: 鍏� 19 鏉¤褰�
-                - generic [ref=e2821] [cursor=pointer]:
-                  - generic "20鏉�/椤�" [ref=e2822]:
-                    - textbox "璇烽�夋嫨" [ref=e2823]: 20鏉�/椤�
-                  - generic [ref=e2824]: 睿�
-                - button "飱�" [ref=e2827]
-                - button "顧�" [ref=e2829]
-                - button "顫�" [ref=e2831]
-                - button "1" [ref=e2834] [cursor=pointer]
-                - button "顫�" [ref=e2835]
-                - button "顧�" [ref=e2837]
-                - button "顦�" [ref=e2839]
-        - generic [ref=e2841]:
-          - button "鍙� 娑�" [ref=e2842] [cursor=pointer]
-          - button "纭� 瀹�" [ref=e2844] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-13-38-423Z.yml b/.playwright-mcp/page-2026-08-18T08-13-38-423Z.yml
deleted file mode 100644
index b266bc3..0000000
--- a/.playwright-mcp/page-2026-08-18T08-13-38-423Z.yml
+++ /dev/null
@@ -1,275 +0,0 @@
-- generic [ref=e4]:
-  - generic [ref=e7]:
-    - complementary [ref=e8]:
-      - generic [ref=e9]:
-        - generic [ref=e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-          - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=e22]:
-          - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-          - listitem [ref=e30]:
-            - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=e39]:
-            - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=e46]:
-            - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=e53]:
-            - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=e61]:
-            - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=e70]:
-            - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=e78]:
-            - generic [ref=e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=e104] [cursor=pointer]
-          - listitem [ref=e111]:
-            - generic [ref=e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=e118]:
-            - generic [ref=e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=e125]:
-            - generic [ref=e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=e132]:
-            - generic [ref=e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=e139]:
-            - generic [ref=e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=e146]:
-            - generic [ref=e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=e153]:
-            - generic [ref=e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=e160]:
-            - generic [ref=e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=e169] [cursor=pointer]
-    - generic [ref=e174]:
-      - generic [ref=e175]:
-        - banner [ref=e176]:
-          - button [ref=e177] [cursor=pointer]
-          - button [ref=e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=e185]:
-            - list [ref=e186]:
-              - listitem [ref=e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=e192]
-              - listitem [ref=e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=e196]
-          - generic [ref=e201]:
-            - generic [ref=e203] [cursor=pointer]:
-              - generic [ref=e207]: 鎼滅储
-              - generic [ref=e208]: Ctrl K
-            - button [ref=e210] [cursor=pointer]
-            - button "dark" [ref=e215] [cursor=pointer]
-            - button [ref=e224] [cursor=pointer]
-            - button [ref=e230] [cursor=pointer]
-            - button [ref=e233] [cursor=pointer]
-            - button [ref=e239] [cursor=pointer]:
-              - button [ref=e241]
-            - button "宸ヤ綔鍙�" [ref=e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=e250] [cursor=pointer]
-        - generic [ref=e257]:
-          - generic [ref=e262]:
-            - generic [ref=e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=e298]:
-            - button [ref=e299] [cursor=pointer]
-            - generic [ref=e306] [cursor=pointer]
-            - generic [ref=e310] [cursor=pointer]
-      - main [ref=e317]:
-        - generic [ref=e322]:
-          - generic [ref=e327]:
-            - generic [ref=e328]:
-              - generic [ref=e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=e337]:
-              - generic [ref=e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=e345]
-            - generic [ref=e351]:
-              - generic [ref=e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=e360]:
-              - generic [ref=e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=e369]:
-              - generic [ref=e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=e377]
-            - generic [ref=e383]:
-              - generic [ref=e384]: 鎵规鐘舵��
-              - generic [ref=e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=e393]:
-              - generic [ref=e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e403]:
-                  - img "swap-right" [ref=e404]
-                - textbox "缁撴潫鏃堕棿" [ref=e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e409]:
-              - generic [ref=e410]: 鍒涘缓鏃堕棿
-              - generic [ref=e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e419]:
-                  - img "swap-right" [ref=e420]
-                - textbox "缁撴潫鏃堕棿" [ref=e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e425]:
-              - button "閲� 缃�" [ref=e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=e428] [cursor=pointer]
-              - generic [ref=e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=e437]:
-            - generic [ref=e439]:
-              - generic [ref=e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=e444]:
-                - generic [ref=e446]:
-                  - button "鏂板鎵规" [ref=e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=e453] [cursor=pointer]
-                - button "顫�" [ref=e459] [cursor=pointer]
-              - generic [ref=e461]:
-                - button "瞟�" [ref=e462] [cursor=pointer]
-                - button "顪�" [ref=e464] [cursor=pointer]
-                - button "顦�" [ref=e466] [cursor=pointer]
-            - generic [ref=e470]:
-              - generic [ref=e473]:
-                - generic [ref=e474]:
-                  - table [ref=e478]:
-                    - rowgroup [ref=e493]:
-                      - row [ref=e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=e520]
-                        - columnheader "璐d换浜�" [ref=e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=e535]
-                        - columnheader "鎵规鐘舵��" [ref=e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=e545]
-                  - generic [ref=e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=e553]:
-                    - table [ref=e556]:
-                      - rowgroup [ref=e571]:
-                        - row [ref=e572]:
-                          - columnheader "鎵规鍙�" [ref=e573]
-                    - generic [ref=e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=e580]:
-                    - table [ref=e583]:
-                      - rowgroup [ref=e598]:
-                        - row [ref=e599]:
-                          - columnheader "鎿嶄綔" [ref=e600]
-                    - generic [ref=e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=e621]:
-              - generic [ref=e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=e625]:
-                  - textbox "璇烽�夋嫨" [ref=e626]: 20鏉�/椤�
-                - generic [ref=e627]: 睿�
-              - button "飱�" [ref=e630]
-              - button "顧�" [ref=e632]
-              - button "顫�" [ref=e634]
-              - button "1" [ref=e637] [cursor=pointer]
-              - button "顫�" [ref=e638]
-              - button "顧�" [ref=e640]
-              - button "顦�" [ref=e642]
-  - generic [ref=e2847]:
-    - img "exclamation-circle" [ref=e2848]
-    - text: 璇疯嚦灏戦厤缃竴鍚嶇敓浜т汉鍛�
-  - dialog [ref=e645]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=e647]
-    - generic [ref=e649]:
-      - generic [ref=e651]:
-        - generic [ref=e652]:
-          - generic [ref=e653]:
-            - generic [ref=e654]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=e661]: 閾濆悎瀵间綋
-        - generic [ref=e667]:
-          - generic [ref=e668]:
-            - generic [ref=e669]: "*"
-            - text: 浜х嚎
-          - generic [ref=e675]:
-            - combobox "* 浜х嚎" [ref=e677]
-            - generic [ref=e2075]:
-              - generic [ref=e2076]: 浜х嚎浜�
-              - generic [ref=e2077]: two
-        - generic [ref=e678]:
-          - generic [ref=e679]:
-            - generic [ref=e680]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=e686]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=e687]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-              - text: 2026-08-18 08:00:00
-            - generic:
-              - img "calendar"
-            - button [ref=e2082] [cursor=pointer]:
-              - img "close-circle" [ref=e2083]
-        - generic [ref=e688]:
-          - generic [ref=e689]: 璁″垝鏁伴噺
-          - generic [ref=e694]:
-            - generic [ref=e695]:
-              - button "Increase Value" [ref=e696] [cursor=pointer]:
-                - img "up" [ref=e697]
-              - button "Decrease Value" [ref=e700] [cursor=pointer]:
-                - img "down" [ref=e701]
-            - spinbutton "璁″垝鏁伴噺" [ref=e705]: "100.00"
-        - generic [ref=e706]:
-          - generic [ref=e707]:
-            - generic [ref=e708]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=e715]: 瓒呯骇绠$悊鍛�
-        - generic [ref=e721]:
-          - generic [ref=e722]: 澶囨敞
-          - textbox "澶囨敞" [ref=e727]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=e728]:
-        - generic [ref=e729]:
-          - generic [ref=e730]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=e731] [cursor=pointer]
-        - generic [ref=e743]:
-          - table [ref=e747]:
-            - rowgroup [ref=e753]:
-              - row [ref=e754]:
-                - columnheader "鐢熶骇浜哄憳" [ref=e755]
-                - columnheader "宀椾綅绫诲瀷" [ref=e760]
-                - columnheader "澶囨敞" [ref=e765]
-                - columnheader "鎿嶄綔" [ref=e770]
-          - table [ref=e806]:
-            - rowgroup [ref=e812]:
-              - row [ref=e1624]:
-                - cell [ref=e1604]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=e819]: "222"
-                - cell "缁勯暱" [ref=e1625]:
-                  - generic [ref=e829] [cursor=pointer]:
-                    - combobox [ref=e831]
-                    - generic "缁勯暱" [ref=e1623]
-                - cell [ref=e832]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=e835]
-                - cell [ref=e836]:
-                  - button "鍒犻櫎" [ref=e842] [cursor=pointer]
-    - button [ref=e786] [cursor=pointer]
-    - generic [ref=e796]:
-      - button "纭� 璁�" [active] [ref=e797] [cursor=pointer]
-      - button "鍙� 娑�" [ref=e800] [cursor=pointer]
-    - button [ref=e802] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-19-51-138Z.yml b/.playwright-mcp/page-2026-08-18T08-19-51-138Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-18T08-19-51-138Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-21-00-151Z.yml b/.playwright-mcp/page-2026-08-18T08-21-00-151Z.yml
deleted file mode 100644
index 575f5f5..0000000
--- a/.playwright-mcp/page-2026-08-18T08-21-00-151Z.yml
+++ /dev/null
@@ -1,197 +0,0 @@
-- generic [ref=f1e4]:
-  - generic [ref=f1e7]:
-    - complementary [ref=f1e8]:
-      - generic [ref=f1e9]:
-        - generic [ref=f1e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e18]
-          - generic [ref=f1e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=f1e22]:
-          - menuitem "棣栭〉" [ref=f1e23] [cursor=pointer]
-          - listitem [ref=f1e30]:
-            - generic [ref=f1e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f1e39]:
-            - generic [ref=f1e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=f1e46]:
-            - generic [ref=f1e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=f1e53]:
-            - generic [ref=f1e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=f1e61]:
-            - generic [ref=f1e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f1e70]:
-            - generic [ref=f1e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=f1e78]:
-            - generic [ref=f1e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f1e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f1e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f1e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f1e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f1e104] [cursor=pointer]
-          - listitem [ref=f1e111]:
-            - generic [ref=f1e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f1e118]:
-            - generic [ref=f1e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=f1e125]:
-            - generic [ref=f1e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=f1e132]:
-            - generic [ref=f1e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=f1e139]:
-            - generic [ref=f1e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=f1e146]:
-            - generic [ref=f1e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=f1e153]:
-            - generic [ref=f1e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=f1e160]:
-            - generic [ref=f1e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=f1e169] [cursor=pointer]
-    - generic [ref=f1e174]:
-      - generic [ref=f1e175]:
-        - banner [ref=f1e176]:
-          - button [ref=f1e177] [cursor=pointer]
-          - button [ref=f1e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f1e185]:
-            - list [ref=f1e186]:
-              - listitem [ref=f1e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f1e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f1e192]
-              - listitem [ref=f1e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=f1e196]
-          - generic [ref=f1e201]:
-            - generic [ref=f1e203] [cursor=pointer]:
-              - generic [ref=f1e207]: 鎼滅储
-              - generic [ref=f1e208]: Ctrl K
-            - button [ref=f1e210] [cursor=pointer]
-            - button "dark" [ref=f1e215] [cursor=pointer]
-            - button [ref=f1e224] [cursor=pointer]
-            - button [ref=f1e230] [cursor=pointer]
-            - button [ref=f1e233] [cursor=pointer]
-            - button [ref=f1e239] [cursor=pointer]:
-              - button [ref=f1e241]
-            - button "宸ヤ綔鍙�" [ref=f1e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f1e250] [cursor=pointer]
-        - generic [ref=f1e257]:
-          - generic [ref=f1e262]:
-            - generic [ref=f1e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=f1e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=f1e298]:
-            - button [ref=f1e299] [cursor=pointer]
-            - generic [ref=f1e306] [cursor=pointer]
-            - generic [ref=f1e310] [cursor=pointer]
-      - main [ref=f1e317]:
-        - generic [ref=f1e322]:
-          - generic [ref=f1e327]:
-            - generic [ref=f1e328]:
-              - generic [ref=f1e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f1e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f1e337]:
-              - generic [ref=f1e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=f1e345]
-            - generic [ref=f1e351]:
-              - generic [ref=f1e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=f1e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=f1e360]:
-              - generic [ref=f1e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=f1e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=f1e369]:
-              - generic [ref=f1e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e377]
-            - generic [ref=f1e383]:
-              - generic [ref=f1e384]: 鎵规鐘舵��
-              - generic [ref=f1e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=f1e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=f1e393]:
-              - generic [ref=f1e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=f1e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=f1e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e403]:
-                  - img "swap-right" [ref=f1e404]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e409]:
-              - generic [ref=f1e410]: 鍒涘缓鏃堕棿
-              - generic [ref=f1e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f1e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e419]:
-                  - img "swap-right" [ref=f1e420]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e425]:
-              - button "閲� 缃�" [ref=f1e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f1e428] [cursor=pointer]
-              - generic [ref=f1e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f1e437]:
-            - generic [ref=f1e439]:
-              - generic [ref=f1e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=f1e444]:
-                - generic [ref=f1e446]:
-                  - button "鏂板鎵规" [active] [ref=f1e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f1e453] [cursor=pointer]
-                - button "顫�" [ref=f1e459] [cursor=pointer]
-              - generic [ref=f1e461]:
-                - button "瞟�" [ref=f1e462] [cursor=pointer]
-                - button "顪�" [ref=f1e464] [cursor=pointer]
-                - button "顦�" [ref=f1e466] [cursor=pointer]
-            - generic [ref=f1e470]:
-              - generic [ref=f1e473]:
-                - generic [ref=f1e474]:
-                  - table [ref=f1e478]:
-                    - rowgroup [ref=f1e493]:
-                      - row [ref=f1e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=f1e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=f1e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=f1e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=f1e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=f1e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=f1e520]
-                        - columnheader "璐d换浜�" [ref=f1e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=f1e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=f1e535]
-                        - columnheader "鎵规鐘舵��" [ref=f1e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=f1e545]
-                  - generic [ref=f1e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=f1e553]:
-                    - table [ref=f1e556]:
-                      - rowgroup [ref=f1e571]:
-                        - row [ref=f1e572]:
-                          - columnheader "鎵规鍙�" [ref=f1e573]
-                    - generic [ref=f1e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=f1e580]:
-                    - table [ref=f1e583]:
-                      - rowgroup [ref=f1e598]:
-                        - row [ref=f1e599]:
-                          - columnheader "鎿嶄綔" [ref=f1e600]
-                    - generic [ref=f1e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=f1e621]:
-              - generic [ref=f1e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=f1e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f1e625]:
-                  - textbox "璇烽�夋嫨" [ref=f1e626]: 20鏉�/椤�
-                - generic [ref=f1e627]: 睿�
-              - button "飱�" [ref=f1e630]
-              - button "顧�" [ref=f1e632]
-              - button "顫�" [ref=f1e634]
-              - button "1" [ref=f1e637] [cursor=pointer]
-              - button "顫�" [ref=f1e638]
-              - button "顧�" [ref=f1e640]
-              - button "顦�" [ref=f1e642]
-  - generic [ref=f1e885]:
-    - img "exclamation-circle" [ref=f1e886]
-    - text: 璇疯嚦灏戦厤缃竴鍚嶇敓浜т汉鍛�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-21-47-467Z.yml b/.playwright-mcp/page-2026-08-18T08-21-47-467Z.yml
deleted file mode 100644
index 46e6ac0..0000000
--- a/.playwright-mcp/page-2026-08-18T08-21-47-467Z.yml
+++ /dev/null
@@ -1,267 +0,0 @@
-- generic [ref=f1e4]:
-  - generic [ref=f1e7]:
-    - complementary [ref=f1e8]:
-      - generic [ref=f1e9]:
-        - generic [ref=f1e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e18]
-          - generic [ref=f1e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=f1e22]:
-          - menuitem "棣栭〉" [ref=f1e23] [cursor=pointer]
-          - listitem [ref=f1e30]:
-            - generic [ref=f1e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f1e39]:
-            - generic [ref=f1e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=f1e46]:
-            - generic [ref=f1e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=f1e53]:
-            - generic [ref=f1e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=f1e61]:
-            - generic [ref=f1e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f1e70]:
-            - generic [ref=f1e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=f1e78]:
-            - generic [ref=f1e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f1e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f1e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f1e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f1e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f1e104] [cursor=pointer]
-          - listitem [ref=f1e111]:
-            - generic [ref=f1e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f1e118]:
-            - generic [ref=f1e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=f1e125]:
-            - generic [ref=f1e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=f1e132]:
-            - generic [ref=f1e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=f1e139]:
-            - generic [ref=f1e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=f1e146]:
-            - generic [ref=f1e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=f1e153]:
-            - generic [ref=f1e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=f1e160]:
-            - generic [ref=f1e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=f1e169] [cursor=pointer]
-    - generic [ref=f1e174]:
-      - generic [ref=f1e175]:
-        - banner [ref=f1e176]:
-          - button [ref=f1e177] [cursor=pointer]
-          - button [ref=f1e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f1e185]:
-            - list [ref=f1e186]:
-              - listitem [ref=f1e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f1e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f1e192]
-              - listitem [ref=f1e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=f1e196]
-          - generic [ref=f1e201]:
-            - generic [ref=f1e203] [cursor=pointer]:
-              - generic [ref=f1e207]: 鎼滅储
-              - generic [ref=f1e208]: Ctrl K
-            - button [ref=f1e210] [cursor=pointer]
-            - button "dark" [ref=f1e215] [cursor=pointer]
-            - button [ref=f1e224] [cursor=pointer]
-            - button [ref=f1e230] [cursor=pointer]
-            - button [ref=f1e233] [cursor=pointer]
-            - button [ref=f1e239] [cursor=pointer]:
-              - button [ref=f1e241]
-            - button "宸ヤ綔鍙�" [ref=f1e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f1e250] [cursor=pointer]
-        - generic [ref=f1e257]:
-          - generic [ref=f1e262]:
-            - generic [ref=f1e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=f1e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=f1e298]:
-            - button [ref=f1e299] [cursor=pointer]
-            - generic [ref=f1e306] [cursor=pointer]
-            - generic [ref=f1e310] [cursor=pointer]
-      - main [ref=f1e317]:
-        - generic [ref=f1e322]:
-          - generic [ref=f1e327]:
-            - generic [ref=f1e328]:
-              - generic [ref=f1e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f1e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f1e337]:
-              - generic [ref=f1e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=f1e345]
-            - generic [ref=f1e351]:
-              - generic [ref=f1e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=f1e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=f1e360]:
-              - generic [ref=f1e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=f1e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=f1e369]:
-              - generic [ref=f1e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e377]
-            - generic [ref=f1e383]:
-              - generic [ref=f1e384]: 鎵规鐘舵��
-              - generic [ref=f1e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=f1e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=f1e393]:
-              - generic [ref=f1e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=f1e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=f1e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e403]:
-                  - img "swap-right" [ref=f1e404]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e409]:
-              - generic [ref=f1e410]: 鍒涘缓鏃堕棿
-              - generic [ref=f1e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f1e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e419]:
-                  - img "swap-right" [ref=f1e420]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e425]:
-              - button "閲� 缃�" [ref=f1e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f1e428] [cursor=pointer]
-              - generic [ref=f1e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f1e437]:
-            - generic [ref=f1e439]:
-              - generic [ref=f1e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=f1e444]:
-                - generic [ref=f1e446]:
-                  - button "鏂板鎵规" [ref=f1e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f1e453] [cursor=pointer]
-                - button "顫�" [ref=f1e459] [cursor=pointer]
-              - generic [ref=f1e461]:
-                - button "瞟�" [ref=f1e462] [cursor=pointer]
-                - button "顪�" [ref=f1e464] [cursor=pointer]
-                - button "顦�" [ref=f1e466] [cursor=pointer]
-            - generic [ref=f1e470]:
-              - generic [ref=f1e473]:
-                - generic [ref=f1e474]:
-                  - table [ref=f1e478]:
-                    - rowgroup [ref=f1e493]:
-                      - row [ref=f1e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=f1e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=f1e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=f1e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=f1e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=f1e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=f1e520]
-                        - columnheader "璐d换浜�" [ref=f1e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=f1e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=f1e535]
-                        - columnheader "鎵规鐘舵��" [ref=f1e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=f1e545]
-                  - generic [ref=f1e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=f1e553]:
-                    - table [ref=f1e556]:
-                      - rowgroup [ref=f1e571]:
-                        - row [ref=f1e572]:
-                          - columnheader "鎵规鍙�" [ref=f1e573]
-                    - generic [ref=f1e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=f1e580]:
-                    - table [ref=f1e583]:
-                      - rowgroup [ref=f1e598]:
-                        - row [ref=f1e599]:
-                          - columnheader "鎿嶄綔" [ref=f1e600]
-                    - generic [ref=f1e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=f1e621]:
-              - generic [ref=f1e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=f1e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f1e625]:
-                  - textbox "璇烽�夋嫨" [ref=f1e626]: 20鏉�/椤�
-                - generic [ref=f1e627]: 睿�
-              - button "飱�" [ref=f1e630]
-              - button "顧�" [ref=f1e632]
-              - button "顫�" [ref=f1e634]
-              - button "1" [ref=f1e637] [cursor=pointer]
-              - button "顫�" [ref=f1e638]
-              - button "顧�" [ref=f1e640]
-              - button "顦�" [ref=f1e642]
-  - dialog [ref=f1e890]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=f1e892]
-    - generic [ref=f1e894]:
-      - generic [ref=f1e896]:
-        - generic [ref=f1e897]:
-          - generic [ref=f1e898]:
-            - generic [ref=f1e899]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=f1e906]
-        - generic [ref=f1e912]:
-          - generic [ref=f1e913]:
-            - generic [ref=f1e914]: "*"
-            - text: 浜х嚎
-          - generic [ref=f1e920]:
-            - combobox "* 浜х嚎" [ref=f1e922]
-            - generic: 璇烽�夋嫨浜х嚎
-        - generic [ref=f1e923]:
-          - generic [ref=f1e924]:
-            - generic [ref=f1e925]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=f1e931]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=f1e932]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-            - generic:
-              - img "calendar"
-        - generic [ref=f1e933]:
-          - generic [ref=f1e934]: 璁″垝鏁伴噺
-          - generic [ref=f1e939]:
-            - generic [ref=f1e940]:
-              - button "Increase Value" [ref=f1e941] [cursor=pointer]:
-                - img "up" [ref=f1e942]
-              - button "Decrease Value" [ref=f1e945] [cursor=pointer]:
-                - img "down" [ref=f1e946]
-            - spinbutton "璁″垝鏁伴噺" [ref=f1e950]
-        - generic [ref=f1e951]:
-          - generic [ref=f1e952]:
-            - generic [ref=f1e953]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e960]
-        - generic [ref=f1e966]:
-          - generic [ref=f1e967]: 澶囨敞
-          - textbox "澶囨敞" [ref=f1e972]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=f1e973]:
-        - generic [ref=f1e974]:
-          - generic [ref=f1e975]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [active] [ref=f1e976] [cursor=pointer]
-        - generic [ref=f1e988]:
-          - table [ref=f1e992]:
-            - rowgroup [ref=f1e998]:
-              - row [ref=f1e999]:
-                - columnheader "鐢熶骇浜哄憳" [ref=f1e1000]
-                - columnheader "宀椾綅绫诲瀷" [ref=f1e1005]
-                - columnheader "澶囨敞" [ref=f1e1010]
-                - columnheader "鎿嶄綔" [ref=f1e1015]
-          - table [ref=f1e1051]:
-            - rowgroup [ref=f1e1057]:
-              - row [ref=f1e1058]:
-                - cell [ref=f1e1059]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=f1e1064]
-                - cell [ref=f1e1070]:
-                  - generic [ref=f1e1074] [cursor=pointer]:
-                    - combobox [ref=f1e1076]
-                    - generic: 璇烽�夋嫨宀椾綅绫诲瀷
-                - cell [ref=f1e1077]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=f1e1080]
-                - cell [ref=f1e1081]:
-                  - button "鍒犻櫎" [ref=f1e1087] [cursor=pointer]
-    - button [ref=f1e1031] [cursor=pointer]
-    - generic [ref=f1e1041]:
-      - button "纭� 璁�" [ref=f1e1042] [cursor=pointer]
-      - button "鍙� 娑�" [ref=f1e1045] [cursor=pointer]
-    - button [ref=f1e1047] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-22-01-568Z.yml b/.playwright-mcp/page-2026-08-18T08-22-01-568Z.yml
deleted file mode 100644
index 0753b92..0000000
--- a/.playwright-mcp/page-2026-08-18T08-22-01-568Z.yml
+++ /dev/null
@@ -1,399 +0,0 @@
-- generic [ref=f1e4]:
-  - generic [ref=f1e7]:
-    - complementary [ref=f1e8]:
-      - generic [ref=f1e9]:
-        - generic [ref=f1e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e18]
-          - generic [ref=f1e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=f1e22]:
-          - menuitem "棣栭〉" [ref=f1e23] [cursor=pointer]
-          - listitem [ref=f1e30]:
-            - generic [ref=f1e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f1e39]:
-            - generic [ref=f1e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=f1e46]:
-            - generic [ref=f1e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=f1e53]:
-            - generic [ref=f1e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=f1e61]:
-            - generic [ref=f1e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f1e70]:
-            - generic [ref=f1e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=f1e78]:
-            - generic [ref=f1e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f1e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f1e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f1e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f1e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f1e104] [cursor=pointer]
-          - listitem [ref=f1e111]:
-            - generic [ref=f1e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f1e118]:
-            - generic [ref=f1e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=f1e125]:
-            - generic [ref=f1e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=f1e132]:
-            - generic [ref=f1e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=f1e139]:
-            - generic [ref=f1e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=f1e146]:
-            - generic [ref=f1e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=f1e153]:
-            - generic [ref=f1e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=f1e160]:
-            - generic [ref=f1e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=f1e169] [cursor=pointer]
-    - generic [ref=f1e174]:
-      - generic [ref=f1e175]:
-        - banner [ref=f1e176]:
-          - button [ref=f1e177] [cursor=pointer]
-          - button [ref=f1e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f1e185]:
-            - list [ref=f1e186]:
-              - listitem [ref=f1e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f1e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f1e192]
-              - listitem [ref=f1e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=f1e196]
-          - generic [ref=f1e201]:
-            - generic [ref=f1e203] [cursor=pointer]:
-              - generic [ref=f1e207]: 鎼滅储
-              - generic [ref=f1e208]: Ctrl K
-            - button [ref=f1e210] [cursor=pointer]
-            - button "dark" [ref=f1e215] [cursor=pointer]
-            - button [ref=f1e224] [cursor=pointer]
-            - button [ref=f1e230] [cursor=pointer]
-            - button [ref=f1e233] [cursor=pointer]
-            - button [ref=f1e239] [cursor=pointer]:
-              - button [ref=f1e241]
-            - button "宸ヤ綔鍙�" [ref=f1e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f1e250] [cursor=pointer]
-        - generic [ref=f1e257]:
-          - generic [ref=f1e262]:
-            - generic [ref=f1e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=f1e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=f1e298]:
-            - button [ref=f1e299] [cursor=pointer]
-            - generic [ref=f1e306] [cursor=pointer]
-            - generic [ref=f1e310] [cursor=pointer]
-      - main [ref=f1e317]:
-        - generic [ref=f1e322]:
-          - generic [ref=f1e327]:
-            - generic [ref=f1e328]:
-              - generic [ref=f1e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f1e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f1e337]:
-              - generic [ref=f1e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=f1e345]
-            - generic [ref=f1e351]:
-              - generic [ref=f1e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=f1e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=f1e360]:
-              - generic [ref=f1e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=f1e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=f1e369]:
-              - generic [ref=f1e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e377]
-            - generic [ref=f1e383]:
-              - generic [ref=f1e384]: 鎵规鐘舵��
-              - generic [ref=f1e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=f1e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=f1e393]:
-              - generic [ref=f1e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=f1e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=f1e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e403]:
-                  - img "swap-right" [ref=f1e404]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e409]:
-              - generic [ref=f1e410]: 鍒涘缓鏃堕棿
-              - generic [ref=f1e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f1e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e419]:
-                  - img "swap-right" [ref=f1e420]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e425]:
-              - button "閲� 缃�" [ref=f1e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f1e428] [cursor=pointer]
-              - generic [ref=f1e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f1e437]:
-            - generic [ref=f1e439]:
-              - generic [ref=f1e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=f1e444]:
-                - generic [ref=f1e446]:
-                  - button "鏂板鎵规" [ref=f1e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f1e453] [cursor=pointer]
-                - button "顫�" [ref=f1e459] [cursor=pointer]
-              - generic [ref=f1e461]:
-                - button "瞟�" [ref=f1e462] [cursor=pointer]
-                - button "顪�" [ref=f1e464] [cursor=pointer]
-                - button "顦�" [ref=f1e466] [cursor=pointer]
-            - generic [ref=f1e470]:
-              - generic [ref=f1e473]:
-                - generic [ref=f1e474]:
-                  - table [ref=f1e478]:
-                    - rowgroup [ref=f1e493]:
-                      - row [ref=f1e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=f1e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=f1e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=f1e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=f1e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=f1e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=f1e520]
-                        - columnheader "璐d换浜�" [ref=f1e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=f1e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=f1e535]
-                        - columnheader "鎵规鐘舵��" [ref=f1e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=f1e545]
-                  - generic [ref=f1e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=f1e553]:
-                    - table [ref=f1e556]:
-                      - rowgroup [ref=f1e571]:
-                        - row [ref=f1e572]:
-                          - columnheader "鎵规鍙�" [ref=f1e573]
-                    - generic [ref=f1e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=f1e580]:
-                    - table [ref=f1e583]:
-                      - rowgroup [ref=f1e598]:
-                        - row [ref=f1e599]:
-                          - columnheader "鎿嶄綔" [ref=f1e600]
-                    - generic [ref=f1e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=f1e621]:
-              - generic [ref=f1e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=f1e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f1e625]:
-                  - textbox "璇烽�夋嫨" [ref=f1e626]: 20鏉�/椤�
-                - generic [ref=f1e627]: 睿�
-              - button "飱�" [ref=f1e630]
-              - button "顧�" [ref=f1e632]
-              - button "顫�" [ref=f1e634]
-              - button "1" [ref=f1e637] [cursor=pointer]
-              - button "顫�" [ref=f1e638]
-              - button "顧�" [ref=f1e640]
-              - button "顦�" [ref=f1e642]
-  - dialog [ref=f1e890]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=f1e892]
-    - generic [ref=f1e894]:
-      - generic [ref=f1e896]:
-        - generic [ref=f1e897]:
-          - generic [ref=f1e898]:
-            - generic [ref=f1e899]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [active] [ref=f1e906]
-        - generic [ref=f1e912]:
-          - generic [ref=f1e913]:
-            - generic [ref=f1e914]: "*"
-            - text: 浜х嚎
-          - generic [ref=f1e920]:
-            - combobox "* 浜х嚎" [ref=f1e922]
-            - generic: 璇烽�夋嫨浜х嚎
-        - generic [ref=f1e923]:
-          - generic [ref=f1e924]:
-            - generic [ref=f1e925]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=f1e931]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=f1e932]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-            - generic:
-              - img "calendar"
-        - generic [ref=f1e933]:
-          - generic [ref=f1e934]: 璁″垝鏁伴噺
-          - generic [ref=f1e939]:
-            - generic [ref=f1e940]:
-              - button "Increase Value" [ref=f1e941] [cursor=pointer]:
-                - img "up" [ref=f1e942]
-              - button "Decrease Value" [ref=f1e945] [cursor=pointer]:
-                - img "down" [ref=f1e946]
-            - spinbutton "璁″垝鏁伴噺" [ref=f1e950]
-        - generic [ref=f1e951]:
-          - generic [ref=f1e952]:
-            - generic [ref=f1e953]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e960]
-        - generic [ref=f1e966]:
-          - generic [ref=f1e967]: 澶囨敞
-          - textbox "澶囨敞" [ref=f1e972]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=f1e973]:
-        - generic [ref=f1e974]:
-          - generic [ref=f1e975]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=f1e976] [cursor=pointer]
-        - generic [ref=f1e988]:
-          - table [ref=f1e992]:
-            - rowgroup [ref=f1e998]:
-              - row [ref=f1e999]:
-                - columnheader "鐢熶骇浜哄憳" [ref=f1e1000]
-                - columnheader "宀椾綅绫诲瀷" [ref=f1e1005]
-                - columnheader "澶囨敞" [ref=f1e1010]
-                - columnheader "鎿嶄綔" [ref=f1e1015]
-          - table [ref=f1e1051]:
-            - rowgroup [ref=f1e1057]:
-              - row [ref=f1e1058]:
-                - cell [ref=f1e1059]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=f1e1064]
-                - cell [ref=f1e1070]:
-                  - generic [ref=f1e1074] [cursor=pointer]:
-                    - combobox [ref=f1e1076]
-                    - generic: 璇烽�夋嫨宀椾綅绫诲瀷
-                - cell [ref=f1e1077]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=f1e1080]
-                - cell [ref=f1e1081]:
-                  - button "鍒犻櫎" [ref=f1e1087] [cursor=pointer]
-    - button [ref=f1e1031] [cursor=pointer]
-    - generic [ref=f1e1041]:
-      - button "纭� 璁�" [ref=f1e1042] [cursor=pointer]
-      - button "鍙� 娑�" [ref=f1e1045] [cursor=pointer]
-    - button [ref=f1e1047] [cursor=pointer]
-  - dialog "鐗╂枡浜у搧閫夋嫨" [ref=f1e1090]:
-    - document:
-      - generic [ref=f1e1091]:
-        - button "Close" [ref=f1e1092] [cursor=pointer]:
-          - img "close" [ref=f1e1094]
-        - generic [ref=f1e1097]: 鐗╂枡浜у搧閫夋嫨
-        - generic [ref=f1e1100]:
-          - generic [ref=f1e1103]:
-            - textbox "鎼滅储鍒嗙被" [ref=f1e1110]
-            - tree [ref=f1e1114]:
-              - generic:
-                - textbox "for screen reader"
-              - generic [ref=f1e1118]:
-                - generic "鍘熸潗鏂�" [ref=f1e1121] [cursor=pointer]
-                - generic "鍗婃垚鍝�" [ref=f1e1124] [cursor=pointer]
-                - generic [ref=f1e1125]:
-                  - img "caret-down" [ref=f1e1127] [cursor=pointer]
-                  - generic "鎴愬搧" [ref=f1e1130] [cursor=pointer]
-                - generic [ref=f1e1131]:
-                  - img "caret-down" [ref=f1e1134] [cursor=pointer]
-                  - generic "1" [ref=f1e1137] [cursor=pointer]
-                - generic [ref=f1e1138]:
-                  - img "caret-down" [ref=f1e1141] [cursor=pointer]
-                  - generic "2" [ref=f1e1144] [cursor=pointer]
-                - generic "33" [ref=f1e1148] [cursor=pointer]
-                - generic "杈呮枡" [ref=f1e1151] [cursor=pointer]
-          - generic [ref=f1e1154]:
-            - generic [ref=f1e1159]:
-              - generic [ref=f1e1160]:
-                - generic [ref=f1e1161]: 鐗╂枡缂栫爜
-                - textbox "鐗╂枡缂栫爜" [ref=f1e1167]:
-                  - /placeholder: 璇疯緭鍏ョ墿鏂欑紪鐮�
-              - generic [ref=f1e1169]:
-                - generic [ref=f1e1170]: 鐗╂枡鍚嶇О
-                - textbox "鐗╂枡鍚嶇О" [ref=f1e1176]:
-                  - /placeholder: 璇疯緭鍏ョ墿鏂欏悕绉�
-              - generic [ref=f1e1178]:
-                - button "閲� 缃�" [ref=f1e1179] [cursor=pointer]
-                - button "鎼� 绱�" [ref=f1e1181] [cursor=pointer]
-                - generic [ref=f1e1183] [cursor=pointer]: 鏀惰捣
-            - generic [ref=f1e1190]:
-              - generic [ref=f1e1192]:
-                - generic [ref=f1e1193]: 鐗╂枡浜у搧鍒楄〃
-                - button "顫�" [ref=f1e1198] [cursor=pointer]
-                - generic [ref=f1e1200]:
-                  - button "瞟�" [ref=f1e1201] [cursor=pointer]
-                  - button "顪�" [ref=f1e1203] [cursor=pointer]
-                  - button "顦�" [ref=f1e1205] [cursor=pointer]
-              - generic [ref=f1e1213]:
-                - table [ref=f1e1217]:
-                  - rowgroup [ref=f1e1227]:
-                    - row "鐗╂枡缂栫爜 鐗╂枡鍚嶇О 瑙勬牸鍨嬪彿 鍗曚綅 鐗╂枡/浜у搧 鎵�灞炲垎绫� 鍒涘缓鏃堕棿" [ref=f1e1228]:
-                      - columnheader [ref=f1e1229]
-                      - columnheader "鐗╂枡缂栫爜" [ref=f1e1232]
-                      - columnheader "鐗╂枡鍚嶇О" [ref=f1e1237]
-                      - columnheader "瑙勬牸鍨嬪彿" [ref=f1e1242]
-                      - columnheader "鍗曚綅" [ref=f1e1247]
-                      - columnheader "鐗╂枡/浜у搧" [ref=f1e1252]
-                      - columnheader "鎵�灞炲垎绫�" [ref=f1e1257]
-                      - columnheader "鍒涘缓鏃堕棿" [ref=f1e1262]
-                - table [ref=f1e1270]:
-                  - rowgroup [ref=f1e1280]:
-                    - row [ref=f1e1281]:
-                      - cell "顭�" [ref=f1e1282]
-                      - cell "ITEM_20260729001" [ref=f1e1287]
-                      - cell "閾濆悎瀵间綋" [ref=f1e1291]
-                      - cell "LH8030JY-10" [ref=f1e1295]
-                      - cell "鍗冪背" [ref=f1e1299]
-                      - cell "鐗╂枡" [ref=f1e1303]
-                      - cell "33" [ref=f1e1307]
-                      - cell "2026-07-29 14:19:03" [ref=f1e1311]
-                    - row [ref=f1e1315]:
-                      - cell "顭�" [ref=f1e1316]
-                      - cell "ITEM_20260720001" [ref=f1e1321]
-                      - cell "闇�瑕佺敓浜х殑鎴愬搧11" [ref=f1e1325]
-                      - cell "涓�" [ref=f1e1329]
-                      - cell "鍗冨厠" [ref=f1e1333]
-                      - cell "浜у搧" [ref=f1e1337]
-                      - cell "鎴愬搧" [ref=f1e1341]
-                      - cell "2026-07-20 09:17:13" [ref=f1e1345]
-                    - row [ref=f1e1349]:
-                      - cell "顭�" [ref=f1e1350]
-                      - cell "ITEM_20260716008" [ref=f1e1355]
-                      - cell "闀�閿岄挗绾�" [ref=f1e1359]
-                      - cell "JG3A-1*1.5" [ref=f1e1363]
-                      - cell "鍗冨厠" [ref=f1e1367]
-                      - cell "鐗╂枡" [ref=f1e1371]
-                      - cell "鍘熸潗鏂�" [ref=f1e1375]
-                      - cell "2026-07-16 16:51:57" [ref=f1e1379]
-                    - row [ref=f1e1383]:
-                      - cell "顭�" [ref=f1e1384]
-                      - cell "ITEM_20260716006" [ref=f1e1389]
-                      - cell "閽㈣姱閾濈粸绾�" [ref=f1e1393]
-                      - cell "JL/L1-40/10-6/1" [ref=f1e1397]
-                      - cell "鍗冨厠" [ref=f1e1401]
-                      - cell "浜у搧" [ref=f1e1405]
-                      - cell "鎴愬搧" [ref=f1e1409]
-                      - cell "2026-07-16 16:48:49" [ref=f1e1413]
-                    - row [ref=f1e1417]:
-                      - cell "顭�" [ref=f1e1418]
-                      - cell "ITEM_20260716005" [ref=f1e1423]
-                      - cell "閾濆崟绾�" [ref=f1e1427]
-                      - cell "L-1.72" [ref=f1e1431]
-                      - cell "鍗冨厠" [ref=f1e1435]
-                      - cell "鐗╂枡" [ref=f1e1439]
-                      - cell "鍗婃垚鍝�" [ref=f1e1443]
-                      - cell "2026-07-16 16:48:03" [ref=f1e1447]
-                    - row [ref=f1e1451]:
-                      - cell "顭�" [ref=f1e1452]
-                      - cell "ITEM_20260716004" [ref=f1e1457]
-                      - cell "閾濇潌" [ref=f1e1461]
-                      - cell "1A60" [ref=f1e1465]
-                      - cell "鍗冨厠" [ref=f1e1469]
-                      - cell "鐗╂枡" [ref=f1e1473]
-                      - cell "鍘熸潗鏂�" [ref=f1e1477]
-                      - cell "2026-07-16 16:45:13" [ref=f1e1481]
-              - generic [ref=f1e1491]:
-                - generic [ref=f1e1492]: 鍏� 6 鏉¤褰�
-                - generic [ref=f1e1494] [cursor=pointer]:
-                  - generic "20鏉�/椤�" [ref=f1e1495]:
-                    - textbox "璇烽�夋嫨" [ref=f1e1496]: 20鏉�/椤�
-                  - generic [ref=f1e1497]: 睿�
-                - button "飱�" [ref=f1e1500]
-                - button "顧�" [ref=f1e1502]
-                - button "顫�" [ref=f1e1504]
-                - button "1" [ref=f1e1507] [cursor=pointer]
-                - button "顫�" [ref=f1e1508]
-                - button "顧�" [ref=f1e1510]
-                - button "顦�" [ref=f1e1512]
-        - generic [ref=f1e1514]:
-          - button "鍙� 娑�" [ref=f1e1515] [cursor=pointer]
-          - button "纭� 瀹�" [ref=f1e1517] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-23-09-413Z.yml b/.playwright-mcp/page-2026-08-18T08-23-09-413Z.yml
deleted file mode 100644
index 0cbd147..0000000
--- a/.playwright-mcp/page-2026-08-18T08-23-09-413Z.yml
+++ /dev/null
@@ -1,399 +0,0 @@
-- generic [ref=f1e4]:
-  - generic [ref=f1e7]:
-    - complementary [ref=f1e8]:
-      - generic [ref=f1e9]:
-        - generic [ref=f1e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e18]
-          - generic [ref=f1e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=f1e22]:
-          - menuitem "棣栭〉" [ref=f1e23] [cursor=pointer]
-          - listitem [ref=f1e30]:
-            - generic [ref=f1e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f1e39]:
-            - generic [ref=f1e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=f1e46]:
-            - generic [ref=f1e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=f1e53]:
-            - generic [ref=f1e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=f1e61]:
-            - generic [ref=f1e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f1e70]:
-            - generic [ref=f1e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=f1e78]:
-            - generic [ref=f1e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f1e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f1e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f1e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f1e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f1e104] [cursor=pointer]
-          - listitem [ref=f1e111]:
-            - generic [ref=f1e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f1e118]:
-            - generic [ref=f1e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=f1e125]:
-            - generic [ref=f1e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=f1e132]:
-            - generic [ref=f1e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=f1e139]:
-            - generic [ref=f1e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=f1e146]:
-            - generic [ref=f1e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=f1e153]:
-            - generic [ref=f1e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=f1e160]:
-            - generic [ref=f1e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=f1e169] [cursor=pointer]
-    - generic [ref=f1e174]:
-      - generic [ref=f1e175]:
-        - banner [ref=f1e176]:
-          - button [ref=f1e177] [cursor=pointer]
-          - button [ref=f1e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f1e185]:
-            - list [ref=f1e186]:
-              - listitem [ref=f1e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f1e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f1e192]
-              - listitem [ref=f1e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=f1e196]
-          - generic [ref=f1e201]:
-            - generic [ref=f1e203] [cursor=pointer]:
-              - generic [ref=f1e207]: 鎼滅储
-              - generic [ref=f1e208]: Ctrl K
-            - button [ref=f1e210] [cursor=pointer]
-            - button "dark" [ref=f1e215] [cursor=pointer]
-            - button [ref=f1e224] [cursor=pointer]
-            - button [ref=f1e230] [cursor=pointer]
-            - button [ref=f1e233] [cursor=pointer]
-            - button [ref=f1e239] [cursor=pointer]:
-              - button [ref=f1e241]
-            - button "宸ヤ綔鍙�" [ref=f1e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f1e250] [cursor=pointer]
-        - generic [ref=f1e257]:
-          - generic [ref=f1e262]:
-            - generic [ref=f1e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=f1e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=f1e298]:
-            - button [ref=f1e299] [cursor=pointer]
-            - generic [ref=f1e306] [cursor=pointer]
-            - generic [ref=f1e310] [cursor=pointer]
-      - main [ref=f1e317]:
-        - generic [ref=f1e322]:
-          - generic [ref=f1e327]:
-            - generic [ref=f1e328]:
-              - generic [ref=f1e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f1e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f1e337]:
-              - generic [ref=f1e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=f1e345]
-            - generic [ref=f1e351]:
-              - generic [ref=f1e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=f1e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=f1e360]:
-              - generic [ref=f1e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=f1e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=f1e369]:
-              - generic [ref=f1e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e377]
-            - generic [ref=f1e383]:
-              - generic [ref=f1e384]: 鎵规鐘舵��
-              - generic [ref=f1e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=f1e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=f1e393]:
-              - generic [ref=f1e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=f1e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=f1e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e403]:
-                  - img "swap-right" [ref=f1e404]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e409]:
-              - generic [ref=f1e410]: 鍒涘缓鏃堕棿
-              - generic [ref=f1e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f1e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e419]:
-                  - img "swap-right" [ref=f1e420]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e425]:
-              - button "閲� 缃�" [ref=f1e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f1e428] [cursor=pointer]
-              - generic [ref=f1e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f1e437]:
-            - generic [ref=f1e439]:
-              - generic [ref=f1e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=f1e444]:
-                - generic [ref=f1e446]:
-                  - button "鏂板鎵规" [ref=f1e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f1e453] [cursor=pointer]
-                - button "顫�" [ref=f1e459] [cursor=pointer]
-              - generic [ref=f1e461]:
-                - button "瞟�" [ref=f1e462] [cursor=pointer]
-                - button "顪�" [ref=f1e464] [cursor=pointer]
-                - button "顦�" [ref=f1e466] [cursor=pointer]
-            - generic [ref=f1e470]:
-              - generic [ref=f1e473]:
-                - generic [ref=f1e474]:
-                  - table [ref=f1e478]:
-                    - rowgroup [ref=f1e493]:
-                      - row [ref=f1e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=f1e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=f1e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=f1e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=f1e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=f1e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=f1e520]
-                        - columnheader "璐d换浜�" [ref=f1e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=f1e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=f1e535]
-                        - columnheader "鎵规鐘舵��" [ref=f1e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=f1e545]
-                  - generic [ref=f1e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=f1e553]:
-                    - table [ref=f1e556]:
-                      - rowgroup [ref=f1e571]:
-                        - row [ref=f1e572]:
-                          - columnheader "鎵规鍙�" [ref=f1e573]
-                    - generic [ref=f1e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=f1e580]:
-                    - table [ref=f1e583]:
-                      - rowgroup [ref=f1e598]:
-                        - row [ref=f1e599]:
-                          - columnheader "鎿嶄綔" [ref=f1e600]
-                    - generic [ref=f1e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=f1e621]:
-              - generic [ref=f1e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=f1e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f1e625]:
-                  - textbox "璇烽�夋嫨" [ref=f1e626]: 20鏉�/椤�
-                - generic [ref=f1e627]: 睿�
-              - button "飱�" [ref=f1e630]
-              - button "顧�" [ref=f1e632]
-              - button "顫�" [ref=f1e634]
-              - button "1" [ref=f1e637] [cursor=pointer]
-              - button "顫�" [ref=f1e638]
-              - button "顧�" [ref=f1e640]
-              - button "顦�" [ref=f1e642]
-  - dialog [ref=f1e890]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=f1e892]
-    - generic [ref=f1e894]:
-      - generic [ref=f1e896]:
-        - generic [ref=f1e897]:
-          - generic [ref=f1e898]:
-            - generic [ref=f1e899]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=f1e906]
-        - generic [ref=f1e912]:
-          - generic [ref=f1e913]:
-            - generic [ref=f1e914]: "*"
-            - text: 浜х嚎
-          - generic [ref=f1e920]:
-            - combobox "* 浜х嚎" [ref=f1e922]
-            - generic: 璇烽�夋嫨浜х嚎
-        - generic [ref=f1e923]:
-          - generic [ref=f1e924]:
-            - generic [ref=f1e925]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=f1e931]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=f1e932]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-            - generic:
-              - img "calendar"
-        - generic [ref=f1e933]:
-          - generic [ref=f1e934]: 璁″垝鏁伴噺
-          - generic [ref=f1e939]:
-            - generic [ref=f1e940]:
-              - button "Increase Value" [ref=f1e941] [cursor=pointer]:
-                - img "up" [ref=f1e942]
-              - button "Decrease Value" [ref=f1e945] [cursor=pointer]:
-                - img "down" [ref=f1e946]
-            - spinbutton "璁″垝鏁伴噺" [ref=f1e950]
-        - generic [ref=f1e951]:
-          - generic [ref=f1e952]:
-            - generic [ref=f1e953]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e960]
-        - generic [ref=f1e966]:
-          - generic [ref=f1e967]: 澶囨敞
-          - textbox "澶囨敞" [ref=f1e972]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=f1e973]:
-        - generic [ref=f1e974]:
-          - generic [ref=f1e975]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=f1e976] [cursor=pointer]
-        - generic [ref=f1e988]:
-          - table [ref=f1e992]:
-            - rowgroup [ref=f1e998]:
-              - row [ref=f1e999]:
-                - columnheader "鐢熶骇浜哄憳" [ref=f1e1000]
-                - columnheader "宀椾綅绫诲瀷" [ref=f1e1005]
-                - columnheader "澶囨敞" [ref=f1e1010]
-                - columnheader "鎿嶄綔" [ref=f1e1015]
-          - table [ref=f1e1051]:
-            - rowgroup [ref=f1e1057]:
-              - row [ref=f1e1058]:
-                - cell [ref=f1e1059]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=f1e1064]
-                - cell [ref=f1e1070]:
-                  - generic [ref=f1e1074] [cursor=pointer]:
-                    - combobox [ref=f1e1076]
-                    - generic: 璇烽�夋嫨宀椾綅绫诲瀷
-                - cell [ref=f1e1077]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=f1e1080]
-                - cell [ref=f1e1081]:
-                  - button "鍒犻櫎" [ref=f1e1087] [cursor=pointer]
-    - button [ref=f1e1031] [cursor=pointer]
-    - generic [ref=f1e1041]:
-      - button "纭� 璁�" [ref=f1e1042] [cursor=pointer]
-      - button "鍙� 娑�" [ref=f1e1045] [cursor=pointer]
-    - button [ref=f1e1047] [cursor=pointer]
-  - dialog "鐗╂枡浜у搧閫夋嫨" [ref=f1e1090]:
-    - document:
-      - generic [ref=f1e1091]:
-        - button "Close" [ref=f1e1092] [cursor=pointer]:
-          - img "close" [ref=f1e1094]
-        - generic [ref=f1e1097]: 鐗╂枡浜у搧閫夋嫨
-        - generic [ref=f1e1100]:
-          - generic [ref=f1e1103]:
-            - textbox "鎼滅储鍒嗙被" [ref=f1e1110]
-            - tree [ref=f1e1114]:
-              - generic:
-                - textbox "for screen reader"
-              - generic [ref=f1e1118]:
-                - generic "鍘熸潗鏂�" [ref=f1e1121] [cursor=pointer]
-                - generic "鍗婃垚鍝�" [ref=f1e1124] [cursor=pointer]
-                - generic [ref=f1e1125]:
-                  - img "caret-down" [ref=f1e1127] [cursor=pointer]
-                  - generic "鎴愬搧" [ref=f1e1130] [cursor=pointer]
-                - generic [ref=f1e1131]:
-                  - img "caret-down" [ref=f1e1134] [cursor=pointer]
-                  - generic "1" [ref=f1e1137] [cursor=pointer]
-                - generic [ref=f1e1138]:
-                  - img "caret-down" [ref=f1e1141] [cursor=pointer]
-                  - generic "2" [ref=f1e1144] [cursor=pointer]
-                - generic "33" [ref=f1e1148] [cursor=pointer]
-                - generic "杈呮枡" [ref=f1e1151] [cursor=pointer]
-          - generic [ref=f1e1154]:
-            - generic [ref=f1e1159]:
-              - generic [ref=f1e1160]:
-                - generic [ref=f1e1161]: 鐗╂枡缂栫爜
-                - textbox "鐗╂枡缂栫爜" [ref=f1e1167]:
-                  - /placeholder: 璇疯緭鍏ョ墿鏂欑紪鐮�
-              - generic [ref=f1e1169]:
-                - generic [ref=f1e1170]: 鐗╂枡鍚嶇О
-                - textbox "鐗╂枡鍚嶇О" [ref=f1e1176]:
-                  - /placeholder: 璇疯緭鍏ョ墿鏂欏悕绉�
-              - generic [ref=f1e1178]:
-                - button "閲� 缃�" [ref=f1e1179] [cursor=pointer]
-                - button "鎼� 绱�" [ref=f1e1181] [cursor=pointer]
-                - generic [ref=f1e1183] [cursor=pointer]: 鏀惰捣
-            - generic [ref=f1e1190]:
-              - generic [ref=f1e1192]:
-                - generic [ref=f1e1193]: 鐗╂枡浜у搧鍒楄〃
-                - button "顫�" [ref=f1e1198] [cursor=pointer]
-                - generic [ref=f1e1200]:
-                  - button "瞟�" [ref=f1e1201] [cursor=pointer]
-                  - button "顪�" [ref=f1e1203] [cursor=pointer]
-                  - button "顦�" [ref=f1e1205] [cursor=pointer]
-              - generic [ref=f1e1213]:
-                - table [ref=f1e1217]:
-                  - rowgroup [ref=f1e1227]:
-                    - row "鐗╂枡缂栫爜 鐗╂枡鍚嶇О 瑙勬牸鍨嬪彿 鍗曚綅 鐗╂枡/浜у搧 鎵�灞炲垎绫� 鍒涘缓鏃堕棿" [ref=f1e1228]:
-                      - columnheader [ref=f1e1229]
-                      - columnheader "鐗╂枡缂栫爜" [ref=f1e1232]
-                      - columnheader "鐗╂枡鍚嶇О" [ref=f1e1237]
-                      - columnheader "瑙勬牸鍨嬪彿" [ref=f1e1242]
-                      - columnheader "鍗曚綅" [ref=f1e1247]
-                      - columnheader "鐗╂枡/浜у搧" [ref=f1e1252]
-                      - columnheader "鎵�灞炲垎绫�" [ref=f1e1257]
-                      - columnheader "鍒涘缓鏃堕棿" [ref=f1e1262]
-                - table [ref=f1e1270]:
-                  - rowgroup [ref=f1e1280]:
-                    - row [ref=f1e1281]:
-                      - cell "顭�" [ref=f1e1282]
-                      - cell "ITEM_20260729001" [ref=f1e1287]
-                      - cell "閾濆悎瀵间綋" [ref=f1e1291]
-                      - cell "LH8030JY-10" [ref=f1e1295]
-                      - cell "鍗冪背" [ref=f1e1299]
-                      - cell "鐗╂枡" [ref=f1e1303]
-                      - cell "33" [ref=f1e1307]
-                      - cell "2026-07-29 14:19:03" [ref=f1e1311]
-                    - row [ref=f1e1315]:
-                      - cell "顭�" [ref=f1e1316]
-                      - cell "ITEM_20260720001" [ref=f1e1321]
-                      - cell "闇�瑕佺敓浜х殑鎴愬搧11" [ref=f1e1325]
-                      - cell "涓�" [ref=f1e1329]
-                      - cell "鍗冨厠" [ref=f1e1333]
-                      - cell "浜у搧" [ref=f1e1337]
-                      - cell "鎴愬搧" [ref=f1e1341]
-                      - cell "2026-07-20 09:17:13" [ref=f1e1345]
-                    - row [ref=f1e1349]:
-                      - cell "顭�" [ref=f1e1350]
-                      - cell "ITEM_20260716008" [ref=f1e1355]
-                      - cell "闀�閿岄挗绾�" [ref=f1e1359]
-                      - cell "JG3A-1*1.5" [ref=f1e1363]
-                      - cell "鍗冨厠" [ref=f1e1367]
-                      - cell "鐗╂枡" [ref=f1e1371]
-                      - cell "鍘熸潗鏂�" [ref=f1e1375]
-                      - cell "2026-07-16 16:51:57" [ref=f1e1379]
-                    - row [ref=f1e1519]:
-                      - cell "顫�" [ref=f1e1520]
-                      - cell "ITEM_20260716006" [ref=f1e1389]
-                      - cell "閽㈣姱閾濈粸绾�" [ref=f1e1393]
-                      - cell "JL/L1-40/10-6/1" [ref=f1e1397]
-                      - cell "鍗冨厠" [ref=f1e1401]
-                      - cell "浜у搧" [ref=f1e1405]
-                      - cell "鎴愬搧" [ref=f1e1409]
-                      - cell "2026-07-16 16:48:49" [ref=f1e1413]
-                    - row [ref=f1e1417]:
-                      - cell "顭�" [ref=f1e1418]
-                      - cell "ITEM_20260716005" [ref=f1e1423]
-                      - cell "閾濆崟绾�" [ref=f1e1427]
-                      - cell "L-1.72" [ref=f1e1431]
-                      - cell "鍗冨厠" [ref=f1e1435]
-                      - cell "鐗╂枡" [ref=f1e1439]
-                      - cell "鍗婃垚鍝�" [ref=f1e1443]
-                      - cell "2026-07-16 16:48:03" [ref=f1e1447]
-                    - row [ref=f1e1451]:
-                      - cell "顭�" [ref=f1e1452]
-                      - cell "ITEM_20260716004" [ref=f1e1457]
-                      - cell "閾濇潌" [ref=f1e1461]
-                      - cell "1A60" [ref=f1e1465]
-                      - cell "鍗冨厠" [ref=f1e1469]
-                      - cell "鐗╂枡" [ref=f1e1473]
-                      - cell "鍘熸潗鏂�" [ref=f1e1477]
-                      - cell "2026-07-16 16:45:13" [ref=f1e1481]
-              - generic [ref=f1e1491]:
-                - generic [ref=f1e1492]: 鍏� 6 鏉¤褰�
-                - generic [ref=f1e1494] [cursor=pointer]:
-                  - generic "20鏉�/椤�" [ref=f1e1495]:
-                    - textbox "璇烽�夋嫨" [ref=f1e1496]: 20鏉�/椤�
-                  - generic [ref=f1e1497]: 睿�
-                - button "飱�" [ref=f1e1500]
-                - button "顧�" [ref=f1e1502]
-                - button "顫�" [ref=f1e1504]
-                - button "1" [ref=f1e1507] [cursor=pointer]
-                - button "顫�" [ref=f1e1508]
-                - button "顧�" [ref=f1e1510]
-                - button "顦�" [ref=f1e1512]
-        - generic [ref=f1e1514]:
-          - button "鍙� 娑�" [ref=f1e1515] [cursor=pointer]
-          - button "纭� 瀹�" [ref=f1e1517] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-23-20-161Z.yml b/.playwright-mcp/page-2026-08-18T08-23-20-161Z.yml
deleted file mode 100644
index 68e5fbb..0000000
--- a/.playwright-mcp/page-2026-08-18T08-23-20-161Z.yml
+++ /dev/null
@@ -1,451 +0,0 @@
-- generic [ref=f1e4]:
-  - generic [ref=f1e7]:
-    - complementary [ref=f1e8]:
-      - generic [ref=f1e9]:
-        - generic [ref=f1e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e18]
-          - generic [ref=f1e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=f1e22]:
-          - menuitem "棣栭〉" [ref=f1e23] [cursor=pointer]
-          - listitem [ref=f1e30]:
-            - generic [ref=f1e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f1e39]:
-            - generic [ref=f1e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=f1e46]:
-            - generic [ref=f1e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=f1e53]:
-            - generic [ref=f1e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=f1e61]:
-            - generic [ref=f1e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f1e70]:
-            - generic [ref=f1e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=f1e78]:
-            - generic [ref=f1e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f1e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f1e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f1e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f1e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f1e104] [cursor=pointer]
-          - listitem [ref=f1e111]:
-            - generic [ref=f1e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f1e118]:
-            - generic [ref=f1e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=f1e125]:
-            - generic [ref=f1e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=f1e132]:
-            - generic [ref=f1e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=f1e139]:
-            - generic [ref=f1e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=f1e146]:
-            - generic [ref=f1e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=f1e153]:
-            - generic [ref=f1e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=f1e160]:
-            - generic [ref=f1e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=f1e169] [cursor=pointer]
-    - generic [ref=f1e174]:
-      - generic [ref=f1e175]:
-        - banner [ref=f1e176]:
-          - button [ref=f1e177] [cursor=pointer]
-          - button [ref=f1e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f1e185]:
-            - list [ref=f1e186]:
-              - listitem [ref=f1e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f1e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f1e192]
-              - listitem [ref=f1e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=f1e196]
-          - generic [ref=f1e201]:
-            - generic [ref=f1e203] [cursor=pointer]:
-              - generic [ref=f1e207]: 鎼滅储
-              - generic [ref=f1e208]: Ctrl K
-            - button [ref=f1e210] [cursor=pointer]
-            - button "dark" [ref=f1e215] [cursor=pointer]
-            - button [ref=f1e224] [cursor=pointer]
-            - button [ref=f1e230] [cursor=pointer]
-            - button [ref=f1e233] [cursor=pointer]
-            - button [ref=f1e239] [cursor=pointer]:
-              - button [ref=f1e241]
-            - button "宸ヤ綔鍙�" [ref=f1e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f1e250] [cursor=pointer]
-        - generic [ref=f1e257]:
-          - generic [ref=f1e262]:
-            - generic [ref=f1e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=f1e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=f1e298]:
-            - button [ref=f1e299] [cursor=pointer]
-            - generic [ref=f1e306] [cursor=pointer]
-            - generic [ref=f1e310] [cursor=pointer]
-      - main [ref=f1e317]:
-        - generic [ref=f1e322]:
-          - generic [ref=f1e327]:
-            - generic [ref=f1e328]:
-              - generic [ref=f1e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f1e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f1e337]:
-              - generic [ref=f1e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=f1e345]
-            - generic [ref=f1e351]:
-              - generic [ref=f1e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=f1e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=f1e360]:
-              - generic [ref=f1e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=f1e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=f1e369]:
-              - generic [ref=f1e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e377]
-            - generic [ref=f1e383]:
-              - generic [ref=f1e384]: 鎵规鐘舵��
-              - generic [ref=f1e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=f1e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=f1e393]:
-              - generic [ref=f1e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=f1e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=f1e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e403]:
-                  - img "swap-right" [ref=f1e404]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e409]:
-              - generic [ref=f1e410]: 鍒涘缓鏃堕棿
-              - generic [ref=f1e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f1e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e419]:
-                  - img "swap-right" [ref=f1e420]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e425]:
-              - button "閲� 缃�" [ref=f1e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f1e428] [cursor=pointer]
-              - generic [ref=f1e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f1e437]:
-            - generic [ref=f1e439]:
-              - generic [ref=f1e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=f1e444]:
-                - generic [ref=f1e446]:
-                  - button "鏂板鎵规" [ref=f1e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f1e453] [cursor=pointer]
-                - button "顫�" [ref=f1e459] [cursor=pointer]
-              - generic [ref=f1e461]:
-                - button "瞟�" [ref=f1e462] [cursor=pointer]
-                - button "顪�" [ref=f1e464] [cursor=pointer]
-                - button "顦�" [ref=f1e466] [cursor=pointer]
-            - generic [ref=f1e470]:
-              - generic [ref=f1e473]:
-                - generic [ref=f1e474]:
-                  - table [ref=f1e478]:
-                    - rowgroup [ref=f1e493]:
-                      - row [ref=f1e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=f1e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=f1e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=f1e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=f1e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=f1e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=f1e520]
-                        - columnheader "璐d换浜�" [ref=f1e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=f1e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=f1e535]
-                        - columnheader "鎵规鐘舵��" [ref=f1e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=f1e545]
-                  - generic [ref=f1e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=f1e553]:
-                    - table [ref=f1e556]:
-                      - rowgroup [ref=f1e571]:
-                        - row [ref=f1e572]:
-                          - columnheader "鎵规鍙�" [ref=f1e573]
-                    - generic [ref=f1e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=f1e580]:
-                    - table [ref=f1e583]:
-                      - rowgroup [ref=f1e598]:
-                        - row [ref=f1e599]:
-                          - columnheader "鎿嶄綔" [ref=f1e600]
-                    - generic [ref=f1e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=f1e621]:
-              - generic [ref=f1e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=f1e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f1e625]:
-                  - textbox "璇烽�夋嫨" [ref=f1e626]: 20鏉�/椤�
-                - generic [ref=f1e627]: 睿�
-              - button "飱�" [ref=f1e630]
-              - button "顧�" [ref=f1e632]
-              - button "顫�" [ref=f1e634]
-              - button "1" [ref=f1e637] [cursor=pointer]
-              - button "顫�" [ref=f1e638]
-              - button "顧�" [ref=f1e640]
-              - button "顦�" [ref=f1e642]
-  - dialog [ref=f1e890]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=f1e892]
-    - generic [ref=f1e894]:
-      - generic [ref=f1e896]:
-        - generic [ref=f1e897]:
-          - generic [ref=f1e898]:
-            - generic [ref=f1e899]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=f1e906]: 閽㈣姱閾濈粸绾�
-        - generic [ref=f1e912]:
-          - generic [ref=f1e913]:
-            - generic [ref=f1e914]: "*"
-            - text: 浜х嚎
-          - generic [ref=f1e920]:
-            - combobox "* 浜х嚎" [ref=f1e922]
-            - generic: 璇烽�夋嫨浜х嚎
-        - generic [ref=f1e923]:
-          - generic [ref=f1e924]:
-            - generic [ref=f1e925]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=f1e931]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=f1e932]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-            - generic:
-              - img "calendar"
-        - generic [ref=f1e933]:
-          - generic [ref=f1e934]: 璁″垝鏁伴噺
-          - generic [ref=f1e939]:
-            - generic [ref=f1e940]:
-              - button "Increase Value" [ref=f1e941] [cursor=pointer]:
-                - img "up" [ref=f1e942]
-              - button "Decrease Value" [ref=f1e945] [cursor=pointer]:
-                - img "down" [ref=f1e946]
-            - spinbutton "璁″垝鏁伴噺" [ref=f1e950]
-        - generic [ref=f1e951]:
-          - generic [ref=f1e952]:
-            - generic [ref=f1e953]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e960]
-        - generic [ref=f1e966]:
-          - generic [ref=f1e967]: 澶囨敞
-          - textbox "澶囨敞" [ref=f1e972]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=f1e973]:
-        - generic [ref=f1e974]:
-          - generic [ref=f1e975]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=f1e976] [cursor=pointer]
-        - generic [ref=f1e988]:
-          - table [ref=f1e992]:
-            - rowgroup [ref=f1e998]:
-              - row [ref=f1e999]:
-                - columnheader "鐢熶骇浜哄憳" [ref=f1e1000]
-                - columnheader "宀椾綅绫诲瀷" [ref=f1e1005]
-                - columnheader "澶囨敞" [ref=f1e1010]
-                - columnheader "鎿嶄綔" [ref=f1e1015]
-          - table [ref=f1e1051]:
-            - rowgroup [ref=f1e1057]:
-              - row [ref=f1e1058]:
-                - cell [ref=f1e1059]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=f1e1064]
-                - cell [ref=f1e1070]:
-                  - generic [ref=f1e1074] [cursor=pointer]:
-                    - combobox [ref=f1e1076]
-                    - generic: 璇烽�夋嫨宀椾綅绫诲瀷
-                - cell [ref=f1e1077]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=f1e1080]
-                - cell [ref=f1e1081]:
-                  - button "鍒犻櫎" [ref=f1e1087] [cursor=pointer]
-    - button [ref=f1e1031] [cursor=pointer]
-    - generic [ref=f1e1041]:
-      - button "纭� 璁�" [ref=f1e1042] [cursor=pointer]
-      - button "鍙� 娑�" [ref=f1e1045] [cursor=pointer]
-    - button [ref=f1e1047] [cursor=pointer]
-  - dialog "鐗╂枡浜у搧閫夋嫨" [ref=f1e1090]:
-    - document:
-      - generic:
-        - generic:
-          - button "Close":
-            - generic:
-              - img "close"
-          - generic: 鐗╂枡浜у搧閫夋嫨
-          - generic:
-            - generic:
-              - generic:
-                - generic:
-                  - generic:
-                    - generic:
-                      - textbox "鎼滅储鍒嗙被"
-                    - generic:
-                      - generic:
-                        - tree:
-                          - generic:
-                            - textbox "for screen reader"
-                          - generic:
-                            - generic:
-                              - generic:
-                                - generic:
-                                  - generic:
-                                    - generic "鍘熸潗鏂�"
-                                  - generic:
-                                    - generic "鍗婃垚鍝�"
-                                  - generic:
-                                    - generic:
-                                      - img "caret-down"
-                                    - generic "鎴愬搧"
-                                  - generic:
-                                    - generic:
-                                      - img "caret-down"
-                                    - generic "1"
-                                  - generic:
-                                    - generic:
-                                      - img "caret-down"
-                                    - generic "2"
-                                  - generic:
-                                    - generic "33"
-                                  - generic:
-                                    - generic "杈呮枡"
-              - generic:
-                - generic:
-                  - generic:
-                    - generic:
-                      - generic:
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic:
-                                - generic: 鐗╂枡缂栫爜
-                                - generic:
-                                  - generic:
-                                    - generic:
-                                      - generic:
-                                        - generic:
-                                          - textbox "鐗╂枡缂栫爜":
-                                            - /placeholder: 璇疯緭鍏ョ墿鏂欑紪鐮�
-                              - generic:
-                                - generic: 鐗╂枡鍚嶇О
-                                - generic:
-                                  - generic:
-                                    - generic:
-                                      - generic:
-                                        - generic:
-                                          - textbox "鐗╂枡鍚嶇О":
-                                            - /placeholder: 璇疯緭鍏ョ墿鏂欏悕绉�
-                              - generic:
-                                - button "閲� 缃�"
-                                - button "鎼� 绱�"
-                                - generic: 鏀惰捣
-                    - generic:
-                      - generic:
-                        - generic:
-                          - generic:
-                            - generic: 鐗╂枡浜у搧鍒楄〃
-                            - generic:
-                              - generic:
-                                - button "顫�"
-                            - generic:
-                              - button "瞟�"
-                              - button "顪�"
-                              - button "顦�"
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic:
-                                - generic:
-                                  - generic:
-                                    - generic:
-                                      - generic:
-                                        - generic:
-                                          - table:
-                                            - rowgroup:
-                                              - row "鐗╂枡缂栫爜 鐗╂枡鍚嶇О 瑙勬牸鍨嬪彿 鍗曚綅 鐗╂枡/浜у搧 鎵�灞炲垎绫� 鍒涘缓鏃堕棿":
-                                                - columnheader
-                                                - columnheader "鐗╂枡缂栫爜"
-                                                - columnheader "鐗╂枡鍚嶇О"
-                                                - columnheader "瑙勬牸鍨嬪彿"
-                                                - columnheader "鍗曚綅"
-                                                - columnheader "鐗╂枡/浜у搧"
-                                                - columnheader "鎵�灞炲垎绫�"
-                                                - columnheader "鍒涘缓鏃堕棿"
-                                      - generic:
-                                        - generic:
-                                          - table:
-                                            - rowgroup:
-                                              - row "顭� ITEM_20260729001 閾濆悎瀵间綋 LH8030JY-10 鍗冪背 鐗╂枡 33 2026-07-29 14:19:03":
-                                                - cell "顭�"
-                                                - cell "ITEM_20260729001"
-                                                - cell "閾濆悎瀵间綋"
-                                                - cell "LH8030JY-10"
-                                                - cell "鍗冪背"
-                                                - cell "鐗╂枡"
-                                                - cell "33"
-                                                - cell "2026-07-29 14:19:03"
-                                              - row "顭� ITEM_20260720001 闇�瑕佺敓浜х殑鎴愬搧11 涓� 鍗冨厠 浜у搧 鎴愬搧 2026-07-20 09:17:13":
-                                                - cell "顭�"
-                                                - cell "ITEM_20260720001"
-                                                - cell "闇�瑕佺敓浜х殑鎴愬搧11"
-                                                - cell "涓�"
-                                                - cell "鍗冨厠"
-                                                - cell "浜у搧"
-                                                - cell "鎴愬搧"
-                                                - cell "2026-07-20 09:17:13"
-                                              - row "顭� ITEM_20260716008 闀�閿岄挗绾� JG3A-1*1.5 鍗冨厠 鐗╂枡 鍘熸潗鏂� 2026-07-16 16:51:57":
-                                                - cell "顭�"
-                                                - cell "ITEM_20260716008"
-                                                - cell "闀�閿岄挗绾�"
-                                                - cell "JG3A-1*1.5"
-                                                - cell "鍗冨厠"
-                                                - cell "鐗╂枡"
-                                                - cell "鍘熸潗鏂�"
-                                                - cell "2026-07-16 16:51:57"
-                                              - row "顫� ITEM_20260716006 閽㈣姱閾濈粸绾� JL/L1-40/10-6/1 鍗冨厠 浜у搧 鎴愬搧 2026-07-16 16:48:49":
-                                                - cell "顫�"
-                                                - cell "ITEM_20260716006"
-                                                - cell "閽㈣姱閾濈粸绾�"
-                                                - cell "JL/L1-40/10-6/1"
-                                                - cell "鍗冨厠"
-                                                - cell "浜у搧"
-                                                - cell "鎴愬搧"
-                                                - cell "2026-07-16 16:48:49"
-                                              - row "顭� ITEM_20260716005 閾濆崟绾� L-1.72 鍗冨厠 鐗╂枡 鍗婃垚鍝� 2026-07-16 16:48:03":
-                                                - cell "顭�"
-                                                - cell "ITEM_20260716005"
-                                                - cell "閾濆崟绾�"
-                                                - cell "L-1.72"
-                                                - cell "鍗冨厠"
-                                                - cell "鐗╂枡"
-                                                - cell "鍗婃垚鍝�"
-                                                - cell "2026-07-16 16:48:03"
-                                              - row "顭� ITEM_20260716004 閾濇潌 1A60 鍗冨厠 鐗╂枡 鍘熸潗鏂� 2026-07-16 16:45:13":
-                                                - cell "顭�"
-                                                - cell "ITEM_20260716004"
-                                                - cell "閾濇潌"
-                                                - cell "1A60"
-                                                - cell "鍗冨厠"
-                                                - cell "鐗╂枡"
-                                                - cell "鍘熸潗鏂�"
-                                                - cell "2026-07-16 16:45:13"
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic: 鍏� 6 鏉¤褰�
-                              - generic:
-                                - generic:
-                                  - generic "20鏉�/椤�":
-                                    - textbox "璇烽�夋嫨": 20鏉�/椤�
-                                  - generic: 睿�
-                              - button "飱�"
-                              - button "顧�"
-                              - button "顫�"
-                              - generic:
-                                - button "1"
-                              - button "顫�"
-                              - button "顧�"
-                              - button "顦�"
-          - generic:
-            - button "鍙� 娑�"
-            - button "纭� 瀹�" [active]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-23-34-308Z.yml b/.playwright-mcp/page-2026-08-18T08-23-34-308Z.yml
deleted file mode 100644
index c6db8d7..0000000
--- a/.playwright-mcp/page-2026-08-18T08-23-34-308Z.yml
+++ /dev/null
@@ -1,288 +0,0 @@
-- generic [ref=f1e4]:
-  - generic [ref=f1e7]:
-    - complementary [ref=f1e8]:
-      - generic [ref=f1e9]:
-        - generic [ref=f1e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e18]
-          - generic [ref=f1e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=f1e22]:
-          - menuitem "棣栭〉" [ref=f1e23] [cursor=pointer]
-          - listitem [ref=f1e30]:
-            - generic [ref=f1e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f1e39]:
-            - generic [ref=f1e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=f1e46]:
-            - generic [ref=f1e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=f1e53]:
-            - generic [ref=f1e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=f1e61]:
-            - generic [ref=f1e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f1e70]:
-            - generic [ref=f1e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=f1e78]:
-            - generic [ref=f1e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f1e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f1e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f1e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f1e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f1e104] [cursor=pointer]
-          - listitem [ref=f1e111]:
-            - generic [ref=f1e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f1e118]:
-            - generic [ref=f1e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=f1e125]:
-            - generic [ref=f1e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=f1e132]:
-            - generic [ref=f1e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=f1e139]:
-            - generic [ref=f1e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=f1e146]:
-            - generic [ref=f1e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=f1e153]:
-            - generic [ref=f1e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=f1e160]:
-            - generic [ref=f1e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=f1e169] [cursor=pointer]
-    - generic [ref=f1e174]:
-      - generic [ref=f1e175]:
-        - banner [ref=f1e176]:
-          - button [ref=f1e177] [cursor=pointer]
-          - button [ref=f1e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f1e185]:
-            - list [ref=f1e186]:
-              - listitem [ref=f1e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f1e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f1e192]
-              - listitem [ref=f1e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=f1e196]
-          - generic [ref=f1e201]:
-            - generic [ref=f1e203] [cursor=pointer]:
-              - generic [ref=f1e207]: 鎼滅储
-              - generic [ref=f1e208]: Ctrl K
-            - button [ref=f1e210] [cursor=pointer]
-            - button "dark" [ref=f1e215] [cursor=pointer]
-            - button [ref=f1e224] [cursor=pointer]
-            - button [ref=f1e230] [cursor=pointer]
-            - button [ref=f1e233] [cursor=pointer]
-            - button [ref=f1e239] [cursor=pointer]:
-              - button [ref=f1e241]
-            - button "宸ヤ綔鍙�" [ref=f1e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f1e250] [cursor=pointer]
-        - generic [ref=f1e257]:
-          - generic [ref=f1e262]:
-            - generic [ref=f1e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=f1e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=f1e298]:
-            - button [ref=f1e299] [cursor=pointer]
-            - generic [ref=f1e306] [cursor=pointer]
-            - generic [ref=f1e310] [cursor=pointer]
-      - main [ref=f1e317]:
-        - generic [ref=f1e322]:
-          - generic [ref=f1e327]:
-            - generic [ref=f1e328]:
-              - generic [ref=f1e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f1e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f1e337]:
-              - generic [ref=f1e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=f1e345]
-            - generic [ref=f1e351]:
-              - generic [ref=f1e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=f1e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=f1e360]:
-              - generic [ref=f1e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=f1e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=f1e369]:
-              - generic [ref=f1e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e377]
-            - generic [ref=f1e383]:
-              - generic [ref=f1e384]: 鎵规鐘舵��
-              - generic [ref=f1e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=f1e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=f1e393]:
-              - generic [ref=f1e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=f1e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=f1e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e403]:
-                  - img "swap-right" [ref=f1e404]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e409]:
-              - generic [ref=f1e410]: 鍒涘缓鏃堕棿
-              - generic [ref=f1e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f1e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e419]:
-                  - img "swap-right" [ref=f1e420]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e425]:
-              - button "閲� 缃�" [ref=f1e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f1e428] [cursor=pointer]
-              - generic [ref=f1e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f1e437]:
-            - generic [ref=f1e439]:
-              - generic [ref=f1e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=f1e444]:
-                - generic [ref=f1e446]:
-                  - button "鏂板鎵规" [ref=f1e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f1e453] [cursor=pointer]
-                - button "顫�" [ref=f1e459] [cursor=pointer]
-              - generic [ref=f1e461]:
-                - button "瞟�" [ref=f1e462] [cursor=pointer]
-                - button "顪�" [ref=f1e464] [cursor=pointer]
-                - button "顦�" [ref=f1e466] [cursor=pointer]
-            - generic [ref=f1e470]:
-              - generic [ref=f1e473]:
-                - generic [ref=f1e474]:
-                  - table [ref=f1e478]:
-                    - rowgroup [ref=f1e493]:
-                      - row [ref=f1e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=f1e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=f1e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=f1e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=f1e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=f1e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=f1e520]
-                        - columnheader "璐d换浜�" [ref=f1e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=f1e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=f1e535]
-                        - columnheader "鎵规鐘舵��" [ref=f1e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=f1e545]
-                  - generic [ref=f1e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=f1e553]:
-                    - table [ref=f1e556]:
-                      - rowgroup [ref=f1e571]:
-                        - row [ref=f1e572]:
-                          - columnheader "鎵规鍙�" [ref=f1e573]
-                    - generic [ref=f1e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=f1e580]:
-                    - table [ref=f1e583]:
-                      - rowgroup [ref=f1e598]:
-                        - row [ref=f1e599]:
-                          - columnheader "鎿嶄綔" [ref=f1e600]
-                    - generic [ref=f1e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=f1e621]:
-              - generic [ref=f1e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=f1e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f1e625]:
-                  - textbox "璇烽�夋嫨" [ref=f1e626]: 20鏉�/椤�
-                - generic [ref=f1e627]: 睿�
-              - button "飱�" [ref=f1e630]
-              - button "顧�" [ref=f1e632]
-              - button "顫�" [ref=f1e634]
-              - button "1" [ref=f1e637] [cursor=pointer]
-              - button "顫�" [ref=f1e638]
-              - button "顧�" [ref=f1e640]
-              - button "顦�" [ref=f1e642]
-  - dialog [ref=f1e890]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=f1e892]
-    - generic [ref=f1e894]:
-      - generic [ref=f1e896]:
-        - generic [ref=f1e897]:
-          - generic [ref=f1e898]:
-            - generic [ref=f1e899]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=f1e906]: 閽㈣姱閾濈粸绾�
-        - generic [ref=f1e912]:
-          - generic [ref=f1e913]:
-            - generic [ref=f1e914]: "*"
-            - text: 浜х嚎
-          - generic [ref=f1e920]:
-            - combobox "* 浜х嚎" [expanded] [active] [ref=f1e922]:
-              - listbox:
-                - option "1"
-                - option "2"
-            - generic: 璇烽�夋嫨浜х嚎
-        - generic [ref=f1e923]:
-          - generic [ref=f1e924]:
-            - generic [ref=f1e925]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=f1e931]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=f1e932]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-            - generic:
-              - img "calendar"
-        - generic [ref=f1e933]:
-          - generic [ref=f1e934]: 璁″垝鏁伴噺
-          - generic [ref=f1e939]:
-            - generic [ref=f1e940]:
-              - button "Increase Value" [ref=f1e941] [cursor=pointer]:
-                - img "up" [ref=f1e942]
-              - button "Decrease Value" [ref=f1e945] [cursor=pointer]:
-                - img "down" [ref=f1e946]
-            - spinbutton "璁″垝鏁伴噺" [ref=f1e950]
-        - generic [ref=f1e951]:
-          - generic [ref=f1e952]:
-            - generic [ref=f1e953]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e960]
-        - generic [ref=f1e966]:
-          - generic [ref=f1e967]: 澶囨敞
-          - textbox "澶囨敞" [ref=f1e972]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=f1e973]:
-        - generic [ref=f1e974]:
-          - generic [ref=f1e975]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=f1e976] [cursor=pointer]
-        - generic [ref=f1e988]:
-          - table [ref=f1e992]:
-            - rowgroup [ref=f1e998]:
-              - row [ref=f1e999]:
-                - columnheader "鐢熶骇浜哄憳" [ref=f1e1000]
-                - columnheader "宀椾綅绫诲瀷" [ref=f1e1005]
-                - columnheader "澶囨敞" [ref=f1e1010]
-                - columnheader "鎿嶄綔" [ref=f1e1015]
-          - table [ref=f1e1051]:
-            - rowgroup [ref=f1e1057]:
-              - row [ref=f1e1058]:
-                - cell [ref=f1e1059]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=f1e1064]
-                - cell [ref=f1e1070]:
-                  - generic [ref=f1e1074] [cursor=pointer]:
-                    - combobox [ref=f1e1076]
-                    - generic: 璇烽�夋嫨宀椾綅绫诲瀷
-                - cell [ref=f1e1077]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=f1e1080]
-                - cell [ref=f1e1081]:
-                  - button "鍒犻櫎" [ref=f1e1087] [cursor=pointer]
-    - button [ref=f1e1031] [cursor=pointer]
-    - generic [ref=f1e1041]:
-      - button "纭� 璁�" [ref=f1e1042] [cursor=pointer]
-      - button "鍙� 娑�" [ref=f1e1045] [cursor=pointer]
-    - button [ref=f1e1047] [cursor=pointer]
-  - generic:
-    - generic:
-      - generic:
-        - generic:
-          - generic:
-            - generic:
-              - generic:
-                - generic:
-                  - generic:
-                    - generic:
-                      - generic:
-                        - generic: 浜х嚎涓�
-                        - generic: one
-                  - generic:
-                    - generic:
-                      - generic:
-                        - generic: 浜х嚎浜�
-                        - generic: two
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-23-42-579Z.yml b/.playwright-mcp/page-2026-08-18T08-23-42-579Z.yml
deleted file mode 100644
index 65817e8..0000000
--- a/.playwright-mcp/page-2026-08-18T08-23-42-579Z.yml
+++ /dev/null
@@ -1,292 +0,0 @@
-- generic [ref=f1e4]:
-  - generic [ref=f1e7]:
-    - complementary [ref=f1e8]:
-      - generic [ref=f1e9]:
-        - generic [ref=f1e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e18]
-          - generic [ref=f1e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=f1e22]:
-          - menuitem "棣栭〉" [ref=f1e23] [cursor=pointer]
-          - listitem [ref=f1e30]:
-            - generic [ref=f1e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f1e39]:
-            - generic [ref=f1e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=f1e46]:
-            - generic [ref=f1e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=f1e53]:
-            - generic [ref=f1e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=f1e61]:
-            - generic [ref=f1e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f1e70]:
-            - generic [ref=f1e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=f1e78]:
-            - generic [ref=f1e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f1e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f1e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f1e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f1e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f1e104] [cursor=pointer]
-          - listitem [ref=f1e111]:
-            - generic [ref=f1e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f1e118]:
-            - generic [ref=f1e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=f1e125]:
-            - generic [ref=f1e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=f1e132]:
-            - generic [ref=f1e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=f1e139]:
-            - generic [ref=f1e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=f1e146]:
-            - generic [ref=f1e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=f1e153]:
-            - generic [ref=f1e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=f1e160]:
-            - generic [ref=f1e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=f1e169] [cursor=pointer]
-    - generic [ref=f1e174]:
-      - generic [ref=f1e175]:
-        - banner [ref=f1e176]:
-          - button [ref=f1e177] [cursor=pointer]
-          - button [ref=f1e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f1e185]:
-            - list [ref=f1e186]:
-              - listitem [ref=f1e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f1e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f1e192]
-              - listitem [ref=f1e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=f1e196]
-          - generic [ref=f1e201]:
-            - generic [ref=f1e203] [cursor=pointer]:
-              - generic [ref=f1e207]: 鎼滅储
-              - generic [ref=f1e208]: Ctrl K
-            - button [ref=f1e210] [cursor=pointer]
-            - button "dark" [ref=f1e215] [cursor=pointer]
-            - button [ref=f1e224] [cursor=pointer]
-            - button [ref=f1e230] [cursor=pointer]
-            - button [ref=f1e233] [cursor=pointer]
-            - button [ref=f1e239] [cursor=pointer]:
-              - button [ref=f1e241]
-            - button "宸ヤ綔鍙�" [ref=f1e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f1e250] [cursor=pointer]
-        - generic [ref=f1e257]:
-          - generic [ref=f1e262]:
-            - generic [ref=f1e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=f1e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=f1e298]:
-            - button [ref=f1e299] [cursor=pointer]
-            - generic [ref=f1e306] [cursor=pointer]
-            - generic [ref=f1e310] [cursor=pointer]
-      - main [ref=f1e317]:
-        - generic [ref=f1e322]:
-          - generic [ref=f1e327]:
-            - generic [ref=f1e328]:
-              - generic [ref=f1e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f1e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f1e337]:
-              - generic [ref=f1e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=f1e345]
-            - generic [ref=f1e351]:
-              - generic [ref=f1e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=f1e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=f1e360]:
-              - generic [ref=f1e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=f1e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=f1e369]:
-              - generic [ref=f1e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e377]
-            - generic [ref=f1e383]:
-              - generic [ref=f1e384]: 鎵规鐘舵��
-              - generic [ref=f1e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=f1e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=f1e393]:
-              - generic [ref=f1e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=f1e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=f1e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e403]:
-                  - img "swap-right" [ref=f1e404]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e409]:
-              - generic [ref=f1e410]: 鍒涘缓鏃堕棿
-              - generic [ref=f1e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f1e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e419]:
-                  - img "swap-right" [ref=f1e420]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e425]:
-              - button "閲� 缃�" [ref=f1e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f1e428] [cursor=pointer]
-              - generic [ref=f1e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f1e437]:
-            - generic [ref=f1e439]:
-              - generic [ref=f1e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=f1e444]:
-                - generic [ref=f1e446]:
-                  - button "鏂板鎵规" [ref=f1e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f1e453] [cursor=pointer]
-                - button "顫�" [ref=f1e459] [cursor=pointer]
-              - generic [ref=f1e461]:
-                - button "瞟�" [ref=f1e462] [cursor=pointer]
-                - button "顪�" [ref=f1e464] [cursor=pointer]
-                - button "顦�" [ref=f1e466] [cursor=pointer]
-            - generic [ref=f1e470]:
-              - generic [ref=f1e473]:
-                - generic [ref=f1e474]:
-                  - table [ref=f1e478]:
-                    - rowgroup [ref=f1e493]:
-                      - row [ref=f1e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=f1e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=f1e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=f1e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=f1e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=f1e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=f1e520]
-                        - columnheader "璐d换浜�" [ref=f1e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=f1e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=f1e535]
-                        - columnheader "鎵规鐘舵��" [ref=f1e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=f1e545]
-                  - generic [ref=f1e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=f1e553]:
-                    - table [ref=f1e556]:
-                      - rowgroup [ref=f1e571]:
-                        - row [ref=f1e572]:
-                          - columnheader "鎵规鍙�" [ref=f1e573]
-                    - generic [ref=f1e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=f1e580]:
-                    - table [ref=f1e583]:
-                      - rowgroup [ref=f1e598]:
-                        - row [ref=f1e599]:
-                          - columnheader "鎿嶄綔" [ref=f1e600]
-                    - generic [ref=f1e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=f1e621]:
-              - generic [ref=f1e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=f1e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f1e625]:
-                  - textbox "璇烽�夋嫨" [ref=f1e626]: 20鏉�/椤�
-                - generic [ref=f1e627]: 睿�
-              - button "飱�" [ref=f1e630]
-              - button "顧�" [ref=f1e632]
-              - button "顫�" [ref=f1e634]
-              - button "1" [ref=f1e637] [cursor=pointer]
-              - button "顫�" [ref=f1e638]
-              - button "顧�" [ref=f1e640]
-              - button "顦�" [ref=f1e642]
-  - dialog [ref=f1e890]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=f1e892]
-    - generic [ref=f1e894]:
-      - generic [ref=f1e896]:
-        - generic [ref=f1e897]:
-          - generic [ref=f1e898]:
-            - generic [ref=f1e899]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=f1e906]: 閽㈣姱閾濈粸绾�
-        - generic [ref=f1e912]:
-          - generic [ref=f1e913]:
-            - generic [ref=f1e914]: "*"
-            - text: 浜х嚎
-          - generic [ref=f1e919] [cursor=pointer]:
-            - generic: "2"
-            - generic [ref=f1e920]:
-              - combobox "* 浜х嚎" [active] [ref=f1e922]:
-                - listbox:
-                  - option "1"
-                  - option "2" [selected]
-              - generic [ref=f1e1522]:
-                - generic [ref=f1e1523]: 浜х嚎浜�
-                - generic [ref=f1e1524]: two
-        - generic [ref=f1e923]:
-          - generic [ref=f1e924]:
-            - generic [ref=f1e925]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=f1e931]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=f1e932]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-            - generic:
-              - img "calendar"
-        - generic [ref=f1e933]:
-          - generic [ref=f1e934]: 璁″垝鏁伴噺
-          - generic [ref=f1e939]:
-            - generic [ref=f1e940]:
-              - button "Increase Value" [ref=f1e941] [cursor=pointer]:
-                - img "up" [ref=f1e942]
-              - button "Decrease Value" [ref=f1e945] [cursor=pointer]:
-                - img "down" [ref=f1e946]
-            - spinbutton "璁″垝鏁伴噺" [ref=f1e950]
-        - generic [ref=f1e951]:
-          - generic [ref=f1e952]:
-            - generic [ref=f1e953]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e960]
-        - generic [ref=f1e966]:
-          - generic [ref=f1e967]: 澶囨敞
-          - textbox "澶囨敞" [ref=f1e972]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=f1e973]:
-        - generic [ref=f1e974]:
-          - generic [ref=f1e975]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=f1e976] [cursor=pointer]
-        - generic [ref=f1e988]:
-          - table [ref=f1e992]:
-            - rowgroup [ref=f1e998]:
-              - row [ref=f1e999]:
-                - columnheader "鐢熶骇浜哄憳" [ref=f1e1000]
-                - columnheader "宀椾綅绫诲瀷" [ref=f1e1005]
-                - columnheader "澶囨敞" [ref=f1e1010]
-                - columnheader "鎿嶄綔" [ref=f1e1015]
-          - table [ref=f1e1051]:
-            - rowgroup [ref=f1e1057]:
-              - row [ref=f1e1058]:
-                - cell [ref=f1e1059]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=f1e1064]
-                - cell [ref=f1e1070]:
-                  - generic [ref=f1e1074] [cursor=pointer]:
-                    - combobox [ref=f1e1076]
-                    - generic: 璇烽�夋嫨宀椾綅绫诲瀷
-                - cell [ref=f1e1077]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=f1e1080]
-                - cell [ref=f1e1081]:
-                  - button "鍒犻櫎" [ref=f1e1087] [cursor=pointer]
-    - button [ref=f1e1031] [cursor=pointer]
-    - generic [ref=f1e1041]:
-      - button "纭� 璁�" [ref=f1e1042] [cursor=pointer]
-      - button "鍙� 娑�" [ref=f1e1045] [cursor=pointer]
-    - button [ref=f1e1047] [cursor=pointer]
-  - generic:
-    - generic:
-      - generic:
-        - generic:
-          - generic:
-            - generic:
-              - generic:
-                - generic:
-                  - generic:
-                    - generic:
-                      - generic:
-                        - generic: 浜х嚎涓�
-                        - generic: one
-                  - generic:
-                    - generic:
-                      - generic:
-                        - generic: 浜х嚎浜�
-                        - generic: two
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-23-57-412Z.yml b/.playwright-mcp/page-2026-08-18T08-23-57-412Z.yml
deleted file mode 100644
index 5598bd6..0000000
--- a/.playwright-mcp/page-2026-08-18T08-23-57-412Z.yml
+++ /dev/null
@@ -1,643 +0,0 @@
-- generic [ref=f1e4]:
-  - generic [ref=f1e7]:
-    - complementary [ref=f1e8]:
-      - generic [ref=f1e9]:
-        - generic [ref=f1e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e18]
-          - generic [ref=f1e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=f1e22]:
-          - menuitem "棣栭〉" [ref=f1e23] [cursor=pointer]
-          - listitem [ref=f1e30]:
-            - generic [ref=f1e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f1e39]:
-            - generic [ref=f1e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=f1e46]:
-            - generic [ref=f1e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=f1e53]:
-            - generic [ref=f1e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=f1e61]:
-            - generic [ref=f1e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f1e70]:
-            - generic [ref=f1e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=f1e78]:
-            - generic [ref=f1e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f1e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f1e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f1e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f1e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f1e104] [cursor=pointer]
-          - listitem [ref=f1e111]:
-            - generic [ref=f1e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f1e118]:
-            - generic [ref=f1e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=f1e125]:
-            - generic [ref=f1e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=f1e132]:
-            - generic [ref=f1e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=f1e139]:
-            - generic [ref=f1e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=f1e146]:
-            - generic [ref=f1e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=f1e153]:
-            - generic [ref=f1e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=f1e160]:
-            - generic [ref=f1e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=f1e169] [cursor=pointer]
-    - generic [ref=f1e174]:
-      - generic [ref=f1e175]:
-        - banner [ref=f1e176]:
-          - button [ref=f1e177] [cursor=pointer]
-          - button [ref=f1e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f1e185]:
-            - list [ref=f1e186]:
-              - listitem [ref=f1e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f1e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f1e192]
-              - listitem [ref=f1e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=f1e196]
-          - generic [ref=f1e201]:
-            - generic [ref=f1e203] [cursor=pointer]:
-              - generic [ref=f1e207]: 鎼滅储
-              - generic [ref=f1e208]: Ctrl K
-            - button [ref=f1e210] [cursor=pointer]
-            - button "dark" [ref=f1e215] [cursor=pointer]
-            - button [ref=f1e224] [cursor=pointer]
-            - button [ref=f1e230] [cursor=pointer]
-            - button [ref=f1e233] [cursor=pointer]
-            - button [ref=f1e239] [cursor=pointer]:
-              - button [ref=f1e241]
-            - button "宸ヤ綔鍙�" [ref=f1e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f1e250] [cursor=pointer]
-        - generic [ref=f1e257]:
-          - generic [ref=f1e262]:
-            - generic [ref=f1e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=f1e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=f1e298]:
-            - button [ref=f1e299] [cursor=pointer]
-            - generic [ref=f1e306] [cursor=pointer]
-            - generic [ref=f1e310] [cursor=pointer]
-      - main [ref=f1e317]:
-        - generic [ref=f1e322]:
-          - generic [ref=f1e327]:
-            - generic [ref=f1e328]:
-              - generic [ref=f1e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f1e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f1e337]:
-              - generic [ref=f1e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=f1e345]
-            - generic [ref=f1e351]:
-              - generic [ref=f1e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=f1e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=f1e360]:
-              - generic [ref=f1e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=f1e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=f1e369]:
-              - generic [ref=f1e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e377]
-            - generic [ref=f1e383]:
-              - generic [ref=f1e384]: 鎵规鐘舵��
-              - generic [ref=f1e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=f1e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=f1e393]:
-              - generic [ref=f1e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=f1e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=f1e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e403]:
-                  - img "swap-right" [ref=f1e404]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e409]:
-              - generic [ref=f1e410]: 鍒涘缓鏃堕棿
-              - generic [ref=f1e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f1e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e419]:
-                  - img "swap-right" [ref=f1e420]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e425]:
-              - button "閲� 缃�" [ref=f1e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f1e428] [cursor=pointer]
-              - generic [ref=f1e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f1e437]:
-            - generic [ref=f1e439]:
-              - generic [ref=f1e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=f1e444]:
-                - generic [ref=f1e446]:
-                  - button "鏂板鎵规" [ref=f1e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f1e453] [cursor=pointer]
-                - button "顫�" [ref=f1e459] [cursor=pointer]
-              - generic [ref=f1e461]:
-                - button "瞟�" [ref=f1e462] [cursor=pointer]
-                - button "顪�" [ref=f1e464] [cursor=pointer]
-                - button "顦�" [ref=f1e466] [cursor=pointer]
-            - generic [ref=f1e470]:
-              - generic [ref=f1e473]:
-                - generic [ref=f1e474]:
-                  - table [ref=f1e478]:
-                    - rowgroup [ref=f1e493]:
-                      - row [ref=f1e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=f1e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=f1e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=f1e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=f1e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=f1e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=f1e520]
-                        - columnheader "璐d换浜�" [ref=f1e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=f1e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=f1e535]
-                        - columnheader "鎵规鐘舵��" [ref=f1e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=f1e545]
-                  - generic [ref=f1e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=f1e553]:
-                    - table [ref=f1e556]:
-                      - rowgroup [ref=f1e571]:
-                        - row [ref=f1e572]:
-                          - columnheader "鎵规鍙�" [ref=f1e573]
-                    - generic [ref=f1e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=f1e580]:
-                    - table [ref=f1e583]:
-                      - rowgroup [ref=f1e598]:
-                        - row [ref=f1e599]:
-                          - columnheader "鎿嶄綔" [ref=f1e600]
-                    - generic [ref=f1e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=f1e621]:
-              - generic [ref=f1e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=f1e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f1e625]:
-                  - textbox "璇烽�夋嫨" [ref=f1e626]: 20鏉�/椤�
-                - generic [ref=f1e627]: 睿�
-              - button "飱�" [ref=f1e630]
-              - button "顧�" [ref=f1e632]
-              - button "顫�" [ref=f1e634]
-              - button "1" [ref=f1e637] [cursor=pointer]
-              - button "顫�" [ref=f1e638]
-              - button "顧�" [ref=f1e640]
-              - button "顦�" [ref=f1e642]
-  - dialog [ref=f1e890]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=f1e892]
-    - generic [ref=f1e894]:
-      - generic [ref=f1e896]:
-        - generic [ref=f1e897]:
-          - generic [ref=f1e898]:
-            - generic [ref=f1e899]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=f1e906]: 閽㈣姱閾濈粸绾�
-        - generic [ref=f1e912]:
-          - generic [ref=f1e913]:
-            - generic [ref=f1e914]: "*"
-            - text: 浜х嚎
-          - generic [ref=f1e920]:
-            - combobox "* 浜х嚎" [ref=f1e922]
-            - generic [ref=f1e1522]:
-              - generic [ref=f1e1523]: 浜х嚎浜�
-              - generic [ref=f1e1524]: two
-        - generic [ref=f1e923]:
-          - generic [ref=f1e924]:
-            - generic [ref=f1e925]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=f1e931]:
-            - textbox "* 鐢熶骇鏃ユ湡" [active] [ref=f1e932]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-            - generic:
-              - img "calendar"
-        - generic [ref=f1e933]:
-          - generic [ref=f1e934]: 璁″垝鏁伴噺
-          - generic [ref=f1e939]:
-            - generic [ref=f1e940]:
-              - button "Increase Value" [ref=f1e941] [cursor=pointer]:
-                - img "up" [ref=f1e942]
-              - button "Decrease Value" [ref=f1e945] [cursor=pointer]:
-                - img "down" [ref=f1e946]
-            - spinbutton "璁″垝鏁伴噺" [ref=f1e950]
-        - generic [ref=f1e951]:
-          - generic [ref=f1e952]:
-            - generic [ref=f1e953]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e960]
-        - generic [ref=f1e966]:
-          - generic [ref=f1e967]: 澶囨敞
-          - textbox "澶囨敞" [ref=f1e972]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=f1e973]:
-        - generic [ref=f1e974]:
-          - generic [ref=f1e975]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=f1e976] [cursor=pointer]
-        - generic [ref=f1e988]:
-          - table [ref=f1e992]:
-            - rowgroup [ref=f1e998]:
-              - row [ref=f1e999]:
-                - columnheader "鐢熶骇浜哄憳" [ref=f1e1000]
-                - columnheader "宀椾綅绫诲瀷" [ref=f1e1005]
-                - columnheader "澶囨敞" [ref=f1e1010]
-                - columnheader "鎿嶄綔" [ref=f1e1015]
-          - table [ref=f1e1051]:
-            - rowgroup [ref=f1e1057]:
-              - row [ref=f1e1058]:
-                - cell [ref=f1e1059]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=f1e1064]
-                - cell [ref=f1e1070]:
-                  - generic [ref=f1e1074] [cursor=pointer]:
-                    - combobox [ref=f1e1076]
-                    - generic: 璇烽�夋嫨宀椾綅绫诲瀷
-                - cell [ref=f1e1077]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=f1e1080]
-                - cell [ref=f1e1081]:
-                  - button "鍒犻櫎" [ref=f1e1087] [cursor=pointer]
-    - button [ref=f1e1031] [cursor=pointer]
-    - generic [ref=f1e1041]:
-      - button "纭� 璁�" [ref=f1e1042] [cursor=pointer]
-      - button "鍙� 娑�" [ref=f1e1045] [cursor=pointer]
-    - button [ref=f1e1047] [cursor=pointer]
-  - generic:
-    - generic:
-      - generic:
-        - generic:
-          - generic:
-            - generic:
-              - generic:
-                - generic:
-                  - generic:
-                    - button
-                    - button
-                    - generic:
-                      - button "2026骞�"
-                      - button "8鏈�"
-                    - button
-                    - button
-                  - generic:
-                    - table:
-                      - rowgroup:
-                        - row "涓� 浜� 涓� 鍥� 浜� 鍏� 鏃�":
-                          - columnheader "涓�"
-                          - columnheader "浜�"
-                          - columnheader "涓�"
-                          - columnheader "鍥�"
-                          - columnheader "浜�"
-                          - columnheader "鍏�"
-                          - columnheader "鏃�"
-                      - rowgroup:
-                        - row "27 28 29 30 31 1 2":
-                          - cell "27"
-                          - cell "28"
-                          - cell "29"
-                          - cell "30"
-                          - cell "31"
-                          - cell "1"
-                          - cell "2"
-                        - row "3 4 5 6 7 8 9":
-                          - cell "3"
-                          - cell "4"
-                          - cell "5"
-                          - cell "6"
-                          - cell "7"
-                          - cell "8"
-                          - cell "9"
-                        - row "10 11 12 13 14 15 16":
-                          - cell "10"
-                          - cell "11"
-                          - cell "12"
-                          - cell "13"
-                          - cell "14"
-                          - cell "15"
-                          - cell "16"
-                        - row "17 18 19 20 21 22 23":
-                          - cell "17"
-                          - cell "18"
-                          - cell "19"
-                          - cell "20"
-                          - cell "21"
-                          - cell "22"
-                          - cell "23"
-                        - row "24 25 26 27 28 29 30":
-                          - cell "24"
-                          - cell "25"
-                          - cell "26"
-                          - cell "27"
-                          - cell "28"
-                          - cell "29"
-                          - cell "30"
-                        - row "31 1 2 3 4 5 6":
-                          - cell "31"
-                          - cell "1"
-                          - cell "2"
-                          - cell "3"
-                          - cell "4"
-                          - cell "5"
-                          - cell "6"
-                - generic:
-                  - generic:
-                    - list:
-                      - listitem:
-                        - generic: "00"
-                      - listitem:
-                        - generic: "01"
-                      - listitem:
-                        - generic: "02"
-                      - listitem:
-                        - generic: "03"
-                      - listitem:
-                        - generic: "04"
-                      - listitem:
-                        - generic: "05"
-                      - listitem:
-                        - generic: "06"
-                      - listitem:
-                        - generic: "07"
-                      - listitem:
-                        - generic: "08"
-                      - listitem:
-                        - generic: "09"
-                      - listitem:
-                        - generic: "10"
-                      - listitem:
-                        - generic: "11"
-                      - listitem:
-                        - generic: "12"
-                      - listitem:
-                        - generic: "13"
-                      - listitem:
-                        - generic: "14"
-                      - listitem:
-                        - generic: "15"
-                      - listitem:
-                        - generic: "16"
-                      - listitem:
-                        - generic: "17"
-                      - listitem:
-                        - generic: "18"
-                      - listitem:
-                        - generic: "19"
-                      - listitem:
-                        - generic: "20"
-                      - listitem:
-                        - generic: "21"
-                      - listitem:
-                        - generic: "22"
-                      - listitem:
-                        - generic: "23"
-                    - list:
-                      - listitem:
-                        - generic: "00"
-                      - listitem:
-                        - generic: "01"
-                      - listitem:
-                        - generic: "02"
-                      - listitem:
-                        - generic: "03"
-                      - listitem:
-                        - generic: "04"
-                      - listitem:
-                        - generic: "05"
-                      - listitem:
-                        - generic: "06"
-                      - listitem:
-                        - generic: "07"
-                      - listitem:
-                        - generic: "08"
-                      - listitem:
-                        - generic: "09"
-                      - listitem:
-                        - generic: "10"
-                      - listitem:
-                        - generic: "11"
-                      - listitem:
-                        - generic: "12"
-                      - listitem:
-                        - generic: "13"
-                      - listitem:
-                        - generic: "14"
-                      - listitem:
-                        - generic: "15"
-                      - listitem:
-                        - generic: "16"
-                      - listitem:
-                        - generic: "17"
-                      - listitem:
-                        - generic: "18"
-                      - listitem:
-                        - generic: "19"
-                      - listitem:
-                        - generic: "20"
-                      - listitem:
-                        - generic: "21"
-                      - listitem:
-                        - generic: "22"
-                      - listitem:
-                        - generic: "23"
-                      - listitem:
-                        - generic: "24"
-                      - listitem:
-                        - generic: "25"
-                      - listitem:
-                        - generic: "26"
-                      - listitem:
-                        - generic: "27"
-                      - listitem:
-                        - generic: "28"
-                      - listitem:
-                        - generic: "29"
-                      - listitem:
-                        - generic: "30"
-                      - listitem:
-                        - generic: "31"
-                      - listitem:
-                        - generic: "32"
-                      - listitem:
-                        - generic: "33"
-                      - listitem:
-                        - generic: "34"
-                      - listitem:
-                        - generic: "35"
-                      - listitem:
-                        - generic: "36"
-                      - listitem:
-                        - generic: "37"
-                      - listitem:
-                        - generic: "38"
-                      - listitem:
-                        - generic: "39"
-                      - listitem:
-                        - generic: "40"
-                      - listitem:
-                        - generic: "41"
-                      - listitem:
-                        - generic: "42"
-                      - listitem:
-                        - generic: "43"
-                      - listitem:
-                        - generic: "44"
-                      - listitem:
-                        - generic: "45"
-                      - listitem:
-                        - generic: "46"
-                      - listitem:
-                        - generic: "47"
-                      - listitem:
-                        - generic: "48"
-                      - listitem:
-                        - generic: "49"
-                      - listitem:
-                        - generic: "50"
-                      - listitem:
-                        - generic: "51"
-                      - listitem:
-                        - generic: "52"
-                      - listitem:
-                        - generic: "53"
-                      - listitem:
-                        - generic: "54"
-                      - listitem:
-                        - generic: "55"
-                      - listitem:
-                        - generic: "56"
-                      - listitem:
-                        - generic: "57"
-                      - listitem:
-                        - generic: "58"
-                      - listitem:
-                        - generic: "59"
-                    - list:
-                      - listitem:
-                        - generic: "00"
-                      - listitem:
-                        - generic: "01"
-                      - listitem:
-                        - generic: "02"
-                      - listitem:
-                        - generic: "03"
-                      - listitem:
-                        - generic: "04"
-                      - listitem:
-                        - generic: "05"
-                      - listitem:
-                        - generic: "06"
-                      - listitem:
-                        - generic: "07"
-                      - listitem:
-                        - generic: "08"
-                      - listitem:
-                        - generic: "09"
-                      - listitem:
-                        - generic: "10"
-                      - listitem:
-                        - generic: "11"
-                      - listitem:
-                        - generic: "12"
-                      - listitem:
-                        - generic: "13"
-                      - listitem:
-                        - generic: "14"
-                      - listitem:
-                        - generic: "15"
-                      - listitem:
-                        - generic: "16"
-                      - listitem:
-                        - generic: "17"
-                      - listitem:
-                        - generic: "18"
-                      - listitem:
-                        - generic: "19"
-                      - listitem:
-                        - generic: "20"
-                      - listitem:
-                        - generic: "21"
-                      - listitem:
-                        - generic: "22"
-                      - listitem:
-                        - generic: "23"
-                      - listitem:
-                        - generic: "24"
-                      - listitem:
-                        - generic: "25"
-                      - listitem:
-                        - generic: "26"
-                      - listitem:
-                        - generic: "27"
-                      - listitem:
-                        - generic: "28"
-                      - listitem:
-                        - generic: "29"
-                      - listitem:
-                        - generic: "30"
-                      - listitem:
-                        - generic: "31"
-                      - listitem:
-                        - generic: "32"
-                      - listitem:
-                        - generic: "33"
-                      - listitem:
-                        - generic: "34"
-                      - listitem:
-                        - generic: "35"
-                      - listitem:
-                        - generic: "36"
-                      - listitem:
-                        - generic: "37"
-                      - listitem:
-                        - generic: "38"
-                      - listitem:
-                        - generic: "39"
-                      - listitem:
-                        - generic: "40"
-                      - listitem:
-                        - generic: "41"
-                      - listitem:
-                        - generic: "42"
-                      - listitem:
-                        - generic: "43"
-                      - listitem:
-                        - generic: "44"
-                      - listitem:
-                        - generic: "45"
-                      - listitem:
-                        - generic: "46"
-                      - listitem:
-                        - generic: "47"
-                      - listitem:
-                        - generic: "48"
-                      - listitem:
-                        - generic: "49"
-                      - listitem:
-                        - generic: "50"
-                      - listitem:
-                        - generic: "51"
-                      - listitem:
-                        - generic: "52"
-                      - listitem:
-                        - generic: "53"
-                      - listitem:
-                        - generic: "54"
-                      - listitem:
-                        - generic: "55"
-                      - listitem:
-                        - generic: "56"
-                      - listitem:
-                        - generic: "57"
-                      - listitem:
-                        - generic: "58"
-                      - listitem:
-                        - generic: "59"
-              - generic:
-                - list:
-                  - listitem: 姝ゅ埢
-                  - listitem:
-                    - button "纭� 瀹�" [disabled]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-24-05-557Z.yml b/.playwright-mcp/page-2026-08-18T08-24-05-557Z.yml
deleted file mode 100644
index bf1f170..0000000
--- a/.playwright-mcp/page-2026-08-18T08-24-05-557Z.yml
+++ /dev/null
@@ -1,647 +0,0 @@
-- generic [ref=f1e4]:
-  - generic [ref=f1e7]:
-    - complementary [ref=f1e8]:
-      - generic [ref=f1e9]:
-        - generic [ref=f1e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e18]
-          - generic [ref=f1e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=f1e22]:
-          - menuitem "棣栭〉" [ref=f1e23] [cursor=pointer]
-          - listitem [ref=f1e30]:
-            - generic [ref=f1e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f1e39]:
-            - generic [ref=f1e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=f1e46]:
-            - generic [ref=f1e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=f1e53]:
-            - generic [ref=f1e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=f1e61]:
-            - generic [ref=f1e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f1e70]:
-            - generic [ref=f1e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=f1e78]:
-            - generic [ref=f1e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f1e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f1e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f1e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f1e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f1e104] [cursor=pointer]
-          - listitem [ref=f1e111]:
-            - generic [ref=f1e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f1e118]:
-            - generic [ref=f1e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=f1e125]:
-            - generic [ref=f1e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=f1e132]:
-            - generic [ref=f1e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=f1e139]:
-            - generic [ref=f1e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=f1e146]:
-            - generic [ref=f1e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=f1e153]:
-            - generic [ref=f1e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=f1e160]:
-            - generic [ref=f1e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=f1e169] [cursor=pointer]
-    - generic [ref=f1e174]:
-      - generic [ref=f1e175]:
-        - banner [ref=f1e176]:
-          - button [ref=f1e177] [cursor=pointer]
-          - button [ref=f1e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f1e185]:
-            - list [ref=f1e186]:
-              - listitem [ref=f1e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f1e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f1e192]
-              - listitem [ref=f1e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=f1e196]
-          - generic [ref=f1e201]:
-            - generic [ref=f1e203] [cursor=pointer]:
-              - generic [ref=f1e207]: 鎼滅储
-              - generic [ref=f1e208]: Ctrl K
-            - button [ref=f1e210] [cursor=pointer]
-            - button "dark" [ref=f1e215] [cursor=pointer]
-            - button [ref=f1e224] [cursor=pointer]
-            - button [ref=f1e230] [cursor=pointer]
-            - button [ref=f1e233] [cursor=pointer]
-            - button [ref=f1e239] [cursor=pointer]:
-              - button [ref=f1e241]
-            - button "宸ヤ綔鍙�" [ref=f1e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f1e250] [cursor=pointer]
-        - generic [ref=f1e257]:
-          - generic [ref=f1e262]:
-            - generic [ref=f1e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=f1e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=f1e298]:
-            - button [ref=f1e299] [cursor=pointer]
-            - generic [ref=f1e306] [cursor=pointer]
-            - generic [ref=f1e310] [cursor=pointer]
-      - main [ref=f1e317]:
-        - generic [ref=f1e322]:
-          - generic [ref=f1e327]:
-            - generic [ref=f1e328]:
-              - generic [ref=f1e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f1e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f1e337]:
-              - generic [ref=f1e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=f1e345]
-            - generic [ref=f1e351]:
-              - generic [ref=f1e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=f1e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=f1e360]:
-              - generic [ref=f1e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=f1e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=f1e369]:
-              - generic [ref=f1e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e377]
-            - generic [ref=f1e383]:
-              - generic [ref=f1e384]: 鎵规鐘舵��
-              - generic [ref=f1e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=f1e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=f1e393]:
-              - generic [ref=f1e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=f1e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=f1e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e403]:
-                  - img "swap-right" [ref=f1e404]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e409]:
-              - generic [ref=f1e410]: 鍒涘缓鏃堕棿
-              - generic [ref=f1e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f1e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e419]:
-                  - img "swap-right" [ref=f1e420]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e425]:
-              - button "閲� 缃�" [ref=f1e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f1e428] [cursor=pointer]
-              - generic [ref=f1e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f1e437]:
-            - generic [ref=f1e439]:
-              - generic [ref=f1e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=f1e444]:
-                - generic [ref=f1e446]:
-                  - button "鏂板鎵规" [ref=f1e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f1e453] [cursor=pointer]
-                - button "顫�" [ref=f1e459] [cursor=pointer]
-              - generic [ref=f1e461]:
-                - button "瞟�" [ref=f1e462] [cursor=pointer]
-                - button "顪�" [ref=f1e464] [cursor=pointer]
-                - button "顦�" [ref=f1e466] [cursor=pointer]
-            - generic [ref=f1e470]:
-              - generic [ref=f1e473]:
-                - generic [ref=f1e474]:
-                  - table [ref=f1e478]:
-                    - rowgroup [ref=f1e493]:
-                      - row [ref=f1e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=f1e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=f1e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=f1e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=f1e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=f1e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=f1e520]
-                        - columnheader "璐d换浜�" [ref=f1e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=f1e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=f1e535]
-                        - columnheader "鎵规鐘舵��" [ref=f1e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=f1e545]
-                  - generic [ref=f1e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=f1e553]:
-                    - table [ref=f1e556]:
-                      - rowgroup [ref=f1e571]:
-                        - row [ref=f1e572]:
-                          - columnheader "鎵规鍙�" [ref=f1e573]
-                    - generic [ref=f1e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=f1e580]:
-                    - table [ref=f1e583]:
-                      - rowgroup [ref=f1e598]:
-                        - row [ref=f1e599]:
-                          - columnheader "鎿嶄綔" [ref=f1e600]
-                    - generic [ref=f1e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=f1e621]:
-              - generic [ref=f1e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=f1e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f1e625]:
-                  - textbox "璇烽�夋嫨" [ref=f1e626]: 20鏉�/椤�
-                - generic [ref=f1e627]: 睿�
-              - button "飱�" [ref=f1e630]
-              - button "顧�" [ref=f1e632]
-              - button "顫�" [ref=f1e634]
-              - button "1" [ref=f1e637] [cursor=pointer]
-              - button "顫�" [ref=f1e638]
-              - button "顧�" [ref=f1e640]
-              - button "顦�" [ref=f1e642]
-  - dialog [ref=f1e890]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=f1e892]
-    - generic [ref=f1e894]:
-      - generic [ref=f1e896]:
-        - generic [ref=f1e897]:
-          - generic [ref=f1e898]:
-            - generic [ref=f1e899]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=f1e906]: 閽㈣姱閾濈粸绾�
-        - generic [ref=f1e912]:
-          - generic [ref=f1e913]:
-            - generic [ref=f1e914]: "*"
-            - text: 浜х嚎
-          - generic [ref=f1e920]:
-            - combobox "* 浜х嚎" [ref=f1e922]
-            - generic [ref=f1e1522]:
-              - generic [ref=f1e1523]: 浜х嚎浜�
-              - generic [ref=f1e1524]: two
-        - generic [ref=f1e923]:
-          - generic [ref=f1e924]:
-            - generic [ref=f1e925]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=f1e931]:
-            - textbox "* 鐢熶骇鏃ユ湡" [active] [ref=f1e932]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-              - text: 2026-08-18 08:00:00
-            - generic:
-              - img "calendar"
-            - button [ref=f1e1529] [cursor=pointer]:
-              - img "close-circle" [ref=f1e1530]
-        - generic [ref=f1e933]:
-          - generic [ref=f1e934]: 璁″垝鏁伴噺
-          - generic [ref=f1e939]:
-            - generic [ref=f1e940]:
-              - button "Increase Value" [ref=f1e941] [cursor=pointer]:
-                - img "up" [ref=f1e942]
-              - button "Decrease Value" [ref=f1e945] [cursor=pointer]:
-                - img "down" [ref=f1e946]
-            - spinbutton "璁″垝鏁伴噺" [ref=f1e950]
-        - generic [ref=f1e951]:
-          - generic [ref=f1e952]:
-            - generic [ref=f1e953]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e960]
-        - generic [ref=f1e966]:
-          - generic [ref=f1e967]: 澶囨敞
-          - textbox "澶囨敞" [ref=f1e972]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=f1e973]:
-        - generic [ref=f1e974]:
-          - generic [ref=f1e975]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=f1e976] [cursor=pointer]
-        - generic [ref=f1e988]:
-          - table [ref=f1e992]:
-            - rowgroup [ref=f1e998]:
-              - row [ref=f1e999]:
-                - columnheader "鐢熶骇浜哄憳" [ref=f1e1000]
-                - columnheader "宀椾綅绫诲瀷" [ref=f1e1005]
-                - columnheader "澶囨敞" [ref=f1e1010]
-                - columnheader "鎿嶄綔" [ref=f1e1015]
-          - table [ref=f1e1051]:
-            - rowgroup [ref=f1e1057]:
-              - row [ref=f1e1058]:
-                - cell [ref=f1e1059]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=f1e1064]
-                - cell [ref=f1e1070]:
-                  - generic [ref=f1e1074] [cursor=pointer]:
-                    - combobox [ref=f1e1076]
-                    - generic: 璇烽�夋嫨宀椾綅绫诲瀷
-                - cell [ref=f1e1077]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=f1e1080]
-                - cell [ref=f1e1081]:
-                  - button "鍒犻櫎" [ref=f1e1087] [cursor=pointer]
-    - button [ref=f1e1031] [cursor=pointer]
-    - generic [ref=f1e1041]:
-      - button "纭� 璁�" [ref=f1e1042] [cursor=pointer]
-      - button "鍙� 娑�" [ref=f1e1045] [cursor=pointer]
-    - button [ref=f1e1047] [cursor=pointer]
-  - generic:
-    - generic:
-      - generic:
-        - generic:
-          - generic:
-            - generic:
-              - generic:
-                - generic:
-                  - generic:
-                    - button
-                    - button
-                    - generic:
-                      - button "2026骞�"
-                      - button "8鏈�"
-                    - button
-                    - button
-                  - generic:
-                    - table:
-                      - rowgroup:
-                        - row "涓� 浜� 涓� 鍥� 浜� 鍏� 鏃�":
-                          - columnheader "涓�"
-                          - columnheader "浜�"
-                          - columnheader "涓�"
-                          - columnheader "鍥�"
-                          - columnheader "浜�"
-                          - columnheader "鍏�"
-                          - columnheader "鏃�"
-                      - rowgroup:
-                        - row "27 28 29 30 31 1 2":
-                          - cell "27"
-                          - cell "28"
-                          - cell "29"
-                          - cell "30"
-                          - cell "31"
-                          - cell "1"
-                          - cell "2"
-                        - row "3 4 5 6 7 8 9":
-                          - cell "3"
-                          - cell "4"
-                          - cell "5"
-                          - cell "6"
-                          - cell "7"
-                          - cell "8"
-                          - cell "9"
-                        - row "10 11 12 13 14 15 16":
-                          - cell "10"
-                          - cell "11"
-                          - cell "12"
-                          - cell "13"
-                          - cell "14"
-                          - cell "15"
-                          - cell "16"
-                        - row "17 18 19 20 21 22 23":
-                          - cell "17"
-                          - cell "18"
-                          - cell "19"
-                          - cell "20"
-                          - cell "21"
-                          - cell "22"
-                          - cell "23"
-                        - row "24 25 26 27 28 29 30":
-                          - cell "24"
-                          - cell "25"
-                          - cell "26"
-                          - cell "27"
-                          - cell "28"
-                          - cell "29"
-                          - cell "30"
-                        - row "31 1 2 3 4 5 6":
-                          - cell "31"
-                          - cell "1"
-                          - cell "2"
-                          - cell "3"
-                          - cell "4"
-                          - cell "5"
-                          - cell "6"
-                - generic:
-                  - generic: 2026-08-18 08:00:00
-                  - generic:
-                    - list:
-                      - listitem:
-                        - generic: "00"
-                      - listitem:
-                        - generic: "01"
-                      - listitem:
-                        - generic: "02"
-                      - listitem:
-                        - generic: "03"
-                      - listitem:
-                        - generic: "04"
-                      - listitem:
-                        - generic: "05"
-                      - listitem:
-                        - generic: "06"
-                      - listitem:
-                        - generic: "07"
-                      - listitem:
-                        - generic: "08"
-                      - listitem:
-                        - generic: "09"
-                      - listitem:
-                        - generic: "10"
-                      - listitem:
-                        - generic: "11"
-                      - listitem:
-                        - generic: "12"
-                      - listitem:
-                        - generic: "13"
-                      - listitem:
-                        - generic: "14"
-                      - listitem:
-                        - generic: "15"
-                      - listitem:
-                        - generic: "16"
-                      - listitem:
-                        - generic: "17"
-                      - listitem:
-                        - generic: "18"
-                      - listitem:
-                        - generic: "19"
-                      - listitem:
-                        - generic: "20"
-                      - listitem:
-                        - generic: "21"
-                      - listitem:
-                        - generic: "22"
-                      - listitem:
-                        - generic: "23"
-                    - list:
-                      - listitem:
-                        - generic: "00"
-                      - listitem:
-                        - generic: "01"
-                      - listitem:
-                        - generic: "02"
-                      - listitem:
-                        - generic: "03"
-                      - listitem:
-                        - generic: "04"
-                      - listitem:
-                        - generic: "05"
-                      - listitem:
-                        - generic: "06"
-                      - listitem:
-                        - generic: "07"
-                      - listitem:
-                        - generic: "08"
-                      - listitem:
-                        - generic: "09"
-                      - listitem:
-                        - generic: "10"
-                      - listitem:
-                        - generic: "11"
-                      - listitem:
-                        - generic: "12"
-                      - listitem:
-                        - generic: "13"
-                      - listitem:
-                        - generic: "14"
-                      - listitem:
-                        - generic: "15"
-                      - listitem:
-                        - generic: "16"
-                      - listitem:
-                        - generic: "17"
-                      - listitem:
-                        - generic: "18"
-                      - listitem:
-                        - generic: "19"
-                      - listitem:
-                        - generic: "20"
-                      - listitem:
-                        - generic: "21"
-                      - listitem:
-                        - generic: "22"
-                      - listitem:
-                        - generic: "23"
-                      - listitem:
-                        - generic: "24"
-                      - listitem:
-                        - generic: "25"
-                      - listitem:
-                        - generic: "26"
-                      - listitem:
-                        - generic: "27"
-                      - listitem:
-                        - generic: "28"
-                      - listitem:
-                        - generic: "29"
-                      - listitem:
-                        - generic: "30"
-                      - listitem:
-                        - generic: "31"
-                      - listitem:
-                        - generic: "32"
-                      - listitem:
-                        - generic: "33"
-                      - listitem:
-                        - generic: "34"
-                      - listitem:
-                        - generic: "35"
-                      - listitem:
-                        - generic: "36"
-                      - listitem:
-                        - generic: "37"
-                      - listitem:
-                        - generic: "38"
-                      - listitem:
-                        - generic: "39"
-                      - listitem:
-                        - generic: "40"
-                      - listitem:
-                        - generic: "41"
-                      - listitem:
-                        - generic: "42"
-                      - listitem:
-                        - generic: "43"
-                      - listitem:
-                        - generic: "44"
-                      - listitem:
-                        - generic: "45"
-                      - listitem:
-                        - generic: "46"
-                      - listitem:
-                        - generic: "47"
-                      - listitem:
-                        - generic: "48"
-                      - listitem:
-                        - generic: "49"
-                      - listitem:
-                        - generic: "50"
-                      - listitem:
-                        - generic: "51"
-                      - listitem:
-                        - generic: "52"
-                      - listitem:
-                        - generic: "53"
-                      - listitem:
-                        - generic: "54"
-                      - listitem:
-                        - generic: "55"
-                      - listitem:
-                        - generic: "56"
-                      - listitem:
-                        - generic: "57"
-                      - listitem:
-                        - generic: "58"
-                      - listitem:
-                        - generic: "59"
-                    - list:
-                      - listitem:
-                        - generic: "00"
-                      - listitem:
-                        - generic: "01"
-                      - listitem:
-                        - generic: "02"
-                      - listitem:
-                        - generic: "03"
-                      - listitem:
-                        - generic: "04"
-                      - listitem:
-                        - generic: "05"
-                      - listitem:
-                        - generic: "06"
-                      - listitem:
-                        - generic: "07"
-                      - listitem:
-                        - generic: "08"
-                      - listitem:
-                        - generic: "09"
-                      - listitem:
-                        - generic: "10"
-                      - listitem:
-                        - generic: "11"
-                      - listitem:
-                        - generic: "12"
-                      - listitem:
-                        - generic: "13"
-                      - listitem:
-                        - generic: "14"
-                      - listitem:
-                        - generic: "15"
-                      - listitem:
-                        - generic: "16"
-                      - listitem:
-                        - generic: "17"
-                      - listitem:
-                        - generic: "18"
-                      - listitem:
-                        - generic: "19"
-                      - listitem:
-                        - generic: "20"
-                      - listitem:
-                        - generic: "21"
-                      - listitem:
-                        - generic: "22"
-                      - listitem:
-                        - generic: "23"
-                      - listitem:
-                        - generic: "24"
-                      - listitem:
-                        - generic: "25"
-                      - listitem:
-                        - generic: "26"
-                      - listitem:
-                        - generic: "27"
-                      - listitem:
-                        - generic: "28"
-                      - listitem:
-                        - generic: "29"
-                      - listitem:
-                        - generic: "30"
-                      - listitem:
-                        - generic: "31"
-                      - listitem:
-                        - generic: "32"
-                      - listitem:
-                        - generic: "33"
-                      - listitem:
-                        - generic: "34"
-                      - listitem:
-                        - generic: "35"
-                      - listitem:
-                        - generic: "36"
-                      - listitem:
-                        - generic: "37"
-                      - listitem:
-                        - generic: "38"
-                      - listitem:
-                        - generic: "39"
-                      - listitem:
-                        - generic: "40"
-                      - listitem:
-                        - generic: "41"
-                      - listitem:
-                        - generic: "42"
-                      - listitem:
-                        - generic: "43"
-                      - listitem:
-                        - generic: "44"
-                      - listitem:
-                        - generic: "45"
-                      - listitem:
-                        - generic: "46"
-                      - listitem:
-                        - generic: "47"
-                      - listitem:
-                        - generic: "48"
-                      - listitem:
-                        - generic: "49"
-                      - listitem:
-                        - generic: "50"
-                      - listitem:
-                        - generic: "51"
-                      - listitem:
-                        - generic: "52"
-                      - listitem:
-                        - generic: "53"
-                      - listitem:
-                        - generic: "54"
-                      - listitem:
-                        - generic: "55"
-                      - listitem:
-                        - generic: "56"
-                      - listitem:
-                        - generic: "57"
-                      - listitem:
-                        - generic: "58"
-                      - listitem:
-                        - generic: "59"
-              - generic:
-                - list:
-                  - listitem: 姝ゅ埢
-                  - listitem:
-                    - button "纭� 瀹�"
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-24-41-010Z.yml b/.playwright-mcp/page-2026-08-18T08-24-41-010Z.yml
deleted file mode 100644
index 7a1ddfe..0000000
--- a/.playwright-mcp/page-2026-08-18T08-24-41-010Z.yml
+++ /dev/null
@@ -1,497 +0,0 @@
-- generic [ref=f1e4]:
-  - generic [ref=f1e7]:
-    - complementary [ref=f1e8]:
-      - generic [ref=f1e9]:
-        - generic [ref=f1e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e18]
-          - generic [ref=f1e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=f1e22]:
-          - menuitem "棣栭〉" [ref=f1e23] [cursor=pointer]
-          - listitem [ref=f1e30]:
-            - generic [ref=f1e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f1e39]:
-            - generic [ref=f1e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=f1e46]:
-            - generic [ref=f1e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=f1e53]:
-            - generic [ref=f1e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=f1e61]:
-            - generic [ref=f1e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f1e70]:
-            - generic [ref=f1e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=f1e78]:
-            - generic [ref=f1e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f1e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f1e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f1e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f1e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f1e104] [cursor=pointer]
-          - listitem [ref=f1e111]:
-            - generic [ref=f1e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f1e118]:
-            - generic [ref=f1e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=f1e125]:
-            - generic [ref=f1e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=f1e132]:
-            - generic [ref=f1e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=f1e139]:
-            - generic [ref=f1e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=f1e146]:
-            - generic [ref=f1e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=f1e153]:
-            - generic [ref=f1e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=f1e160]:
-            - generic [ref=f1e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=f1e169] [cursor=pointer]
-    - generic [ref=f1e174]:
-      - generic [ref=f1e175]:
-        - banner [ref=f1e176]:
-          - button [ref=f1e177] [cursor=pointer]
-          - button [ref=f1e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f1e185]:
-            - list [ref=f1e186]:
-              - listitem [ref=f1e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f1e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f1e192]
-              - listitem [ref=f1e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=f1e196]
-          - generic [ref=f1e201]:
-            - generic [ref=f1e203] [cursor=pointer]:
-              - generic [ref=f1e207]: 鎼滅储
-              - generic [ref=f1e208]: Ctrl K
-            - button [ref=f1e210] [cursor=pointer]
-            - button "dark" [ref=f1e215] [cursor=pointer]
-            - button [ref=f1e224] [cursor=pointer]
-            - button [ref=f1e230] [cursor=pointer]
-            - button [ref=f1e233] [cursor=pointer]
-            - button [ref=f1e239] [cursor=pointer]:
-              - button [ref=f1e241]
-            - button "宸ヤ綔鍙�" [ref=f1e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f1e250] [cursor=pointer]
-        - generic [ref=f1e257]:
-          - generic [ref=f1e262]:
-            - generic [ref=f1e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=f1e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=f1e298]:
-            - button [ref=f1e299] [cursor=pointer]
-            - generic [ref=f1e306] [cursor=pointer]
-            - generic [ref=f1e310] [cursor=pointer]
-      - main [ref=f1e317]:
-        - generic [ref=f1e322]:
-          - generic [ref=f1e327]:
-            - generic [ref=f1e328]:
-              - generic [ref=f1e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f1e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f1e337]:
-              - generic [ref=f1e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=f1e345]
-            - generic [ref=f1e351]:
-              - generic [ref=f1e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=f1e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=f1e360]:
-              - generic [ref=f1e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=f1e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=f1e369]:
-              - generic [ref=f1e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e377]
-            - generic [ref=f1e383]:
-              - generic [ref=f1e384]: 鎵规鐘舵��
-              - generic [ref=f1e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=f1e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=f1e393]:
-              - generic [ref=f1e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=f1e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=f1e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e403]:
-                  - img "swap-right" [ref=f1e404]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e409]:
-              - generic [ref=f1e410]: 鍒涘缓鏃堕棿
-              - generic [ref=f1e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f1e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e419]:
-                  - img "swap-right" [ref=f1e420]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e425]:
-              - button "閲� 缃�" [ref=f1e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f1e428] [cursor=pointer]
-              - generic [ref=f1e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f1e437]:
-            - generic [ref=f1e439]:
-              - generic [ref=f1e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=f1e444]:
-                - generic [ref=f1e446]:
-                  - button "鏂板鎵规" [ref=f1e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f1e453] [cursor=pointer]
-                - button "顫�" [ref=f1e459] [cursor=pointer]
-              - generic [ref=f1e461]:
-                - button "瞟�" [ref=f1e462] [cursor=pointer]
-                - button "顪�" [ref=f1e464] [cursor=pointer]
-                - button "顦�" [ref=f1e466] [cursor=pointer]
-            - generic [ref=f1e470]:
-              - generic [ref=f1e473]:
-                - generic [ref=f1e474]:
-                  - table [ref=f1e478]:
-                    - rowgroup [ref=f1e493]:
-                      - row [ref=f1e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=f1e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=f1e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=f1e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=f1e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=f1e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=f1e520]
-                        - columnheader "璐d换浜�" [ref=f1e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=f1e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=f1e535]
-                        - columnheader "鎵规鐘舵��" [ref=f1e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=f1e545]
-                  - generic [ref=f1e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=f1e553]:
-                    - table [ref=f1e556]:
-                      - rowgroup [ref=f1e571]:
-                        - row [ref=f1e572]:
-                          - columnheader "鎵规鍙�" [ref=f1e573]
-                    - generic [ref=f1e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=f1e580]:
-                    - table [ref=f1e583]:
-                      - rowgroup [ref=f1e598]:
-                        - row [ref=f1e599]:
-                          - columnheader "鎿嶄綔" [ref=f1e600]
-                    - generic [ref=f1e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=f1e621]:
-              - generic [ref=f1e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=f1e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f1e625]:
-                  - textbox "璇烽�夋嫨" [ref=f1e626]: 20鏉�/椤�
-                - generic [ref=f1e627]: 睿�
-              - button "飱�" [ref=f1e630]
-              - button "顧�" [ref=f1e632]
-              - button "顫�" [ref=f1e634]
-              - button "1" [ref=f1e637] [cursor=pointer]
-              - button "顫�" [ref=f1e638]
-              - button "顧�" [ref=f1e640]
-              - button "顦�" [ref=f1e642]
-  - dialog [ref=f1e890]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=f1e892]
-    - generic [ref=f1e894]:
-      - generic [ref=f1e896]:
-        - generic [ref=f1e897]:
-          - generic [ref=f1e898]:
-            - generic [ref=f1e899]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=f1e906]: 閽㈣姱閾濈粸绾�
-        - generic [ref=f1e912]:
-          - generic [ref=f1e913]:
-            - generic [ref=f1e914]: "*"
-            - text: 浜х嚎
-          - generic [ref=f1e920]:
-            - combobox "* 浜х嚎" [ref=f1e922]
-            - generic [ref=f1e1522]:
-              - generic [ref=f1e1523]: 浜х嚎浜�
-              - generic [ref=f1e1524]: two
-        - generic [ref=f1e923]:
-          - generic [ref=f1e924]:
-            - generic [ref=f1e925]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=f1e931]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=f1e932]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-              - text: 2026-08-18 08:00:00
-            - generic:
-              - img "calendar"
-            - button [ref=f1e1529] [cursor=pointer]:
-              - img "close-circle" [ref=f1e1530]
-        - generic [ref=f1e933]:
-          - generic [ref=f1e934]: 璁″垝鏁伴噺
-          - generic [ref=f1e939]:
-            - generic [ref=f1e940]:
-              - button "Increase Value" [ref=f1e941] [cursor=pointer]:
-                - img "up" [ref=f1e942]
-              - button "Decrease Value" [ref=f1e945] [cursor=pointer]:
-                - img "down" [ref=f1e946]
-            - spinbutton "璁″垝鏁伴噺" [ref=f1e950]
-        - generic [ref=f1e951]:
-          - generic [ref=f1e952]:
-            - generic [ref=f1e953]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e960]
-        - generic [ref=f1e966]:
-          - generic [ref=f1e967]: 澶囨敞
-          - textbox "澶囨敞" [ref=f1e972]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=f1e973]:
-        - generic [ref=f1e974]:
-          - generic [ref=f1e975]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=f1e976] [cursor=pointer]
-        - generic [ref=f1e988]:
-          - table [ref=f1e992]:
-            - rowgroup [ref=f1e998]:
-              - row [ref=f1e999]:
-                - columnheader "鐢熶骇浜哄憳" [ref=f1e1000]
-                - columnheader "宀椾綅绫诲瀷" [ref=f1e1005]
-                - columnheader "澶囨敞" [ref=f1e1010]
-                - columnheader "鎿嶄綔" [ref=f1e1015]
-          - table [ref=f1e1051]:
-            - rowgroup [ref=f1e1057]:
-              - row [ref=f1e1058]:
-                - cell [ref=f1e1059]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=f1e1064]
-                - cell [ref=f1e1070]:
-                  - generic [ref=f1e1074] [cursor=pointer]:
-                    - combobox [ref=f1e1076]
-                    - generic: 璇烽�夋嫨宀椾綅绫诲瀷
-                - cell [ref=f1e1077]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=f1e1080]
-                - cell [ref=f1e1081]:
-                  - button "鍒犻櫎" [ref=f1e1087] [cursor=pointer]
-    - button [ref=f1e1031] [cursor=pointer]
-    - generic [ref=f1e1041]:
-      - button "纭� 璁�" [ref=f1e1042] [cursor=pointer]
-      - button "鍙� 娑�" [ref=f1e1045] [cursor=pointer]
-    - button [ref=f1e1047] [cursor=pointer]
-  - dialog "浜哄憳閫夋嫨" [ref=f1e1534]:
-    - document:
-      - generic [ref=f1e1535]:
-        - button "Close" [ref=f1e1536] [cursor=pointer]:
-          - img "close" [ref=f1e1538]
-        - generic [ref=f1e1541]: 浜哄憳閫夋嫨
-        - generic [ref=f1e1544]:
-          - generic [ref=f1e1546]:
-            - textbox "鎼滅储閮ㄩ棬" [ref=f1e1553]
-            - tree [ref=f1e1557]:
-              - generic:
-                - textbox "for screen reader"
-              - generic [ref=f1e1561]:
-                - generic [ref=f1e1562]:
-                  - img "caret-down" [ref=f1e1564] [cursor=pointer]
-                  - generic "鎬诲叕鍙�" [ref=f1e1567] [cursor=pointer]
-                - generic [ref=f1e1568]:
-                  - img "caret-down" [ref=f1e1571] [cursor=pointer]
-                  - generic "娣卞湷鎬诲叕鍙�" [ref=f1e1574] [cursor=pointer]
-                - generic "鐮斿彂閮ㄩ棬" [ref=f1e1578] [cursor=pointer]
-                - generic "甯傚満閮ㄩ棬" [ref=f1e1582] [cursor=pointer]
-                - generic "娴嬭瘯閮ㄩ棬" [ref=f1e1586] [cursor=pointer]
-                - generic "璐㈠姟閮ㄩ棬" [ref=f1e1590] [cursor=pointer]
-                - generic "杩愮淮閮ㄩ棬" [ref=f1e1594] [cursor=pointer]
-                - generic [ref=f1e1595]:
-                  - img "caret-down" [ref=f1e1598] [cursor=pointer]
-                  - generic "闀挎矙鍒嗗叕鍙�" [ref=f1e1601] [cursor=pointer]
-                - generic "甯傚満閮ㄩ棬" [ref=f1e1605] [cursor=pointer]
-                - generic "璐㈠姟閮ㄩ棬" [ref=f1e1609] [cursor=pointer]
-                - generic "鏂伴儴闂�" [ref=f1e1612] [cursor=pointer]
-                - generic "椤剁骇閮ㄩ棬" [ref=f1e1615] [cursor=pointer]
-                - generic "鏌愪釜瀛愰儴闂�" [ref=f1e1618] [cursor=pointer]
-                - generic "鏌愪釜瀛愰儴闂� 2" [ref=f1e1621] [cursor=pointer]
-          - generic [ref=f1e1624]:
-            - generic [ref=f1e1629]:
-              - generic [ref=f1e1630]:
-                - generic [ref=f1e1631]: 鐢ㄦ埛鍚嶇О
-                - textbox "鐢ㄦ埛鍚嶇О" [ref=f1e1637]:
-                  - /placeholder: 璇疯緭鍏ョ敤鎴峰悕绉�
-              - generic [ref=f1e1639]:
-                - generic [ref=f1e1640]: 鐢ㄦ埛鏄电О
-                - textbox "鐢ㄦ埛鏄电О" [ref=f1e1646]:
-                  - /placeholder: 璇疯緭鍏ョ敤鎴锋樀绉�
-              - generic [ref=f1e1648]:
-                - generic [ref=f1e1649]: 鎵嬫満鍙风爜
-                - textbox "鎵嬫満鍙风爜" [ref=f1e1655]:
-                  - /placeholder: 璇疯緭鍏ユ墜鏈哄彿鐮�
-              - generic [ref=f1e1657]:
-                - generic [ref=f1e1658]: 鐘舵��
-                - generic [ref=f1e1664] [cursor=pointer]:
-                  - combobox "鐘舵��" [ref=f1e1666]
-                  - generic "寮�鍚�" [ref=f1e1667]
-              - generic [ref=f1e1672]:
-                - button "閲� 缃�" [ref=f1e1673] [cursor=pointer]
-                - button "鎼� 绱�" [ref=f1e1675] [cursor=pointer]
-                - generic [ref=f1e1677] [cursor=pointer]: 鏀惰捣
-            - generic [ref=f1e1684]:
-              - generic [ref=f1e1686]:
-                - generic [ref=f1e1687]: 鐢ㄦ埛鍒楄〃
-                - button "顫�" [ref=f1e1692] [cursor=pointer]
-                - generic [ref=f1e1694]:
-                  - button "瞟�" [ref=f1e1695] [cursor=pointer]
-                  - button "顪�" [ref=f1e1697] [cursor=pointer]
-                  - button "顦�" [ref=f1e1699] [cursor=pointer]
-              - generic [ref=f1e1707]:
-                - table [ref=f1e1711]:
-                  - rowgroup [ref=f1e1719]:
-                    - row "鐢ㄦ埛缂栧彿 鐢ㄦ埛鍚嶇О 鐢ㄦ埛鏄电О 鎵嬫満鍙风爜 鐘舵��" [ref=f1e1720]:
-                      - columnheader [ref=f1e1721]
-                      - columnheader "鐢ㄦ埛缂栧彿" [ref=f1e1724]
-                      - columnheader "鐢ㄦ埛鍚嶇О" [ref=f1e1729]
-                      - columnheader "鐢ㄦ埛鏄电О" [ref=f1e1734]
-                      - columnheader "鎵嬫満鍙风爜" [ref=f1e1739]
-                      - columnheader "鐘舵��" [ref=f1e1744]
-                - table [ref=f1e1752]:
-                  - rowgroup [ref=f1e1760]:
-                    - row [ref=f1e1761]:
-                      - cell "顭�" [ref=f1e1762]
-                      - cell "230" [ref=f1e1767]
-                      - cell "18333333333" [ref=f1e1771]
-                      - cell "222" [ref=f1e1775]
-                      - cell "18333333333" [ref=f1e1779]
-                      - cell "寮�鍚�" [ref=f1e1783]
-                    - row [ref=f1e1787]:
-                      - cell "顭�" [ref=f1e1788]
-                      - cell "229" [ref=f1e1793]
-                      - cell "15822054764" [ref=f1e1797]
-                      - cell "鏀惧亣" [ref=f1e1801]
-                      - cell "15822054764" [ref=f1e1805]
-                      - cell "寮�鍚�" [ref=f1e1809]
-                    - row [ref=f1e1813]:
-                      - cell "顭�" [ref=f1e1814]
-                      - cell "228" [ref=f1e1819]
-                      - cell "15822054766" [ref=f1e1823]
-                      - cell "涓嶆兂涓婄彮" [ref=f1e1827]
-                      - cell "15822054766" [ref=f1e1831]
-                      - cell "寮�鍚�" [ref=f1e1835]
-                    - row [ref=f1e1839]:
-                      - cell "顭�" [ref=f1e1840]
-                      - cell "227" [ref=f1e1845]
-                      - cell "15822054767" [ref=f1e1849]
-                      - cell "澶ф槑鏄�" [ref=f1e1853]
-                      - cell "15822054767" [ref=f1e1857]
-                      - cell "寮�鍚�" [ref=f1e1861]
-                    - row [ref=f1e1865]:
-                      - cell "顭�" [ref=f1e1866]
-                      - cell "226" [ref=f1e1871]
-                      - cell "15822054763" [ref=f1e1875]
-                      - cell "鍗冨厠" [ref=f1e1879]
-                      - cell "15822054763" [ref=f1e1883]
-                      - cell "寮�鍚�" [ref=f1e1887]
-                    - row [ref=f1e1891]:
-                      - cell "顭�" [ref=f1e1892]
-                      - cell "225" [ref=f1e1897]
-                      - cell "15822054762" [ref=f1e1901]
-                      - cell "鍗楃摐瀛�" [ref=f1e1905]
-                      - cell "15822054762" [ref=f1e1909]
-                      - cell "寮�鍚�" [ref=f1e1913]
-                    - row "顭� 144 aoteman001 aoteman00112 鍏抽棴" [ref=f1e1917]:
-                      - cell "顭�" [ref=f1e1918]
-                      - cell "144" [ref=f1e1923]
-                      - cell "aoteman001" [ref=f1e1927]
-                      - cell "aoteman00112" [ref=f1e1931]
-                      - cell [ref=f1e1935]
-                      - cell "鍏抽棴" [ref=f1e1939]
-                    - row "顭� 143 a00001 a00001 寮�鍚�" [ref=f1e1943]:
-                      - cell "顭�" [ref=f1e1944]
-                      - cell "143" [ref=f1e1949]
-                      - cell "a00001" [ref=f1e1953]
-                      - cell "a00001" [ref=f1e1957]
-                      - cell [ref=f1e1961]
-                      - cell "寮�鍚�" [ref=f1e1965]
-                    - row [ref=f1e1969]:
-                      - cell "顭�" [ref=f1e1970]
-                      - cell "142" [ref=f1e1975]
-                      - cell "test01" [ref=f1e1979]
-                      - cell "test01" [ref=f1e1983]
-                      - cell "19021719925" [ref=f1e1987]
-                      - cell "寮�鍚�" [ref=f1e1991]
-                    - row "顭� 141 admin1 鏂扮敤鎴� 寮�鍚�" [ref=f1e1995]:
-                      - cell "顭�" [ref=f1e1996]
-                      - cell "141" [ref=f1e2001]
-                      - cell "admin1" [ref=f1e2005]
-                      - cell "鏂扮敤鎴�" [ref=f1e2009]
-                      - cell [ref=f1e2013]
-                      - cell "寮�鍚�" [ref=f1e2017]
-                    - row "顭� 139 wwbwwb 灏忕澶� 寮�鍚�" [ref=f1e2021]:
-                      - cell "顭�" [ref=f1e2022]
-                      - cell "139" [ref=f1e2027]
-                      - cell "wwbwwb" [ref=f1e2031]
-                      - cell "灏忕澶�" [ref=f1e2035]
-                      - cell [ref=f1e2039]
-                      - cell "寮�鍚�" [ref=f1e2043]
-                    - row [ref=f1e2047]:
-                      - cell "顭�" [ref=f1e2048]
-                      - cell "118" [ref=f1e2053]
-                      - cell "goudan" [ref=f1e2057]
-                      - cell "鐙楄泲" [ref=f1e2061]
-                      - cell "15601691239" [ref=f1e2065]
-                      - cell "寮�鍚�" [ref=f1e2069]
-                    - row [ref=f1e2073]:
-                      - cell "顭�" [ref=f1e2074]
-                      - cell "117" [ref=f1e2079]
-                      - cell "admin123" [ref=f1e2083]
-                      - cell "娴嬭瘯鍙�02" [ref=f1e2087]
-                      - cell "15601691234" [ref=f1e2091]
-                      - cell "寮�鍚�" [ref=f1e2095]
-                    - row [ref=f1e2099]:
-                      - cell "顭�" [ref=f1e2100]
-                      - cell "115" [ref=f1e2105]
-                      - cell "aotemane" [ref=f1e2109]
-                      - cell "闃垮憜" [ref=f1e2113]
-                      - cell "15601691229" [ref=f1e2117]
-                      - cell "寮�鍚�" [ref=f1e2121]
-                    - row [ref=f1e2125]:
-                      - cell "顭�" [ref=f1e2126]
-                      - cell "114" [ref=f1e2131]
-                      - cell "hrmgr" [ref=f1e2135]
-                      - cell "hr 灏忓濮�" [ref=f1e2139]
-                      - cell "15601691236" [ref=f1e2143]
-                      - cell "寮�鍚�" [ref=f1e2147]
-                    - row [ref=f1e2151]:
-                      - cell "顭�" [ref=f1e2152]
-                      - cell "113" [ref=f1e2157]
-                      - cell "aoteman" [ref=f1e2161]
-                      - cell "绠$悊鍛�1" [ref=f1e2165]
-                      - cell "15601691300" [ref=f1e2169]
-                      - cell "寮�鍚�" [ref=f1e2173]
-                    - row [ref=f1e2177]:
-                      - cell "顭�" [ref=f1e2178]
-                      - cell "112" [ref=f1e2183]
-                      - cell "newobject" [ref=f1e2187]
-                      - cell "鏂板璞�" [ref=f1e2191]
-                      - cell "15601691235" [ref=f1e2195]
-                      - cell "寮�鍚�" [ref=f1e2199]
-                    - row "顭� 111 test 娴嬭瘯鐢ㄦ埛 寮�鍚�" [ref=f1e2203]:
-                      - cell "顭�" [ref=f1e2204]
-                      - cell "111" [ref=f1e2209]
-                      - cell "test" [ref=f1e2213]
-                      - cell "娴嬭瘯鐢ㄦ埛" [ref=f1e2217]
-                      - cell [ref=f1e2221]
-                      - cell "寮�鍚�" [ref=f1e2225]
-                    - row [ref=f1e2290]:
-                      - cell "顫�" [ref=f1e2291]
-                      - cell "1" [ref=f1e2235]
-                      - cell "admin" [ref=f1e2239]
-                      - cell "瓒呯骇绠$悊鍛�" [ref=f1e2243]
-                      - cell "18818260272" [ref=f1e2247]
-                      - cell "寮�鍚�" [ref=f1e2251]
-              - generic [ref=f1e2262]:
-                - generic [ref=f1e2263]: 鍏� 19 鏉¤褰�
-                - generic [ref=f1e2265] [cursor=pointer]:
-                  - generic "20鏉�/椤�" [ref=f1e2266]:
-                    - textbox "璇烽�夋嫨" [ref=f1e2267]: 20鏉�/椤�
-                  - generic [ref=f1e2268]: 睿�
-                - button "飱�" [ref=f1e2271]
-                - button "顧�" [ref=f1e2273]
-                - button "顫�" [ref=f1e2275]
-                - button "1" [ref=f1e2278] [cursor=pointer]
-                - button "顫�" [ref=f1e2279]
-                - button "顧�" [ref=f1e2281]
-                - button "顦�" [ref=f1e2283]
-        - generic [ref=f1e2285]:
-          - button "鍙� 娑�" [ref=f1e2286] [cursor=pointer]
-          - button "纭� 瀹�" [ref=f1e2288] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-24-47-027Z.yml b/.playwright-mcp/page-2026-08-18T08-24-47-027Z.yml
deleted file mode 100644
index f447251..0000000
--- a/.playwright-mcp/page-2026-08-18T08-24-47-027Z.yml
+++ /dev/null
@@ -1,566 +0,0 @@
-- generic [ref=f1e4]:
-  - generic [ref=f1e7]:
-    - complementary [ref=f1e8]:
-      - generic [ref=f1e9]:
-        - generic [ref=f1e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e18]
-          - generic [ref=f1e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=f1e22]:
-          - menuitem "棣栭〉" [ref=f1e23] [cursor=pointer]
-          - listitem [ref=f1e30]:
-            - generic [ref=f1e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f1e39]:
-            - generic [ref=f1e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=f1e46]:
-            - generic [ref=f1e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=f1e53]:
-            - generic [ref=f1e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=f1e61]:
-            - generic [ref=f1e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f1e70]:
-            - generic [ref=f1e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=f1e78]:
-            - generic [ref=f1e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f1e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f1e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f1e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f1e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f1e104] [cursor=pointer]
-          - listitem [ref=f1e111]:
-            - generic [ref=f1e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f1e118]:
-            - generic [ref=f1e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=f1e125]:
-            - generic [ref=f1e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=f1e132]:
-            - generic [ref=f1e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=f1e139]:
-            - generic [ref=f1e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=f1e146]:
-            - generic [ref=f1e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=f1e153]:
-            - generic [ref=f1e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=f1e160]:
-            - generic [ref=f1e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=f1e169] [cursor=pointer]
-    - generic [ref=f1e174]:
-      - generic [ref=f1e175]:
-        - banner [ref=f1e176]:
-          - button [ref=f1e177] [cursor=pointer]
-          - button [ref=f1e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f1e185]:
-            - list [ref=f1e186]:
-              - listitem [ref=f1e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f1e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f1e192]
-              - listitem [ref=f1e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=f1e196]
-          - generic [ref=f1e201]:
-            - generic [ref=f1e203] [cursor=pointer]:
-              - generic [ref=f1e207]: 鎼滅储
-              - generic [ref=f1e208]: Ctrl K
-            - button [ref=f1e210] [cursor=pointer]
-            - button "dark" [ref=f1e215] [cursor=pointer]
-            - button [ref=f1e224] [cursor=pointer]
-            - button [ref=f1e230] [cursor=pointer]
-            - button [ref=f1e233] [cursor=pointer]
-            - button [ref=f1e239] [cursor=pointer]:
-              - button [ref=f1e241]
-            - button "宸ヤ綔鍙�" [ref=f1e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f1e250] [cursor=pointer]
-        - generic [ref=f1e257]:
-          - generic [ref=f1e262]:
-            - generic [ref=f1e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=f1e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=f1e298]:
-            - button [ref=f1e299] [cursor=pointer]
-            - generic [ref=f1e306] [cursor=pointer]
-            - generic [ref=f1e310] [cursor=pointer]
-      - main [ref=f1e317]:
-        - generic [ref=f1e322]:
-          - generic [ref=f1e327]:
-            - generic [ref=f1e328]:
-              - generic [ref=f1e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f1e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f1e337]:
-              - generic [ref=f1e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=f1e345]
-            - generic [ref=f1e351]:
-              - generic [ref=f1e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=f1e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=f1e360]:
-              - generic [ref=f1e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=f1e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=f1e369]:
-              - generic [ref=f1e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e377]: 瓒呯骇绠$悊鍛�
-            - generic [ref=f1e383]:
-              - generic [ref=f1e384]: 鎵规鐘舵��
-              - generic [ref=f1e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=f1e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=f1e393]:
-              - generic [ref=f1e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=f1e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=f1e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e403]:
-                  - img "swap-right" [ref=f1e404]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e409]:
-              - generic [ref=f1e410]: 鍒涘缓鏃堕棿
-              - generic [ref=f1e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f1e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e419]:
-                  - img "swap-right" [ref=f1e420]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e425]:
-              - button "閲� 缃�" [ref=f1e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f1e428] [cursor=pointer]
-              - generic [ref=f1e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f1e437]:
-            - generic [ref=f1e439]:
-              - generic [ref=f1e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=f1e444]:
-                - generic [ref=f1e446]:
-                  - button "鏂板鎵规" [ref=f1e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f1e453] [cursor=pointer]
-                - button "顫�" [ref=f1e459] [cursor=pointer]
-              - generic [ref=f1e461]:
-                - button "瞟�" [ref=f1e462] [cursor=pointer]
-                - button "顪�" [ref=f1e464] [cursor=pointer]
-                - button "顦�" [ref=f1e466] [cursor=pointer]
-            - generic [ref=f1e470]:
-              - generic [ref=f1e473]:
-                - generic [ref=f1e474]:
-                  - table [ref=f1e478]:
-                    - rowgroup [ref=f1e493]:
-                      - row [ref=f1e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=f1e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=f1e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=f1e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=f1e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=f1e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=f1e520]
-                        - columnheader "璐d换浜�" [ref=f1e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=f1e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=f1e535]
-                        - columnheader "鎵规鐘舵��" [ref=f1e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=f1e545]
-                  - generic [ref=f1e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=f1e553]:
-                    - table [ref=f1e556]:
-                      - rowgroup [ref=f1e571]:
-                        - row [ref=f1e572]:
-                          - columnheader "鎵规鍙�" [ref=f1e573]
-                    - generic [ref=f1e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=f1e580]:
-                    - table [ref=f1e583]:
-                      - rowgroup [ref=f1e598]:
-                        - row [ref=f1e599]:
-                          - columnheader "鎿嶄綔" [ref=f1e600]
-                    - generic [ref=f1e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=f1e621]:
-              - generic [ref=f1e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=f1e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f1e625]:
-                  - textbox "璇烽�夋嫨" [ref=f1e626]: 20鏉�/椤�
-                - generic [ref=f1e627]: 睿�
-              - button "飱�" [ref=f1e630]
-              - button "顧�" [ref=f1e632]
-              - button "顫�" [ref=f1e634]
-              - button "1" [ref=f1e637] [cursor=pointer]
-              - button "顫�" [ref=f1e638]
-              - button "顧�" [ref=f1e640]
-              - button "顦�" [ref=f1e642]
-  - dialog [ref=f1e890]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=f1e892]
-    - generic [ref=f1e894]:
-      - generic [ref=f1e896]:
-        - generic [ref=f1e897]:
-          - generic [ref=f1e898]:
-            - generic [ref=f1e899]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=f1e906]: 閽㈣姱閾濈粸绾�
-        - generic [ref=f1e912]:
-          - generic [ref=f1e913]:
-            - generic [ref=f1e914]: "*"
-            - text: 浜х嚎
-          - generic [ref=f1e920]:
-            - combobox "* 浜х嚎" [ref=f1e922]
-            - generic [ref=f1e1522]:
-              - generic [ref=f1e1523]: 浜х嚎浜�
-              - generic [ref=f1e1524]: two
-        - generic [ref=f1e923]:
-          - generic [ref=f1e924]:
-            - generic [ref=f1e925]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=f1e931]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=f1e932]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-              - text: 2026-08-18 08:00:00
-            - generic:
-              - img "calendar"
-            - button [ref=f1e1529] [cursor=pointer]:
-              - img "close-circle" [ref=f1e1530]
-        - generic [ref=f1e933]:
-          - generic [ref=f1e934]: 璁″垝鏁伴噺
-          - generic [ref=f1e939]:
-            - generic [ref=f1e940]:
-              - button "Increase Value" [ref=f1e941] [cursor=pointer]:
-                - img "up" [ref=f1e942]
-              - button "Decrease Value" [ref=f1e945] [cursor=pointer]:
-                - img "down" [ref=f1e946]
-            - spinbutton "璁″垝鏁伴噺" [ref=f1e950]
-        - generic [ref=f1e951]:
-          - generic [ref=f1e952]:
-            - generic [ref=f1e953]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e960]
-        - generic [ref=f1e966]:
-          - generic [ref=f1e967]: 澶囨敞
-          - textbox "澶囨敞" [ref=f1e972]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=f1e973]:
-        - generic [ref=f1e974]:
-          - generic [ref=f1e975]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=f1e976] [cursor=pointer]
-        - generic [ref=f1e988]:
-          - table [ref=f1e992]:
-            - rowgroup [ref=f1e998]:
-              - row [ref=f1e999]:
-                - columnheader "鐢熶骇浜哄憳" [ref=f1e1000]
-                - columnheader "宀椾綅绫诲瀷" [ref=f1e1005]
-                - columnheader "澶囨敞" [ref=f1e1010]
-                - columnheader "鎿嶄綔" [ref=f1e1015]
-          - table [ref=f1e1051]:
-            - rowgroup [ref=f1e1057]:
-              - row [ref=f1e1058]:
-                - cell [ref=f1e1059]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=f1e1064]
-                - cell [ref=f1e1070]:
-                  - generic [ref=f1e1074] [cursor=pointer]:
-                    - combobox [ref=f1e1076]
-                    - generic: 璇烽�夋嫨宀椾綅绫诲瀷
-                - cell [ref=f1e1077]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=f1e1080]
-                - cell [ref=f1e1081]:
-                  - button "鍒犻櫎" [ref=f1e1087] [cursor=pointer]
-    - button [ref=f1e1031] [cursor=pointer]
-    - generic [ref=f1e1041]:
-      - button "纭� 璁�" [ref=f1e1042] [cursor=pointer]
-      - button "鍙� 娑�" [ref=f1e1045] [cursor=pointer]
-    - button [ref=f1e1047] [cursor=pointer]
-  - dialog "浜哄憳閫夋嫨" [ref=f1e1534]:
-    - document:
-      - generic:
-        - generic:
-          - button "Close":
-            - generic:
-              - img "close"
-          - generic: 浜哄憳閫夋嫨
-          - generic:
-            - generic:
-              - generic:
-                - generic:
-                  - generic:
-                    - textbox "鎼滅储閮ㄩ棬"
-                  - generic:
-                    - generic:
-                      - tree:
-                        - generic:
-                          - textbox "for screen reader"
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic:
-                                - generic:
-                                  - generic:
-                                    - img "caret-down"
-                                  - generic "鎬诲叕鍙�"
-                                - generic:
-                                  - generic:
-                                    - img "caret-down"
-                                  - generic "娣卞湷鎬诲叕鍙�"
-                                - generic:
-                                  - generic "鐮斿彂閮ㄩ棬"
-                                - generic:
-                                  - generic "甯傚満閮ㄩ棬"
-                                - generic:
-                                  - generic "娴嬭瘯閮ㄩ棬"
-                                - generic:
-                                  - generic "璐㈠姟閮ㄩ棬"
-                                - generic:
-                                  - generic "杩愮淮閮ㄩ棬"
-                                - generic:
-                                  - generic:
-                                    - img "caret-down"
-                                  - generic "闀挎矙鍒嗗叕鍙�"
-                                - generic:
-                                  - generic "甯傚満閮ㄩ棬"
-                                - generic:
-                                  - generic "璐㈠姟閮ㄩ棬"
-                                - generic:
-                                  - generic "鏂伴儴闂�"
-                                - generic:
-                                  - generic "椤剁骇閮ㄩ棬"
-                                - generic:
-                                  - generic "鏌愪釜瀛愰儴闂�"
-                                - generic:
-                                  - generic "鏌愪釜瀛愰儴闂� 2"
-              - generic:
-                - generic:
-                  - generic:
-                    - generic:
-                      - generic:
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic:
-                                - generic: 鐢ㄦ埛鍚嶇О
-                                - generic:
-                                  - generic:
-                                    - generic:
-                                      - generic:
-                                        - generic:
-                                          - textbox "鐢ㄦ埛鍚嶇О":
-                                            - /placeholder: 璇疯緭鍏ョ敤鎴峰悕绉�
-                              - generic:
-                                - generic: 鐢ㄦ埛鏄电О
-                                - generic:
-                                  - generic:
-                                    - generic:
-                                      - generic:
-                                        - generic:
-                                          - textbox "鐢ㄦ埛鏄电О":
-                                            - /placeholder: 璇疯緭鍏ョ敤鎴锋樀绉�
-                              - generic:
-                                - generic: 鎵嬫満鍙风爜
-                                - generic:
-                                  - generic:
-                                    - generic:
-                                      - generic:
-                                        - generic:
-                                          - textbox "鎵嬫満鍙风爜":
-                                            - /placeholder: 璇疯緭鍏ユ墜鏈哄彿鐮�
-                              - generic:
-                                - generic: 鐘舵��
-                                - generic:
-                                  - generic:
-                                    - generic:
-                                      - generic:
-                                        - generic:
-                                          - generic:
-                                            - generic:
-                                              - combobox "鐘舵��"
-                                            - generic "寮�鍚�"
-                              - generic:
-                                - button "閲� 缃�"
-                                - button "鎼� 绱�"
-                                - generic: 鏀惰捣
-                    - generic:
-                      - generic:
-                        - generic:
-                          - generic:
-                            - generic: 鐢ㄦ埛鍒楄〃
-                            - generic:
-                              - generic:
-                                - button "顫�"
-                            - generic:
-                              - button "瞟�"
-                              - button "顪�"
-                              - button "顦�"
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic:
-                                - generic:
-                                  - generic:
-                                    - generic:
-                                      - generic:
-                                        - generic:
-                                          - table:
-                                            - rowgroup:
-                                              - row "鐢ㄦ埛缂栧彿 鐢ㄦ埛鍚嶇О 鐢ㄦ埛鏄电О 鎵嬫満鍙风爜 鐘舵��":
-                                                - columnheader
-                                                - columnheader "鐢ㄦ埛缂栧彿"
-                                                - columnheader "鐢ㄦ埛鍚嶇О"
-                                                - columnheader "鐢ㄦ埛鏄电О"
-                                                - columnheader "鎵嬫満鍙风爜"
-                                                - columnheader "鐘舵��"
-                                      - generic:
-                                        - generic:
-                                          - table:
-                                            - rowgroup:
-                                              - row "顭� 230 18333333333 222 18333333333 寮�鍚�":
-                                                - cell "顭�"
-                                                - cell "230"
-                                                - cell "18333333333"
-                                                - cell "222"
-                                                - cell "18333333333"
-                                                - cell "寮�鍚�"
-                                              - row "顭� 229 15822054764 鏀惧亣 15822054764 寮�鍚�":
-                                                - cell "顭�"
-                                                - cell "229"
-                                                - cell "15822054764"
-                                                - cell "鏀惧亣"
-                                                - cell "15822054764"
-                                                - cell "寮�鍚�"
-                                              - row "顭� 228 15822054766 涓嶆兂涓婄彮 15822054766 寮�鍚�":
-                                                - cell "顭�"
-                                                - cell "228"
-                                                - cell "15822054766"
-                                                - cell "涓嶆兂涓婄彮"
-                                                - cell "15822054766"
-                                                - cell "寮�鍚�"
-                                              - row "顭� 227 15822054767 澶ф槑鏄� 15822054767 寮�鍚�":
-                                                - cell "顭�"
-                                                - cell "227"
-                                                - cell "15822054767"
-                                                - cell "澶ф槑鏄�"
-                                                - cell "15822054767"
-                                                - cell "寮�鍚�"
-                                              - row "顭� 226 15822054763 鍗冨厠 15822054763 寮�鍚�":
-                                                - cell "顭�"
-                                                - cell "226"
-                                                - cell "15822054763"
-                                                - cell "鍗冨厠"
-                                                - cell "15822054763"
-                                                - cell "寮�鍚�"
-                                              - row "顭� 225 15822054762 鍗楃摐瀛� 15822054762 寮�鍚�":
-                                                - cell "顭�"
-                                                - cell "225"
-                                                - cell "15822054762"
-                                                - cell "鍗楃摐瀛�"
-                                                - cell "15822054762"
-                                                - cell "寮�鍚�"
-                                              - row "顭� 144 aoteman001 aoteman00112 鍏抽棴":
-                                                - cell "顭�"
-                                                - cell "144"
-                                                - cell "aoteman001"
-                                                - cell "aoteman00112"
-                                                - cell
-                                                - cell "鍏抽棴"
-                                              - row "顭� 143 a00001 a00001 寮�鍚�":
-                                                - cell "顭�"
-                                                - cell "143"
-                                                - cell "a00001"
-                                                - cell "a00001"
-                                                - cell
-                                                - cell "寮�鍚�"
-                                              - row "顭� 142 test01 test01 19021719925 寮�鍚�":
-                                                - cell "顭�"
-                                                - cell "142"
-                                                - cell "test01"
-                                                - cell "test01"
-                                                - cell "19021719925"
-                                                - cell "寮�鍚�"
-                                              - row "顭� 141 admin1 鏂扮敤鎴� 寮�鍚�":
-                                                - cell "顭�"
-                                                - cell "141"
-                                                - cell "admin1"
-                                                - cell "鏂扮敤鎴�"
-                                                - cell
-                                                - cell "寮�鍚�"
-                                              - row "顭� 139 wwbwwb 灏忕澶� 寮�鍚�":
-                                                - cell "顭�"
-                                                - cell "139"
-                                                - cell "wwbwwb"
-                                                - cell "灏忕澶�"
-                                                - cell
-                                                - cell "寮�鍚�"
-                                              - row "顭� 118 goudan 鐙楄泲 15601691239 寮�鍚�":
-                                                - cell "顭�"
-                                                - cell "118"
-                                                - cell "goudan"
-                                                - cell "鐙楄泲"
-                                                - cell "15601691239"
-                                                - cell "寮�鍚�"
-                                              - row "顭� 117 admin123 娴嬭瘯鍙�02 15601691234 寮�鍚�":
-                                                - cell "顭�"
-                                                - cell "117"
-                                                - cell "admin123"
-                                                - cell "娴嬭瘯鍙�02"
-                                                - cell "15601691234"
-                                                - cell "寮�鍚�"
-                                              - row "顭� 115 aotemane 闃垮憜 15601691229 寮�鍚�":
-                                                - cell "顭�"
-                                                - cell "115"
-                                                - cell "aotemane"
-                                                - cell "闃垮憜"
-                                                - cell "15601691229"
-                                                - cell "寮�鍚�"
-                                              - row "顭� 114 hrmgr hr 灏忓濮� 15601691236 寮�鍚�":
-                                                - cell "顭�"
-                                                - cell "114"
-                                                - cell "hrmgr"
-                                                - cell "hr 灏忓濮�"
-                                                - cell "15601691236"
-                                                - cell "寮�鍚�"
-                                              - row "顭� 113 aoteman 绠$悊鍛�1 15601691300 寮�鍚�":
-                                                - cell "顭�"
-                                                - cell "113"
-                                                - cell "aoteman"
-                                                - cell "绠$悊鍛�1"
-                                                - cell "15601691300"
-                                                - cell "寮�鍚�"
-                                              - row "顭� 112 newobject 鏂板璞� 15601691235 寮�鍚�":
-                                                - cell "顭�"
-                                                - cell "112"
-                                                - cell "newobject"
-                                                - cell "鏂板璞�"
-                                                - cell "15601691235"
-                                                - cell "寮�鍚�"
-                                              - row "顭� 111 test 娴嬭瘯鐢ㄦ埛 寮�鍚�":
-                                                - cell "顭�"
-                                                - cell "111"
-                                                - cell "test"
-                                                - cell "娴嬭瘯鐢ㄦ埛"
-                                                - cell
-                                                - cell "寮�鍚�"
-                                              - row "顫� 1 admin 瓒呯骇绠$悊鍛� 18818260272 寮�鍚�":
-                                                - cell "顫�"
-                                                - cell "1"
-                                                - cell "admin"
-                                                - cell "瓒呯骇绠$悊鍛�"
-                                                - cell "18818260272"
-                                                - cell "寮�鍚�"
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic: 鍏� 19 鏉¤褰�
-                              - generic:
-                                - generic:
-                                  - generic "20鏉�/椤�":
-                                    - textbox "璇烽�夋嫨": 20鏉�/椤�
-                                  - generic: 睿�
-                              - button "飱�"
-                              - button "顧�"
-                              - button "顫�"
-                              - generic:
-                                - button "1"
-                              - button "顫�"
-                              - button "顧�"
-                              - button "顦�"
-          - generic:
-            - button "鍙� 娑�"
-            - button "纭� 瀹�" [active]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-25-41-120Z.yml b/.playwright-mcp/page-2026-08-18T08-25-41-120Z.yml
deleted file mode 100644
index c5ea970..0000000
--- a/.playwright-mcp/page-2026-08-18T08-25-41-120Z.yml
+++ /dev/null
@@ -1,497 +0,0 @@
-- generic [ref=f1e4]:
-  - generic [ref=f1e7]:
-    - complementary [ref=f1e8]:
-      - generic [ref=f1e9]:
-        - generic [ref=f1e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e18]
-          - generic [ref=f1e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=f1e22]:
-          - menuitem "棣栭〉" [ref=f1e23] [cursor=pointer]
-          - listitem [ref=f1e30]:
-            - generic [ref=f1e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f1e39]:
-            - generic [ref=f1e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=f1e46]:
-            - generic [ref=f1e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=f1e53]:
-            - generic [ref=f1e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=f1e61]:
-            - generic [ref=f1e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f1e70]:
-            - generic [ref=f1e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=f1e78]:
-            - generic [ref=f1e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f1e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f1e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f1e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f1e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f1e104] [cursor=pointer]
-          - listitem [ref=f1e111]:
-            - generic [ref=f1e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f1e118]:
-            - generic [ref=f1e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=f1e125]:
-            - generic [ref=f1e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=f1e132]:
-            - generic [ref=f1e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=f1e139]:
-            - generic [ref=f1e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=f1e146]:
-            - generic [ref=f1e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=f1e153]:
-            - generic [ref=f1e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=f1e160]:
-            - generic [ref=f1e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=f1e169] [cursor=pointer]
-    - generic [ref=f1e174]:
-      - generic [ref=f1e175]:
-        - banner [ref=f1e176]:
-          - button [ref=f1e177] [cursor=pointer]
-          - button [ref=f1e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f1e185]:
-            - list [ref=f1e186]:
-              - listitem [ref=f1e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f1e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f1e192]
-              - listitem [ref=f1e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=f1e196]
-          - generic [ref=f1e201]:
-            - generic [ref=f1e203] [cursor=pointer]:
-              - generic [ref=f1e207]: 鎼滅储
-              - generic [ref=f1e208]: Ctrl K
-            - button [ref=f1e210] [cursor=pointer]
-            - button "dark" [ref=f1e215] [cursor=pointer]
-            - button [ref=f1e224] [cursor=pointer]
-            - button [ref=f1e230] [cursor=pointer]
-            - button [ref=f1e233] [cursor=pointer]
-            - button [ref=f1e239] [cursor=pointer]:
-              - button [ref=f1e241]
-            - button "宸ヤ綔鍙�" [ref=f1e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f1e250] [cursor=pointer]
-        - generic [ref=f1e257]:
-          - generic [ref=f1e262]:
-            - generic [ref=f1e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=f1e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=f1e298]:
-            - button [ref=f1e299] [cursor=pointer]
-            - generic [ref=f1e306] [cursor=pointer]
-            - generic [ref=f1e310] [cursor=pointer]
-      - main [ref=f1e317]:
-        - generic [ref=f1e322]:
-          - generic [ref=f1e327]:
-            - generic [ref=f1e328]:
-              - generic [ref=f1e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f1e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f1e337]:
-              - generic [ref=f1e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=f1e345]
-            - generic [ref=f1e351]:
-              - generic [ref=f1e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=f1e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=f1e360]:
-              - generic [ref=f1e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=f1e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=f1e369]:
-              - generic [ref=f1e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e377]: 瓒呯骇绠$悊鍛�
-            - generic [ref=f1e383]:
-              - generic [ref=f1e384]: 鎵规鐘舵��
-              - generic [ref=f1e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=f1e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=f1e393]:
-              - generic [ref=f1e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=f1e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=f1e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e403]:
-                  - img "swap-right" [ref=f1e404]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e409]:
-              - generic [ref=f1e410]: 鍒涘缓鏃堕棿
-              - generic [ref=f1e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f1e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e419]:
-                  - img "swap-right" [ref=f1e420]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e425]:
-              - button "閲� 缃�" [ref=f1e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f1e428] [cursor=pointer]
-              - generic [ref=f1e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f1e437]:
-            - generic [ref=f1e439]:
-              - generic [ref=f1e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=f1e444]:
-                - generic [ref=f1e446]:
-                  - button "鏂板鎵规" [ref=f1e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f1e453] [cursor=pointer]
-                - button "顫�" [ref=f1e459] [cursor=pointer]
-              - generic [ref=f1e461]:
-                - button "瞟�" [ref=f1e462] [cursor=pointer]
-                - button "顪�" [ref=f1e464] [cursor=pointer]
-                - button "顦�" [ref=f1e466] [cursor=pointer]
-            - generic [ref=f1e470]:
-              - generic [ref=f1e473]:
-                - generic [ref=f1e474]:
-                  - table [ref=f1e478]:
-                    - rowgroup [ref=f1e493]:
-                      - row [ref=f1e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=f1e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=f1e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=f1e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=f1e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=f1e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=f1e520]
-                        - columnheader "璐d换浜�" [ref=f1e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=f1e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=f1e535]
-                        - columnheader "鎵规鐘舵��" [ref=f1e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=f1e545]
-                  - generic [ref=f1e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=f1e553]:
-                    - table [ref=f1e556]:
-                      - rowgroup [ref=f1e571]:
-                        - row [ref=f1e572]:
-                          - columnheader "鎵规鍙�" [ref=f1e573]
-                    - generic [ref=f1e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=f1e580]:
-                    - table [ref=f1e583]:
-                      - rowgroup [ref=f1e598]:
-                        - row [ref=f1e599]:
-                          - columnheader "鎿嶄綔" [ref=f1e600]
-                    - generic [ref=f1e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=f1e621]:
-              - generic [ref=f1e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=f1e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f1e625]:
-                  - textbox "璇烽�夋嫨" [ref=f1e626]: 20鏉�/椤�
-                - generic [ref=f1e627]: 睿�
-              - button "飱�" [ref=f1e630]
-              - button "顧�" [ref=f1e632]
-              - button "顫�" [ref=f1e634]
-              - button "1" [ref=f1e637] [cursor=pointer]
-              - button "顫�" [ref=f1e638]
-              - button "顧�" [ref=f1e640]
-              - button "顦�" [ref=f1e642]
-  - dialog [ref=f1e890]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=f1e892]
-    - generic [ref=f1e894]:
-      - generic [ref=f1e896]:
-        - generic [ref=f1e897]:
-          - generic [ref=f1e898]:
-            - generic [ref=f1e899]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=f1e906]: 閽㈣姱閾濈粸绾�
-        - generic [ref=f1e912]:
-          - generic [ref=f1e913]:
-            - generic [ref=f1e914]: "*"
-            - text: 浜х嚎
-          - generic [ref=f1e920]:
-            - combobox "* 浜х嚎" [ref=f1e922]
-            - generic [ref=f1e1522]:
-              - generic [ref=f1e1523]: 浜х嚎浜�
-              - generic [ref=f1e1524]: two
-        - generic [ref=f1e923]:
-          - generic [ref=f1e924]:
-            - generic [ref=f1e925]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=f1e931]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=f1e932]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-              - text: 2026-08-18 08:00:00
-            - generic:
-              - img "calendar"
-            - button [ref=f1e1529] [cursor=pointer]:
-              - img "close-circle" [ref=f1e1530]
-        - generic [ref=f1e933]:
-          - generic [ref=f1e934]: 璁″垝鏁伴噺
-          - generic [ref=f1e939]:
-            - generic [ref=f1e940]:
-              - button "Increase Value" [ref=f1e941] [cursor=pointer]:
-                - img "up" [ref=f1e942]
-              - button "Decrease Value" [ref=f1e945] [cursor=pointer]:
-                - img "down" [ref=f1e946]
-            - spinbutton "璁″垝鏁伴噺" [ref=f1e950]
-        - generic [ref=f1e951]:
-          - generic [ref=f1e952]:
-            - generic [ref=f1e953]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e960]
-        - generic [ref=f1e966]:
-          - generic [ref=f1e967]: 澶囨敞
-          - textbox "澶囨敞" [ref=f1e972]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=f1e973]:
-        - generic [ref=f1e974]:
-          - generic [ref=f1e975]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=f1e976] [cursor=pointer]
-        - generic [ref=f1e988]:
-          - table [ref=f1e992]:
-            - rowgroup [ref=f1e998]:
-              - row [ref=f1e999]:
-                - columnheader "鐢熶骇浜哄憳" [ref=f1e1000]
-                - columnheader "宀椾綅绫诲瀷" [ref=f1e1005]
-                - columnheader "澶囨敞" [ref=f1e1010]
-                - columnheader "鎿嶄綔" [ref=f1e1015]
-          - table [ref=f1e1051]:
-            - rowgroup [ref=f1e1057]:
-              - row [ref=f1e1058]:
-                - cell [ref=f1e1059]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=f1e1064]
-                - cell [ref=f1e1070]:
-                  - generic [ref=f1e1074] [cursor=pointer]:
-                    - combobox [ref=f1e1076]
-                    - generic: 璇烽�夋嫨宀椾綅绫诲瀷
-                - cell [ref=f1e1077]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=f1e1080]
-                - cell [ref=f1e1081]:
-                  - button "鍒犻櫎" [ref=f1e1087] [cursor=pointer]
-    - button [ref=f1e1031] [cursor=pointer]
-    - generic [ref=f1e1041]:
-      - button "纭� 璁�" [ref=f1e1042] [cursor=pointer]
-      - button "鍙� 娑�" [ref=f1e1045] [cursor=pointer]
-    - button [ref=f1e1047] [cursor=pointer]
-  - dialog "浜哄憳閫夋嫨" [ref=f1e2293]:
-    - document:
-      - generic [ref=f1e2294]:
-        - button "Close" [ref=f1e2295] [cursor=pointer]:
-          - img "close" [ref=f1e2297]
-        - generic [ref=f1e2300]: 浜哄憳閫夋嫨
-        - generic [ref=f1e2303]:
-          - generic [ref=f1e2305]:
-            - textbox "鎼滅储閮ㄩ棬" [ref=f1e2312]
-            - tree [ref=f1e2316]:
-              - generic:
-                - textbox "for screen reader"
-              - generic [ref=f1e2320]:
-                - generic [ref=f1e2321]:
-                  - img "caret-down" [ref=f1e2323] [cursor=pointer]
-                  - generic "鎬诲叕鍙�" [ref=f1e2326] [cursor=pointer]
-                - generic [ref=f1e2327]:
-                  - img "caret-down" [ref=f1e2330] [cursor=pointer]
-                  - generic "娣卞湷鎬诲叕鍙�" [ref=f1e2333] [cursor=pointer]
-                - generic "鐮斿彂閮ㄩ棬" [ref=f1e2337] [cursor=pointer]
-                - generic "甯傚満閮ㄩ棬" [ref=f1e2341] [cursor=pointer]
-                - generic "娴嬭瘯閮ㄩ棬" [ref=f1e2345] [cursor=pointer]
-                - generic "璐㈠姟閮ㄩ棬" [ref=f1e2349] [cursor=pointer]
-                - generic "杩愮淮閮ㄩ棬" [ref=f1e2353] [cursor=pointer]
-                - generic [ref=f1e2354]:
-                  - img "caret-down" [ref=f1e2357] [cursor=pointer]
-                  - generic "闀挎矙鍒嗗叕鍙�" [ref=f1e2360] [cursor=pointer]
-                - generic "甯傚満閮ㄩ棬" [ref=f1e2364] [cursor=pointer]
-                - generic "璐㈠姟閮ㄩ棬" [ref=f1e2368] [cursor=pointer]
-                - generic "鏂伴儴闂�" [ref=f1e2371] [cursor=pointer]
-                - generic "椤剁骇閮ㄩ棬" [ref=f1e2374] [cursor=pointer]
-                - generic "鏌愪釜瀛愰儴闂�" [ref=f1e2377] [cursor=pointer]
-                - generic "鏌愪釜瀛愰儴闂� 2" [ref=f1e2380] [cursor=pointer]
-          - generic [ref=f1e2383]:
-            - generic [ref=f1e2388]:
-              - generic [ref=f1e2389]:
-                - generic [ref=f1e2390]: 鐢ㄦ埛鍚嶇О
-                - textbox "鐢ㄦ埛鍚嶇О" [ref=f1e2396]:
-                  - /placeholder: 璇疯緭鍏ョ敤鎴峰悕绉�
-              - generic [ref=f1e2398]:
-                - generic [ref=f1e2399]: 鐢ㄦ埛鏄电О
-                - textbox "鐢ㄦ埛鏄电О" [ref=f1e2405]:
-                  - /placeholder: 璇疯緭鍏ョ敤鎴锋樀绉�
-              - generic [ref=f1e2407]:
-                - generic [ref=f1e2408]: 鎵嬫満鍙风爜
-                - textbox "鎵嬫満鍙风爜" [ref=f1e2414]:
-                  - /placeholder: 璇疯緭鍏ユ墜鏈哄彿鐮�
-              - generic [ref=f1e2416]:
-                - generic [ref=f1e2417]: 鐘舵��
-                - generic [ref=f1e2423] [cursor=pointer]:
-                  - combobox "鐘舵��" [ref=f1e2425]
-                  - generic "寮�鍚�" [ref=f1e2426]
-              - generic [ref=f1e2431]:
-                - button "閲� 缃�" [ref=f1e2432] [cursor=pointer]
-                - button "鎼� 绱�" [ref=f1e2434] [cursor=pointer]
-                - generic [ref=f1e2436] [cursor=pointer]: 鏀惰捣
-            - generic [ref=f1e2443]:
-              - generic [ref=f1e2445]:
-                - generic [ref=f1e2446]: 鐢ㄦ埛鍒楄〃
-                - button "顫�" [ref=f1e2451] [cursor=pointer]
-                - generic [ref=f1e2453]:
-                  - button "瞟�" [ref=f1e2454] [cursor=pointer]
-                  - button "顪�" [ref=f1e2456] [cursor=pointer]
-                  - button "顦�" [ref=f1e2458] [cursor=pointer]
-              - generic [ref=f1e2466]:
-                - table [ref=f1e2470]:
-                  - rowgroup [ref=f1e2478]:
-                    - row "鐢ㄦ埛缂栧彿 鐢ㄦ埛鍚嶇О 鐢ㄦ埛鏄电О 鎵嬫満鍙风爜 鐘舵��" [ref=f1e2479]:
-                      - columnheader [ref=f1e2480]
-                      - columnheader "鐢ㄦ埛缂栧彿" [ref=f1e2483]
-                      - columnheader "鐢ㄦ埛鍚嶇О" [ref=f1e2488]
-                      - columnheader "鐢ㄦ埛鏄电О" [ref=f1e2493]
-                      - columnheader "鎵嬫満鍙风爜" [ref=f1e2498]
-                      - columnheader "鐘舵��" [ref=f1e2503]
-                - table [ref=f1e2511]:
-                  - rowgroup [ref=f1e2519]:
-                    - row [ref=f1e3049]:
-                      - cell "顫�" [ref=f1e3050]
-                      - cell "230" [ref=f1e2526]
-                      - cell "18333333333" [ref=f1e2530]
-                      - cell "222" [ref=f1e2534]
-                      - cell "18333333333" [ref=f1e2538]
-                      - cell "寮�鍚�" [ref=f1e2542]
-                    - row [ref=f1e2546]:
-                      - cell "顭�" [ref=f1e2547]
-                      - cell "229" [ref=f1e2552]
-                      - cell "15822054764" [ref=f1e2556]
-                      - cell "鏀惧亣" [ref=f1e2560]
-                      - cell "15822054764" [ref=f1e2564]
-                      - cell "寮�鍚�" [ref=f1e2568]
-                    - row [ref=f1e2572]:
-                      - cell "顭�" [ref=f1e2573]
-                      - cell "228" [ref=f1e2578]
-                      - cell "15822054766" [ref=f1e2582]
-                      - cell "涓嶆兂涓婄彮" [ref=f1e2586]
-                      - cell "15822054766" [ref=f1e2590]
-                      - cell "寮�鍚�" [ref=f1e2594]
-                    - row [ref=f1e2598]:
-                      - cell "顭�" [ref=f1e2599]
-                      - cell "227" [ref=f1e2604]
-                      - cell "15822054767" [ref=f1e2608]
-                      - cell "澶ф槑鏄�" [ref=f1e2612]
-                      - cell "15822054767" [ref=f1e2616]
-                      - cell "寮�鍚�" [ref=f1e2620]
-                    - row [ref=f1e2624]:
-                      - cell "顭�" [ref=f1e2625]
-                      - cell "226" [ref=f1e2630]
-                      - cell "15822054763" [ref=f1e2634]
-                      - cell "鍗冨厠" [ref=f1e2638]
-                      - cell "15822054763" [ref=f1e2642]
-                      - cell "寮�鍚�" [ref=f1e2646]
-                    - row [ref=f1e2650]:
-                      - cell "顭�" [ref=f1e2651]
-                      - cell "225" [ref=f1e2656]
-                      - cell "15822054762" [ref=f1e2660]
-                      - cell "鍗楃摐瀛�" [ref=f1e2664]
-                      - cell "15822054762" [ref=f1e2668]
-                      - cell "寮�鍚�" [ref=f1e2672]
-                    - row "顭� 144 aoteman001 aoteman00112 鍏抽棴" [ref=f1e2676]:
-                      - cell "顭�" [ref=f1e2677]
-                      - cell "144" [ref=f1e2682]
-                      - cell "aoteman001" [ref=f1e2686]
-                      - cell "aoteman00112" [ref=f1e2690]
-                      - cell [ref=f1e2694]
-                      - cell "鍏抽棴" [ref=f1e2698]
-                    - row "顭� 143 a00001 a00001 寮�鍚�" [ref=f1e2702]:
-                      - cell "顭�" [ref=f1e2703]
-                      - cell "143" [ref=f1e2708]
-                      - cell "a00001" [ref=f1e2712]
-                      - cell "a00001" [ref=f1e2716]
-                      - cell [ref=f1e2720]
-                      - cell "寮�鍚�" [ref=f1e2724]
-                    - row [ref=f1e2728]:
-                      - cell "顭�" [ref=f1e2729]
-                      - cell "142" [ref=f1e2734]
-                      - cell "test01" [ref=f1e2738]
-                      - cell "test01" [ref=f1e2742]
-                      - cell "19021719925" [ref=f1e2746]
-                      - cell "寮�鍚�" [ref=f1e2750]
-                    - row "顭� 141 admin1 鏂扮敤鎴� 寮�鍚�" [ref=f1e2754]:
-                      - cell "顭�" [ref=f1e2755]
-                      - cell "141" [ref=f1e2760]
-                      - cell "admin1" [ref=f1e2764]
-                      - cell "鏂扮敤鎴�" [ref=f1e2768]
-                      - cell [ref=f1e2772]
-                      - cell "寮�鍚�" [ref=f1e2776]
-                    - row "顭� 139 wwbwwb 灏忕澶� 寮�鍚�" [ref=f1e2780]:
-                      - cell "顭�" [ref=f1e2781]
-                      - cell "139" [ref=f1e2786]
-                      - cell "wwbwwb" [ref=f1e2790]
-                      - cell "灏忕澶�" [ref=f1e2794]
-                      - cell [ref=f1e2798]
-                      - cell "寮�鍚�" [ref=f1e2802]
-                    - row [ref=f1e2806]:
-                      - cell "顭�" [ref=f1e2807]
-                      - cell "118" [ref=f1e2812]
-                      - cell "goudan" [ref=f1e2816]
-                      - cell "鐙楄泲" [ref=f1e2820]
-                      - cell "15601691239" [ref=f1e2824]
-                      - cell "寮�鍚�" [ref=f1e2828]
-                    - row [ref=f1e2832]:
-                      - cell "顭�" [ref=f1e2833]
-                      - cell "117" [ref=f1e2838]
-                      - cell "admin123" [ref=f1e2842]
-                      - cell "娴嬭瘯鍙�02" [ref=f1e2846]
-                      - cell "15601691234" [ref=f1e2850]
-                      - cell "寮�鍚�" [ref=f1e2854]
-                    - row [ref=f1e2858]:
-                      - cell "顭�" [ref=f1e2859]
-                      - cell "115" [ref=f1e2864]
-                      - cell "aotemane" [ref=f1e2868]
-                      - cell "闃垮憜" [ref=f1e2872]
-                      - cell "15601691229" [ref=f1e2876]
-                      - cell "寮�鍚�" [ref=f1e2880]
-                    - row [ref=f1e2884]:
-                      - cell "顭�" [ref=f1e2885]
-                      - cell "114" [ref=f1e2890]
-                      - cell "hrmgr" [ref=f1e2894]
-                      - cell "hr 灏忓濮�" [ref=f1e2898]
-                      - cell "15601691236" [ref=f1e2902]
-                      - cell "寮�鍚�" [ref=f1e2906]
-                    - row [ref=f1e2910]:
-                      - cell "顭�" [ref=f1e2911]
-                      - cell "113" [ref=f1e2916]
-                      - cell "aoteman" [ref=f1e2920]
-                      - cell "绠$悊鍛�1" [ref=f1e2924]
-                      - cell "15601691300" [ref=f1e2928]
-                      - cell "寮�鍚�" [ref=f1e2932]
-                    - row [ref=f1e2936]:
-                      - cell "顭�" [ref=f1e2937]
-                      - cell "112" [ref=f1e2942]
-                      - cell "newobject" [ref=f1e2946]
-                      - cell "鏂板璞�" [ref=f1e2950]
-                      - cell "15601691235" [ref=f1e2954]
-                      - cell "寮�鍚�" [ref=f1e2958]
-                    - row "顭� 111 test 娴嬭瘯鐢ㄦ埛 寮�鍚�" [ref=f1e2962]:
-                      - cell "顭�" [ref=f1e2963]
-                      - cell "111" [ref=f1e2968]
-                      - cell "test" [ref=f1e2972]
-                      - cell "娴嬭瘯鐢ㄦ埛" [ref=f1e2976]
-                      - cell [ref=f1e2980]
-                      - cell "寮�鍚�" [ref=f1e2984]
-                    - row [ref=f1e2988]:
-                      - cell "顭�" [ref=f1e2989]
-                      - cell "1" [ref=f1e2994]
-                      - cell "admin" [ref=f1e2998]
-                      - cell "瓒呯骇绠$悊鍛�" [ref=f1e3002]
-                      - cell "18818260272" [ref=f1e3006]
-                      - cell "寮�鍚�" [ref=f1e3010]
-              - generic [ref=f1e3021]:
-                - generic [ref=f1e3022]: 鍏� 19 鏉¤褰�
-                - generic [ref=f1e3024] [cursor=pointer]:
-                  - generic "20鏉�/椤�" [ref=f1e3025]:
-                    - textbox "璇烽�夋嫨" [ref=f1e3026]: 20鏉�/椤�
-                  - generic [ref=f1e3027]: 睿�
-                - button "飱�" [ref=f1e3030]
-                - button "顧�" [ref=f1e3032]
-                - button "顫�" [ref=f1e3034]
-                - button "1" [ref=f1e3037] [cursor=pointer]
-                - button "顫�" [ref=f1e3038]
-                - button "顧�" [ref=f1e3040]
-                - button "顦�" [ref=f1e3042]
-        - generic [ref=f1e3044]:
-          - button "鍙� 娑�" [ref=f1e3045] [cursor=pointer]
-          - button "纭� 瀹�" [ref=f1e3047] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-25-58-788Z.yml b/.playwright-mcp/page-2026-08-18T08-25-58-788Z.yml
deleted file mode 100644
index 649886a..0000000
--- a/.playwright-mcp/page-2026-08-18T08-25-58-788Z.yml
+++ /dev/null
@@ -1,272 +0,0 @@
-- generic [ref=f1e4]:
-  - generic [ref=f1e7]:
-    - complementary [ref=f1e8]:
-      - generic [ref=f1e9]:
-        - generic [ref=f1e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e18]
-          - generic [ref=f1e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=f1e22]:
-          - menuitem "棣栭〉" [ref=f1e23] [cursor=pointer]
-          - listitem [ref=f1e30]:
-            - generic [ref=f1e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f1e39]:
-            - generic [ref=f1e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=f1e46]:
-            - generic [ref=f1e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=f1e53]:
-            - generic [ref=f1e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=f1e61]:
-            - generic [ref=f1e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f1e70]:
-            - generic [ref=f1e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=f1e78]:
-            - generic [ref=f1e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f1e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f1e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f1e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f1e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f1e104] [cursor=pointer]
-          - listitem [ref=f1e111]:
-            - generic [ref=f1e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f1e118]:
-            - generic [ref=f1e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=f1e125]:
-            - generic [ref=f1e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=f1e132]:
-            - generic [ref=f1e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=f1e139]:
-            - generic [ref=f1e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=f1e146]:
-            - generic [ref=f1e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=f1e153]:
-            - generic [ref=f1e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=f1e160]:
-            - generic [ref=f1e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=f1e169] [cursor=pointer]
-    - generic [ref=f1e174]:
-      - generic [ref=f1e175]:
-        - banner [ref=f1e176]:
-          - button [ref=f1e177] [cursor=pointer]
-          - button [ref=f1e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f1e185]:
-            - list [ref=f1e186]:
-              - listitem [ref=f1e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f1e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f1e192]
-              - listitem [ref=f1e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=f1e196]
-          - generic [ref=f1e201]:
-            - generic [ref=f1e203] [cursor=pointer]:
-              - generic [ref=f1e207]: 鎼滅储
-              - generic [ref=f1e208]: Ctrl K
-            - button [ref=f1e210] [cursor=pointer]
-            - button "dark" [ref=f1e215] [cursor=pointer]
-            - button [ref=f1e224] [cursor=pointer]
-            - button [ref=f1e230] [cursor=pointer]
-            - button [ref=f1e233] [cursor=pointer]
-            - button [ref=f1e239] [cursor=pointer]:
-              - button [ref=f1e241]
-            - button "宸ヤ綔鍙�" [ref=f1e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f1e250] [cursor=pointer]
-        - generic [ref=f1e257]:
-          - generic [ref=f1e262]:
-            - generic [ref=f1e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=f1e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=f1e298]:
-            - button [ref=f1e299] [cursor=pointer]
-            - generic [ref=f1e306] [cursor=pointer]
-            - generic [ref=f1e310] [cursor=pointer]
-      - main [ref=f1e317]:
-        - generic [ref=f1e322]:
-          - generic [ref=f1e327]:
-            - generic [ref=f1e328]:
-              - generic [ref=f1e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f1e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f1e337]:
-              - generic [ref=f1e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=f1e345]
-            - generic [ref=f1e351]:
-              - generic [ref=f1e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=f1e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=f1e360]:
-              - generic [ref=f1e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=f1e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=f1e369]:
-              - generic [ref=f1e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e377]: 瓒呯骇绠$悊鍛�
-            - generic [ref=f1e383]:
-              - generic [ref=f1e384]: 鎵规鐘舵��
-              - generic [ref=f1e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=f1e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=f1e393]:
-              - generic [ref=f1e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=f1e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=f1e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e403]:
-                  - img "swap-right" [ref=f1e404]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e409]:
-              - generic [ref=f1e410]: 鍒涘缓鏃堕棿
-              - generic [ref=f1e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f1e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e419]:
-                  - img "swap-right" [ref=f1e420]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e425]:
-              - button "閲� 缃�" [ref=f1e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f1e428] [cursor=pointer]
-              - generic [ref=f1e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f1e437]:
-            - generic [ref=f1e439]:
-              - generic [ref=f1e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=f1e444]:
-                - generic [ref=f1e446]:
-                  - button "鏂板鎵规" [ref=f1e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f1e453] [cursor=pointer]
-                - button "顫�" [ref=f1e459] [cursor=pointer]
-              - generic [ref=f1e461]:
-                - button "瞟�" [ref=f1e462] [cursor=pointer]
-                - button "顪�" [ref=f1e464] [cursor=pointer]
-                - button "顦�" [ref=f1e466] [cursor=pointer]
-            - generic [ref=f1e470]:
-              - generic [ref=f1e473]:
-                - generic [ref=f1e474]:
-                  - table [ref=f1e478]:
-                    - rowgroup [ref=f1e493]:
-                      - row [ref=f1e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=f1e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=f1e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=f1e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=f1e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=f1e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=f1e520]
-                        - columnheader "璐d换浜�" [ref=f1e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=f1e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=f1e535]
-                        - columnheader "鎵规鐘舵��" [ref=f1e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=f1e545]
-                  - generic [ref=f1e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=f1e553]:
-                    - table [ref=f1e556]:
-                      - rowgroup [ref=f1e571]:
-                        - row [ref=f1e572]:
-                          - columnheader "鎵规鍙�" [ref=f1e573]
-                    - generic [ref=f1e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=f1e580]:
-                    - table [ref=f1e583]:
-                      - rowgroup [ref=f1e598]:
-                        - row [ref=f1e599]:
-                          - columnheader "鎿嶄綔" [ref=f1e600]
-                    - generic [ref=f1e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=f1e621]:
-              - generic [ref=f1e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=f1e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f1e625]:
-                  - textbox "璇烽�夋嫨" [ref=f1e626]: 20鏉�/椤�
-                - generic [ref=f1e627]: 睿�
-              - button "飱�" [ref=f1e630]
-              - button "顧�" [ref=f1e632]
-              - button "顫�" [ref=f1e634]
-              - button "1" [ref=f1e637] [cursor=pointer]
-              - button "顫�" [ref=f1e638]
-              - button "顧�" [ref=f1e640]
-              - button "顦�" [ref=f1e642]
-  - dialog [ref=f1e890]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=f1e892]
-    - generic [ref=f1e894]:
-      - generic [ref=f1e896]:
-        - generic [ref=f1e897]:
-          - generic [ref=f1e898]:
-            - generic [ref=f1e899]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=f1e906]: 閽㈣姱閾濈粸绾�
-        - generic [ref=f1e912]:
-          - generic [ref=f1e913]:
-            - generic [ref=f1e914]: "*"
-            - text: 浜х嚎
-          - generic [ref=f1e920]:
-            - combobox "* 浜х嚎" [ref=f1e922]
-            - generic [ref=f1e1522]:
-              - generic [ref=f1e1523]: 浜х嚎浜�
-              - generic [ref=f1e1524]: two
-        - generic [ref=f1e923]:
-          - generic [ref=f1e924]:
-            - generic [ref=f1e925]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=f1e931]:
-            - textbox "* 鐢熶骇鏃ユ湡" [active] [ref=f1e932]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-              - text: 2026-08-18 08:00:00
-            - generic:
-              - img "calendar"
-            - button [ref=f1e1529] [cursor=pointer]:
-              - img "close-circle" [ref=f1e1530]
-        - generic [ref=f1e933]:
-          - generic [ref=f1e934]: 璁″垝鏁伴噺
-          - generic [ref=f1e939]:
-            - generic [ref=f1e940]:
-              - button "Increase Value" [ref=f1e941] [cursor=pointer]:
-                - img "up" [ref=f1e942]
-              - button "Decrease Value" [ref=f1e945] [cursor=pointer]:
-                - img "down" [ref=f1e946]
-            - spinbutton "璁″垝鏁伴噺" [ref=f1e950]
-        - generic [ref=f1e951]:
-          - generic [ref=f1e952]:
-            - generic [ref=f1e953]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e960]
-        - generic [ref=f1e966]:
-          - generic [ref=f1e967]: 澶囨敞
-          - textbox "澶囨敞" [ref=f1e972]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=f1e973]:
-        - generic [ref=f1e974]:
-          - generic [ref=f1e975]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=f1e976] [cursor=pointer]
-        - generic [ref=f1e988]:
-          - table [ref=f1e992]:
-            - rowgroup [ref=f1e998]:
-              - row [ref=f1e999]:
-                - columnheader "鐢熶骇浜哄憳" [ref=f1e1000]
-                - columnheader "宀椾綅绫诲瀷" [ref=f1e1005]
-                - columnheader "澶囨敞" [ref=f1e1010]
-                - columnheader "鎿嶄綔" [ref=f1e1015]
-          - table [ref=f1e1051]:
-            - rowgroup [ref=f1e1057]:
-              - row [ref=f1e3051]:
-                - cell [ref=f1e3052]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=f1e1064]: "222"
-                - cell [ref=f1e1070]:
-                  - generic [ref=f1e1074] [cursor=pointer]:
-                    - combobox [ref=f1e1076]
-                    - generic: 璇烽�夋嫨宀椾綅绫诲瀷
-                - cell [ref=f1e1077]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=f1e1080]
-                - cell [ref=f1e1081]:
-                  - button "鍒犻櫎" [ref=f1e1087] [cursor=pointer]
-    - button [ref=f1e1031] [cursor=pointer]
-    - generic [ref=f1e1041]:
-      - button "纭� 璁�" [ref=f1e1042] [cursor=pointer]
-      - button "鍙� 娑�" [ref=f1e1045] [cursor=pointer]
-    - button [ref=f1e1047] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-26-27-866Z.yml b/.playwright-mcp/page-2026-08-18T08-26-27-866Z.yml
deleted file mode 100644
index 500b1a7..0000000
--- a/.playwright-mcp/page-2026-08-18T08-26-27-866Z.yml
+++ /dev/null
@@ -1,288 +0,0 @@
-- generic [ref=f1e4]:
-  - generic [ref=f1e7]:
-    - complementary [ref=f1e8]:
-      - generic [ref=f1e9]:
-        - generic [ref=f1e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e18]
-          - generic [ref=f1e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=f1e22]:
-          - menuitem "棣栭〉" [ref=f1e23] [cursor=pointer]
-          - listitem [ref=f1e30]:
-            - generic [ref=f1e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f1e39]:
-            - generic [ref=f1e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=f1e46]:
-            - generic [ref=f1e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=f1e53]:
-            - generic [ref=f1e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=f1e61]:
-            - generic [ref=f1e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f1e70]:
-            - generic [ref=f1e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=f1e78]:
-            - generic [ref=f1e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f1e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f1e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f1e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f1e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f1e104] [cursor=pointer]
-          - listitem [ref=f1e111]:
-            - generic [ref=f1e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f1e118]:
-            - generic [ref=f1e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=f1e125]:
-            - generic [ref=f1e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=f1e132]:
-            - generic [ref=f1e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=f1e139]:
-            - generic [ref=f1e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=f1e146]:
-            - generic [ref=f1e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=f1e153]:
-            - generic [ref=f1e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=f1e160]:
-            - generic [ref=f1e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=f1e169] [cursor=pointer]
-    - generic [ref=f1e174]:
-      - generic [ref=f1e175]:
-        - banner [ref=f1e176]:
-          - button [ref=f1e177] [cursor=pointer]
-          - button [ref=f1e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f1e185]:
-            - list [ref=f1e186]:
-              - listitem [ref=f1e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f1e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f1e192]
-              - listitem [ref=f1e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=f1e196]
-          - generic [ref=f1e201]:
-            - generic [ref=f1e203] [cursor=pointer]:
-              - generic [ref=f1e207]: 鎼滅储
-              - generic [ref=f1e208]: Ctrl K
-            - button [ref=f1e210] [cursor=pointer]
-            - button "dark" [ref=f1e215] [cursor=pointer]
-            - button [ref=f1e224] [cursor=pointer]
-            - button [ref=f1e230] [cursor=pointer]
-            - button [ref=f1e233] [cursor=pointer]
-            - button [ref=f1e239] [cursor=pointer]:
-              - button [ref=f1e241]
-            - button "宸ヤ綔鍙�" [ref=f1e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f1e250] [cursor=pointer]
-        - generic [ref=f1e257]:
-          - generic [ref=f1e262]:
-            - generic [ref=f1e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=f1e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=f1e298]:
-            - button [ref=f1e299] [cursor=pointer]
-            - generic [ref=f1e306] [cursor=pointer]
-            - generic [ref=f1e310] [cursor=pointer]
-      - main [ref=f1e317]:
-        - generic [ref=f1e322]:
-          - generic [ref=f1e327]:
-            - generic [ref=f1e328]:
-              - generic [ref=f1e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f1e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f1e337]:
-              - generic [ref=f1e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=f1e345]
-            - generic [ref=f1e351]:
-              - generic [ref=f1e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=f1e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=f1e360]:
-              - generic [ref=f1e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=f1e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=f1e369]:
-              - generic [ref=f1e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e377]: 瓒呯骇绠$悊鍛�
-            - generic [ref=f1e383]:
-              - generic [ref=f1e384]: 鎵规鐘舵��
-              - generic [ref=f1e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=f1e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=f1e393]:
-              - generic [ref=f1e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=f1e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=f1e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e403]:
-                  - img "swap-right" [ref=f1e404]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e409]:
-              - generic [ref=f1e410]: 鍒涘缓鏃堕棿
-              - generic [ref=f1e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f1e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e419]:
-                  - img "swap-right" [ref=f1e420]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e425]:
-              - button "閲� 缃�" [ref=f1e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f1e428] [cursor=pointer]
-              - generic [ref=f1e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f1e437]:
-            - generic [ref=f1e439]:
-              - generic [ref=f1e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=f1e444]:
-                - generic [ref=f1e446]:
-                  - button "鏂板鎵规" [ref=f1e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f1e453] [cursor=pointer]
-                - button "顫�" [ref=f1e459] [cursor=pointer]
-              - generic [ref=f1e461]:
-                - button "瞟�" [ref=f1e462] [cursor=pointer]
-                - button "顪�" [ref=f1e464] [cursor=pointer]
-                - button "顦�" [ref=f1e466] [cursor=pointer]
-            - generic [ref=f1e470]:
-              - generic [ref=f1e473]:
-                - generic [ref=f1e474]:
-                  - table [ref=f1e478]:
-                    - rowgroup [ref=f1e493]:
-                      - row [ref=f1e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=f1e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=f1e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=f1e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=f1e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=f1e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=f1e520]
-                        - columnheader "璐d换浜�" [ref=f1e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=f1e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=f1e535]
-                        - columnheader "鎵规鐘舵��" [ref=f1e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=f1e545]
-                  - generic [ref=f1e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=f1e553]:
-                    - table [ref=f1e556]:
-                      - rowgroup [ref=f1e571]:
-                        - row [ref=f1e572]:
-                          - columnheader "鎵规鍙�" [ref=f1e573]
-                    - generic [ref=f1e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=f1e580]:
-                    - table [ref=f1e583]:
-                      - rowgroup [ref=f1e598]:
-                        - row [ref=f1e599]:
-                          - columnheader "鎿嶄綔" [ref=f1e600]
-                    - generic [ref=f1e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=f1e621]:
-              - generic [ref=f1e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=f1e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f1e625]:
-                  - textbox "璇烽�夋嫨" [ref=f1e626]: 20鏉�/椤�
-                - generic [ref=f1e627]: 睿�
-              - button "飱�" [ref=f1e630]
-              - button "顧�" [ref=f1e632]
-              - button "顫�" [ref=f1e634]
-              - button "1" [ref=f1e637] [cursor=pointer]
-              - button "顫�" [ref=f1e638]
-              - button "顧�" [ref=f1e640]
-              - button "顦�" [ref=f1e642]
-  - dialog [ref=f1e890]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=f1e892]
-    - generic [ref=f1e894]:
-      - generic [ref=f1e896]:
-        - generic [ref=f1e897]:
-          - generic [ref=f1e898]:
-            - generic [ref=f1e899]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=f1e906]: 閽㈣姱閾濈粸绾�
-        - generic [ref=f1e912]:
-          - generic [ref=f1e913]:
-            - generic [ref=f1e914]: "*"
-            - text: 浜х嚎
-          - generic [ref=f1e920]:
-            - combobox "* 浜х嚎" [ref=f1e922]
-            - generic [ref=f1e1522]:
-              - generic [ref=f1e1523]: 浜х嚎浜�
-              - generic [ref=f1e1524]: two
-        - generic [ref=f1e923]:
-          - generic [ref=f1e924]:
-            - generic [ref=f1e925]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=f1e931]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=f1e932]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-              - text: 2026-08-18 08:00:00
-            - generic:
-              - img "calendar"
-            - button [ref=f1e1529] [cursor=pointer]:
-              - img "close-circle" [ref=f1e1530]
-        - generic [ref=f1e933]:
-          - generic [ref=f1e934]: 璁″垝鏁伴噺
-          - generic [ref=f1e939]:
-            - generic [ref=f1e940]:
-              - button "Increase Value" [ref=f1e941] [cursor=pointer]:
-                - img "up" [ref=f1e942]
-              - button "Decrease Value" [ref=f1e945] [cursor=pointer]:
-                - img "down" [ref=f1e946]
-            - spinbutton "璁″垝鏁伴噺" [ref=f1e950]
-        - generic [ref=f1e951]:
-          - generic [ref=f1e952]:
-            - generic [ref=f1e953]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e960]
-        - generic [ref=f1e966]:
-          - generic [ref=f1e967]: 澶囨敞
-          - textbox "澶囨敞" [ref=f1e972]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=f1e973]:
-        - generic [ref=f1e974]:
-          - generic [ref=f1e975]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=f1e976] [cursor=pointer]
-        - generic [ref=f1e988]:
-          - table [ref=f1e992]:
-            - rowgroup [ref=f1e998]:
-              - row [ref=f1e999]:
-                - columnheader "鐢熶骇浜哄憳" [ref=f1e1000]
-                - columnheader "宀椾綅绫诲瀷" [ref=f1e1005]
-                - columnheader "澶囨敞" [ref=f1e1010]
-                - columnheader "鎿嶄綔" [ref=f1e1015]
-          - table [ref=f1e1051]:
-            - rowgroup [ref=f1e1057]:
-              - row [ref=f1e3051]:
-                - cell [ref=f1e3052]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=f1e1064]: "222"
-                - cell [ref=f1e1070]:
-                  - generic [ref=f1e1074] [cursor=pointer]:
-                    - combobox [expanded] [active] [ref=f1e1076]:
-                      - listbox:
-                        - option "缁勯暱": "10"
-                        - option "鎿嶄綔宸�": "20"
-                    - generic: 璇烽�夋嫨宀椾綅绫诲瀷
-                - cell [ref=f1e1077]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=f1e1080]
-                - cell [ref=f1e1081]:
-                  - button "鍒犻櫎" [ref=f1e1087] [cursor=pointer]
-    - button [ref=f1e1031] [cursor=pointer]
-    - generic [ref=f1e1041]:
-      - button "纭� 璁�" [ref=f1e1042] [cursor=pointer]
-      - button "鍙� 娑�" [ref=f1e1045] [cursor=pointer]
-    - button [ref=f1e1047] [cursor=pointer]
-  - generic:
-    - generic:
-      - generic:
-        - generic:
-          - generic:
-            - generic:
-              - generic:
-                - generic:
-                  - generic "缁勯暱"
-                  - generic "鎿嶄綔宸�"
-                  - generic "鍖呰宸�"
-                  - generic "璐ㄦ鍛�"
-                  - generic "鍏朵粬"
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-26-48-898Z.yml b/.playwright-mcp/page-2026-08-18T08-26-48-898Z.yml
deleted file mode 100644
index 78a5bd0..0000000
--- a/.playwright-mcp/page-2026-08-18T08-26-48-898Z.yml
+++ /dev/null
@@ -1,290 +0,0 @@
-- generic [ref=f1e4]:
-  - generic [ref=f1e7]:
-    - complementary [ref=f1e8]:
-      - generic [ref=f1e9]:
-        - generic [ref=f1e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e18]
-          - generic [ref=f1e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=f1e22]:
-          - menuitem "棣栭〉" [ref=f1e23] [cursor=pointer]
-          - listitem [ref=f1e30]:
-            - generic [ref=f1e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f1e39]:
-            - generic [ref=f1e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=f1e46]:
-            - generic [ref=f1e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=f1e53]:
-            - generic [ref=f1e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=f1e61]:
-            - generic [ref=f1e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f1e70]:
-            - generic [ref=f1e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=f1e78]:
-            - generic [ref=f1e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f1e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f1e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f1e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f1e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f1e104] [cursor=pointer]
-          - listitem [ref=f1e111]:
-            - generic [ref=f1e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f1e118]:
-            - generic [ref=f1e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=f1e125]:
-            - generic [ref=f1e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=f1e132]:
-            - generic [ref=f1e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=f1e139]:
-            - generic [ref=f1e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=f1e146]:
-            - generic [ref=f1e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=f1e153]:
-            - generic [ref=f1e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=f1e160]:
-            - generic [ref=f1e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=f1e169] [cursor=pointer]
-    - generic [ref=f1e174]:
-      - generic [ref=f1e175]:
-        - banner [ref=f1e176]:
-          - button [ref=f1e177] [cursor=pointer]
-          - button [ref=f1e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f1e185]:
-            - list [ref=f1e186]:
-              - listitem [ref=f1e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f1e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f1e192]
-              - listitem [ref=f1e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=f1e196]
-          - generic [ref=f1e201]:
-            - generic [ref=f1e203] [cursor=pointer]:
-              - generic [ref=f1e207]: 鎼滅储
-              - generic [ref=f1e208]: Ctrl K
-            - button [ref=f1e210] [cursor=pointer]
-            - button "dark" [ref=f1e215] [cursor=pointer]
-            - button [ref=f1e224] [cursor=pointer]
-            - button [ref=f1e230] [cursor=pointer]
-            - button [ref=f1e233] [cursor=pointer]
-            - button [ref=f1e239] [cursor=pointer]:
-              - button [ref=f1e241]
-            - button "宸ヤ綔鍙�" [ref=f1e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f1e250] [cursor=pointer]
-        - generic [ref=f1e257]:
-          - generic [ref=f1e262]:
-            - generic [ref=f1e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=f1e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=f1e298]:
-            - button [ref=f1e299] [cursor=pointer]
-            - generic [ref=f1e306] [cursor=pointer]
-            - generic [ref=f1e310] [cursor=pointer]
-      - main [ref=f1e317]:
-        - generic [ref=f1e322]:
-          - generic [ref=f1e327]:
-            - generic [ref=f1e328]:
-              - generic [ref=f1e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f1e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f1e337]:
-              - generic [ref=f1e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=f1e345]
-            - generic [ref=f1e351]:
-              - generic [ref=f1e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=f1e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=f1e360]:
-              - generic [ref=f1e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=f1e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=f1e369]:
-              - generic [ref=f1e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e377]: 瓒呯骇绠$悊鍛�
-            - generic [ref=f1e383]:
-              - generic [ref=f1e384]: 鎵规鐘舵��
-              - generic [ref=f1e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=f1e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=f1e393]:
-              - generic [ref=f1e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=f1e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=f1e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e403]:
-                  - img "swap-right" [ref=f1e404]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e409]:
-              - generic [ref=f1e410]: 鍒涘缓鏃堕棿
-              - generic [ref=f1e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f1e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e419]:
-                  - img "swap-right" [ref=f1e420]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e425]:
-              - button "閲� 缃�" [ref=f1e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f1e428] [cursor=pointer]
-              - generic [ref=f1e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f1e437]:
-            - generic [ref=f1e439]:
-              - generic [ref=f1e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=f1e444]:
-                - generic [ref=f1e446]:
-                  - button "鏂板鎵规" [ref=f1e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f1e453] [cursor=pointer]
-                - button "顫�" [ref=f1e459] [cursor=pointer]
-              - generic [ref=f1e461]:
-                - button "瞟�" [ref=f1e462] [cursor=pointer]
-                - button "顪�" [ref=f1e464] [cursor=pointer]
-                - button "顦�" [ref=f1e466] [cursor=pointer]
-            - generic [ref=f1e470]:
-              - generic [ref=f1e473]:
-                - generic [ref=f1e474]:
-                  - table [ref=f1e478]:
-                    - rowgroup [ref=f1e493]:
-                      - row [ref=f1e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=f1e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=f1e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=f1e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=f1e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=f1e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=f1e520]
-                        - columnheader "璐d换浜�" [ref=f1e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=f1e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=f1e535]
-                        - columnheader "鎵规鐘舵��" [ref=f1e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=f1e545]
-                  - generic [ref=f1e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=f1e553]:
-                    - table [ref=f1e556]:
-                      - rowgroup [ref=f1e571]:
-                        - row [ref=f1e572]:
-                          - columnheader "鎵规鍙�" [ref=f1e573]
-                    - generic [ref=f1e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=f1e580]:
-                    - table [ref=f1e583]:
-                      - rowgroup [ref=f1e598]:
-                        - row [ref=f1e599]:
-                          - columnheader "鎿嶄綔" [ref=f1e600]
-                    - generic [ref=f1e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=f1e621]:
-              - generic [ref=f1e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=f1e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f1e625]:
-                  - textbox "璇烽�夋嫨" [ref=f1e626]: 20鏉�/椤�
-                - generic [ref=f1e627]: 睿�
-              - button "飱�" [ref=f1e630]
-              - button "顧�" [ref=f1e632]
-              - button "顫�" [ref=f1e634]
-              - button "1" [ref=f1e637] [cursor=pointer]
-              - button "顫�" [ref=f1e638]
-              - button "顧�" [ref=f1e640]
-              - button "顦�" [ref=f1e642]
-  - dialog [ref=f1e890]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=f1e892]
-    - generic [ref=f1e894]:
-      - generic [ref=f1e896]:
-        - generic [ref=f1e897]:
-          - generic [ref=f1e898]:
-            - generic [ref=f1e899]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=f1e906]: 閽㈣姱閾濈粸绾�
-        - generic [ref=f1e912]:
-          - generic [ref=f1e913]:
-            - generic [ref=f1e914]: "*"
-            - text: 浜х嚎
-          - generic [ref=f1e920]:
-            - combobox "* 浜х嚎" [ref=f1e922]
-            - generic [ref=f1e1522]:
-              - generic [ref=f1e1523]: 浜х嚎浜�
-              - generic [ref=f1e1524]: two
-        - generic [ref=f1e923]:
-          - generic [ref=f1e924]:
-            - generic [ref=f1e925]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=f1e931]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=f1e932]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-              - text: 2026-08-18 08:00:00
-            - generic:
-              - img "calendar"
-            - button [ref=f1e1529] [cursor=pointer]:
-              - img "close-circle" [ref=f1e1530]
-        - generic [ref=f1e933]:
-          - generic [ref=f1e934]: 璁″垝鏁伴噺
-          - generic [ref=f1e939]:
-            - generic [ref=f1e940]:
-              - button "Increase Value" [ref=f1e941] [cursor=pointer]:
-                - img "up" [ref=f1e942]
-              - button "Decrease Value" [ref=f1e945] [cursor=pointer]:
-                - img "down" [ref=f1e946]
-            - spinbutton "璁″垝鏁伴噺" [ref=f1e950]
-        - generic [ref=f1e951]:
-          - generic [ref=f1e952]:
-            - generic [ref=f1e953]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e960]
-        - generic [ref=f1e966]:
-          - generic [ref=f1e967]: 澶囨敞
-          - textbox "澶囨敞" [ref=f1e972]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=f1e973]:
-        - generic [ref=f1e974]:
-          - generic [ref=f1e975]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=f1e976] [cursor=pointer]
-        - generic [ref=f1e988]:
-          - table [ref=f1e992]:
-            - rowgroup [ref=f1e998]:
-              - row [ref=f1e999]:
-                - columnheader "鐢熶骇浜哄憳" [ref=f1e1000]
-                - columnheader "宀椾綅绫诲瀷" [ref=f1e1005]
-                - columnheader "澶囨敞" [ref=f1e1010]
-                - columnheader "鎿嶄綔" [ref=f1e1015]
-          - table [ref=f1e1051]:
-            - rowgroup [ref=f1e1057]:
-              - row [ref=f1e3069]:
-                - cell [ref=f1e3052]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=f1e1064]: "222"
-                - cell "缁勯暱 缁勯暱 缁勯暱" [ref=f1e3070]:
-                  - generic [ref=f1e1073] [cursor=pointer]:
-                    - generic: 缁勯暱
-                    - generic [ref=f1e1074]:
-                      - combobox [active] [ref=f1e1076]:
-                        - listbox:
-                          - option "缁勯暱" [selected]: "10"
-                          - option "鎿嶄綔宸�": "20"
-                      - generic "缁勯暱" [ref=f1e3071]
-                - cell [ref=f1e1077]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=f1e1080]
-                - cell [ref=f1e1081]:
-                  - button "鍒犻櫎" [ref=f1e1087] [cursor=pointer]
-    - button [ref=f1e1031] [cursor=pointer]
-    - generic [ref=f1e1041]:
-      - button "纭� 璁�" [ref=f1e1042] [cursor=pointer]
-      - button "鍙� 娑�" [ref=f1e1045] [cursor=pointer]
-    - button [ref=f1e1047] [cursor=pointer]
-  - generic:
-    - generic:
-      - generic:
-        - generic:
-          - generic:
-            - generic:
-              - generic:
-                - generic:
-                  - generic "缁勯暱"
-                  - generic "鎿嶄綔宸�"
-                  - generic "鍖呰宸�"
-                  - generic "璐ㄦ鍛�"
-                  - generic "鍏朵粬"
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-27-07-283Z.yml b/.playwright-mcp/page-2026-08-18T08-27-07-283Z.yml
deleted file mode 100644
index 73b3a70..0000000
--- a/.playwright-mcp/page-2026-08-18T08-27-07-283Z.yml
+++ /dev/null
@@ -1,274 +0,0 @@
-- generic [ref=f1e4]:
-  - generic [ref=f1e7]:
-    - complementary [ref=f1e8]:
-      - generic [ref=f1e9]:
-        - generic [ref=f1e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e18]
-          - generic [ref=f1e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=f1e22]:
-          - menuitem "棣栭〉" [ref=f1e23] [cursor=pointer]
-          - listitem [ref=f1e30]:
-            - generic [ref=f1e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f1e39]:
-            - generic [ref=f1e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=f1e46]:
-            - generic [ref=f1e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=f1e53]:
-            - generic [ref=f1e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=f1e61]:
-            - generic [ref=f1e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f1e70]:
-            - generic [ref=f1e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=f1e78]:
-            - generic [ref=f1e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f1e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f1e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f1e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f1e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f1e104] [cursor=pointer]
-          - listitem [ref=f1e111]:
-            - generic [ref=f1e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f1e118]:
-            - generic [ref=f1e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=f1e125]:
-            - generic [ref=f1e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=f1e132]:
-            - generic [ref=f1e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=f1e139]:
-            - generic [ref=f1e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=f1e146]:
-            - generic [ref=f1e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=f1e153]:
-            - generic [ref=f1e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=f1e160]:
-            - generic [ref=f1e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=f1e169] [cursor=pointer]
-    - generic [ref=f1e174]:
-      - generic [ref=f1e175]:
-        - banner [ref=f1e176]:
-          - button [ref=f1e177] [cursor=pointer]
-          - button [ref=f1e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f1e185]:
-            - list [ref=f1e186]:
-              - listitem [ref=f1e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f1e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f1e192]
-              - listitem [ref=f1e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=f1e196]
-          - generic [ref=f1e201]:
-            - generic [ref=f1e203] [cursor=pointer]:
-              - generic [ref=f1e207]: 鎼滅储
-              - generic [ref=f1e208]: Ctrl K
-            - button [ref=f1e210] [cursor=pointer]
-            - button "dark" [ref=f1e215] [cursor=pointer]
-            - button [ref=f1e224] [cursor=pointer]
-            - button [ref=f1e230] [cursor=pointer]
-            - button [ref=f1e233] [cursor=pointer]
-            - button [ref=f1e239] [cursor=pointer]:
-              - button [ref=f1e241]
-            - button "宸ヤ綔鍙�" [ref=f1e246] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f1e250] [cursor=pointer]
-        - generic [ref=f1e257]:
-          - generic [ref=f1e262]:
-            - generic [ref=f1e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=f1e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=f1e298]:
-            - button [ref=f1e299] [cursor=pointer]
-            - generic [ref=f1e306] [cursor=pointer]
-            - generic [ref=f1e310] [cursor=pointer]
-      - main [ref=f1e317]:
-        - generic [ref=f1e322]:
-          - generic [ref=f1e327]:
-            - generic [ref=f1e328]:
-              - generic [ref=f1e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f1e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f1e337]:
-              - generic [ref=f1e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=f1e345]
-            - generic [ref=f1e351]:
-              - generic [ref=f1e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=f1e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=f1e360]:
-              - generic [ref=f1e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=f1e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=f1e369]:
-              - generic [ref=f1e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e377]: 瓒呯骇绠$悊鍛�
-            - generic [ref=f1e383]:
-              - generic [ref=f1e384]: 鎵规鐘舵��
-              - generic [ref=f1e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=f1e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=f1e393]:
-              - generic [ref=f1e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=f1e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=f1e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e403]:
-                  - img "swap-right" [ref=f1e404]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e409]:
-              - generic [ref=f1e410]: 鍒涘缓鏃堕棿
-              - generic [ref=f1e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f1e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f1e419]:
-                  - img "swap-right" [ref=f1e420]
-                - textbox "缁撴潫鏃堕棿" [ref=f1e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f1e425]:
-              - button "閲� 缃�" [ref=f1e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f1e428] [cursor=pointer]
-              - generic [ref=f1e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f1e437]:
-            - generic [ref=f1e439]:
-              - generic [ref=f1e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=f1e444]:
-                - generic [ref=f1e446]:
-                  - button "鏂板鎵规" [ref=f1e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f1e453] [cursor=pointer]
-                - button "顫�" [ref=f1e459] [cursor=pointer]
-              - generic [ref=f1e461]:
-                - button "瞟�" [ref=f1e462] [cursor=pointer]
-                - button "顪�" [ref=f1e464] [cursor=pointer]
-                - button "顦�" [ref=f1e466] [cursor=pointer]
-            - generic [ref=f1e470]:
-              - generic [ref=f1e473]:
-                - generic [ref=f1e474]:
-                  - table [ref=f1e478]:
-                    - rowgroup [ref=f1e493]:
-                      - row [ref=f1e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=f1e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=f1e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=f1e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=f1e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=f1e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=f1e520]
-                        - columnheader "璐d换浜�" [ref=f1e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=f1e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=f1e535]
-                        - columnheader "鎵规鐘舵��" [ref=f1e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=f1e545]
-                  - generic [ref=f1e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=f1e553]:
-                    - table [ref=f1e556]:
-                      - rowgroup [ref=f1e571]:
-                        - row [ref=f1e572]:
-                          - columnheader "鎵规鍙�" [ref=f1e573]
-                    - generic [ref=f1e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=f1e580]:
-                    - table [ref=f1e583]:
-                      - rowgroup [ref=f1e598]:
-                        - row [ref=f1e599]:
-                          - columnheader "鎿嶄綔" [ref=f1e600]
-                    - generic [ref=f1e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=f1e621]:
-              - generic [ref=f1e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=f1e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f1e625]:
-                  - textbox "璇烽�夋嫨" [ref=f1e626]: 20鏉�/椤�
-                - generic [ref=f1e627]: 睿�
-              - button "飱�" [ref=f1e630]
-              - button "顧�" [ref=f1e632]
-              - button "顫�" [ref=f1e634]
-              - button "1" [ref=f1e637] [cursor=pointer]
-              - button "顫�" [ref=f1e638]
-              - button "顧�" [ref=f1e640]
-              - button "顦�" [ref=f1e642]
-  - dialog [ref=f1e890]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=f1e892]
-    - generic [ref=f1e894]:
-      - generic [ref=f1e896]:
-        - generic [ref=f1e897]:
-          - generic [ref=f1e898]:
-            - generic [ref=f1e899]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=f1e906]: 閽㈣姱閾濈粸绾�
-        - generic [ref=f1e912]:
-          - generic [ref=f1e913]:
-            - generic [ref=f1e914]: "*"
-            - text: 浜х嚎
-          - generic [ref=f1e920]:
-            - combobox "* 浜х嚎" [ref=f1e922]
-            - generic [ref=f1e1522]:
-              - generic [ref=f1e1523]: 浜х嚎浜�
-              - generic [ref=f1e1524]: two
-        - generic [ref=f1e923]:
-          - generic [ref=f1e924]:
-            - generic [ref=f1e925]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=f1e931]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=f1e932]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-              - text: 2026-08-18 08:00:00
-            - generic:
-              - img "calendar"
-            - button [ref=f1e1529] [cursor=pointer]:
-              - img "close-circle" [ref=f1e1530]
-        - generic [ref=f1e933]:
-          - generic [ref=f1e934]: 璁″垝鏁伴噺
-          - generic [ref=f1e939]:
-            - generic [ref=f1e940]:
-              - button "Increase Value" [ref=f1e941] [cursor=pointer]:
-                - img "up" [ref=f1e942]
-              - button "Decrease Value" [ref=f1e945] [cursor=pointer]:
-                - img "down" [ref=f1e946]
-            - spinbutton "璁″垝鏁伴噺" [ref=f1e950]
-        - generic [ref=f1e951]:
-          - generic [ref=f1e952]:
-            - generic [ref=f1e953]: "*"
-            - text: 璐d换浜�
-          - generic [ref=f1e954]:
-            - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e960]
-            - alert [ref=f1e3074]: 璇烽�夋嫨璐d换浜�
-        - generic [ref=f1e966]:
-          - generic [ref=f1e967]: 澶囨敞
-          - textbox "澶囨敞" [ref=f1e972]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=f1e973]:
-        - generic [ref=f1e974]:
-          - generic [ref=f1e975]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=f1e976] [cursor=pointer]
-        - generic [ref=f1e988]:
-          - table [ref=f1e992]:
-            - rowgroup [ref=f1e998]:
-              - row [ref=f1e999]:
-                - columnheader "鐢熶骇浜哄憳" [ref=f1e1000]
-                - columnheader "宀椾綅绫诲瀷" [ref=f1e1005]
-                - columnheader "澶囨敞" [ref=f1e1010]
-                - columnheader "鎿嶄綔" [ref=f1e1015]
-          - table [ref=f1e1051]:
-            - rowgroup [ref=f1e1057]:
-              - row [ref=f1e3075]:
-                - cell [ref=f1e3052]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=f1e1064]: "222"
-                - cell "缁勯暱" [ref=f1e3076]:
-                  - generic [ref=f1e1074] [cursor=pointer]:
-                    - combobox [ref=f1e1076]
-                    - generic "缁勯暱" [ref=f1e3071]
-                - cell [ref=f1e1077]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=f1e1080]
-                - cell [ref=f1e1081]:
-                  - button "鍒犻櫎" [ref=f1e1087] [cursor=pointer]
-    - button [ref=f1e1031] [cursor=pointer]
-    - generic [ref=f1e1041]:
-      - button "纭� 璁�" [active] [ref=f1e1042] [cursor=pointer]
-      - button "鍙� 娑�" [ref=f1e1045] [cursor=pointer]
-    - button [ref=f1e1047] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-39-14-991Z.yml b/.playwright-mcp/page-2026-08-18T08-39-14-991Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-18T08-39-14-991Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-39-53-074Z.yml b/.playwright-mcp/page-2026-08-18T08-39-53-074Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-18T08-39-53-074Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-40-08-857Z.yml b/.playwright-mcp/page-2026-08-18T08-40-08-857Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-18T08-40-08-857Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-41-15-036Z.yml b/.playwright-mcp/page-2026-08-18T08-41-15-036Z.yml
deleted file mode 100644
index 024f241..0000000
--- a/.playwright-mcp/page-2026-08-18T08-41-15-036Z.yml
+++ /dev/null
@@ -1,284 +0,0 @@
-- generic [ref=e4]:
-  - generic [ref=e7]:
-    - complementary [ref=e8]:
-      - generic [ref=e9]:
-        - generic [ref=e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-          - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=e22]:
-          - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-          - listitem [ref=e30]:
-            - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=e39]:
-            - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=e46]:
-            - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=e53]:
-            - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=e61]:
-            - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=e70]:
-            - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=e78]:
-            - generic [ref=e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=e104] [cursor=pointer]
-          - listitem [ref=e111]:
-            - generic [ref=e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=e118]:
-            - generic [ref=e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=e125]:
-            - generic [ref=e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=e132]:
-            - generic [ref=e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=e139]:
-            - generic [ref=e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=e146]:
-            - generic [ref=e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=e153]:
-            - generic [ref=e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=e160]:
-            - generic [ref=e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=e169] [cursor=pointer]
-    - generic [ref=e174]:
-      - generic [ref=e175]:
-        - banner [ref=e176]:
-          - button [ref=e177] [cursor=pointer]
-          - button [ref=e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=e185]:
-            - list [ref=e186]:
-              - listitem [ref=e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=e192]
-              - listitem [ref=e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=e196]
-          - generic [ref=e201]:
-            - generic [ref=e203] [cursor=pointer]:
-              - generic [ref=e207]: 鎼滅储
-              - generic [ref=e208]: Ctrl K
-            - button [ref=e210] [cursor=pointer]
-            - button "dark" [ref=e215] [cursor=pointer]
-            - button [ref=e224] [cursor=pointer]
-            - button [ref=e230] [cursor=pointer]
-            - button [ref=e233] [cursor=pointer]
-            - button [ref=e239] [cursor=pointer]:
-              - button [ref=e241]
-            - button "宸ヤ綔鍙�" [ref=e246] [cursor=pointer]
-            - button [ref=e250] [cursor=pointer]:
-              - img "瓒呯骇绠$悊鍛�" [ref=e255]
-        - generic [ref=e257]:
-          - generic [ref=e262]:
-            - generic [ref=e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=e298]:
-            - button [ref=e299] [cursor=pointer]
-            - generic [ref=e306] [cursor=pointer]
-            - generic [ref=e310] [cursor=pointer]
-      - main [ref=e317]:
-        - generic [ref=e322]:
-          - generic [ref=e327]:
-            - generic [ref=e328]:
-              - generic [ref=e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=e337]:
-              - generic [ref=e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=e345]
-            - generic [ref=e351]:
-              - generic [ref=e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=e360]:
-              - generic [ref=e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=e369]:
-              - generic [ref=e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=e377]
-            - generic [ref=e383]:
-              - generic [ref=e384]: 鎵规鐘舵��
-              - generic [ref=e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=e393]:
-              - generic [ref=e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e403]:
-                  - img "swap-right" [ref=e404]
-                - textbox "缁撴潫鏃堕棿" [ref=e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e409]:
-              - generic [ref=e410]: 鍒涘缓鏃堕棿
-              - generic [ref=e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e419]:
-                  - img "swap-right" [ref=e420]
-                - textbox "缁撴潫鏃堕棿" [ref=e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e425]:
-              - button "閲� 缃�" [ref=e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=e428] [cursor=pointer]
-              - generic [ref=e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=e437]:
-            - generic [ref=e439]:
-              - generic [ref=e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=e444]:
-                - generic [ref=e446]:
-                  - button "鏂板鎵规" [ref=e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=e453] [cursor=pointer]
-                - button "顫�" [ref=e459] [cursor=pointer]
-              - generic [ref=e461]:
-                - button "瞟�" [ref=e462] [cursor=pointer]
-                - button "顪�" [ref=e464] [cursor=pointer]
-                - button "顦�" [ref=e466] [cursor=pointer]
-            - generic [ref=e470]:
-              - generic [ref=e473]:
-                - generic [ref=e474]:
-                  - table [ref=e478]:
-                    - rowgroup [ref=e493]:
-                      - row [ref=e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=e520]
-                        - columnheader "璐d换浜�" [ref=e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=e535]
-                        - columnheader "鎵规鐘舵��" [ref=e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=e545]
-                  - generic [ref=e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=e553]:
-                    - table [ref=e556]:
-                      - rowgroup [ref=e571]:
-                        - row [ref=e572]:
-                          - columnheader "鎵规鍙�" [ref=e573]
-                    - generic [ref=e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=e580]:
-                    - table [ref=e583]:
-                      - rowgroup [ref=e598]:
-                        - row [ref=e599]:
-                          - columnheader "鎿嶄綔" [ref=e600]
-                    - generic [ref=e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=e621]:
-              - generic [ref=e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=e625]:
-                  - textbox "璇烽�夋嫨" [ref=e626]: 20鏉�/椤�
-                - generic [ref=e627]: 睿�
-              - button "飱�" [ref=e630]
-              - button "顧�" [ref=e632]
-              - button "顫�" [ref=e634]
-              - button "1" [ref=e637] [cursor=pointer]
-              - button "顫�" [ref=e638]
-              - button "顧�" [ref=e640]
-              - button "顦�" [ref=e642]
-  - dialog [ref=e645]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=e647]
-    - generic [ref=e649]:
-      - generic [ref=e651]:
-        - generic [ref=e652]:
-          - generic [ref=e653]:
-            - generic [ref=e654]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=e661]: 閽㈣姱閾濈粸绾�
-        - generic [ref=e667]:
-          - generic [ref=e668]:
-            - generic [ref=e669]: "*"
-            - text: 浜х嚎
-          - generic [ref=e675]:
-            - combobox "* 浜х嚎" [ref=e677]
-            - generic [ref=e679]:
-              - generic [ref=e680]: 浜х嚎涓�
-              - generic [ref=e681]: one
-        - generic [ref=e686]:
-          - generic [ref=e687]:
-            - generic [ref=e688]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=e694]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=e695]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-              - text: 2026-08-18 16:40:39
-            - generic:
-              - img "calendar"
-            - button [ref=e696] [cursor=pointer]:
-              - img "close-circle" [ref=e697]
-        - generic [ref=e700]:
-          - generic [ref=e701]: 璁″垝鏁伴噺
-          - generic [ref=e706]:
-            - generic [ref=e707]:
-              - button "Increase Value" [ref=e708] [cursor=pointer]:
-                - img "up" [ref=e709]
-              - button "Decrease Value" [ref=e712] [cursor=pointer]:
-                - img "down" [ref=e713]
-            - spinbutton "璁″垝鏁伴噺" [ref=e717]
-        - generic [ref=e718]:
-          - generic [ref=e719]:
-            - generic [ref=e720]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=e727]: 涓嶆兂涓婄彮
-        - generic [ref=e733]:
-          - generic [ref=e734]: 澶囨敞
-          - textbox "澶囨敞" [ref=e739]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=e740]:
-        - generic [ref=e741]:
-          - generic [ref=e742]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [active] [ref=e743] [cursor=pointer]
-        - generic [ref=e755]:
-          - table [ref=e759]:
-            - rowgroup [ref=e765]:
-              - row [ref=e766]:
-                - columnheader "鐢熶骇浜哄憳" [ref=e767]
-                - columnheader "宀椾綅绫诲瀷" [ref=e772]
-                - columnheader "澶囨敞" [ref=e777]
-                - columnheader "鎿嶄綔" [ref=e782]
-          - table [ref=e790]:
-            - rowgroup [ref=e796]:
-              - row [ref=e849]:
-                - cell [ref=e850]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=e803]
-                - cell [ref=e851]:
-                  - generic [ref=e813] [cursor=pointer]:
-                    - combobox [ref=e815]
-                    - generic: 璇烽�夋嫨宀椾綅绫诲瀷
-                - cell [ref=e817]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=e820]
-                - cell [ref=e821]:
-                  - button "鍒犻櫎" [ref=e827] [cursor=pointer]
-              - row [ref=e852]:
-                - cell [ref=e853]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=e858]: "222"
-                - cell "缁勯暱" [ref=e864]:
-                  - generic [ref=e868] [cursor=pointer]:
-                    - combobox [ref=e870]
-                    - generic "缁勯暱" [ref=e871]
-                - cell [ref=e872]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=e875]
-                - cell [ref=e876]:
-                  - button "鍒犻櫎" [ref=e882] [cursor=pointer]
-    - button [ref=e829] [cursor=pointer]
-    - generic [ref=e839]:
-      - button "纭� 璁�" [ref=e840] [cursor=pointer]
-      - button "鍙� 娑�" [ref=e843] [cursor=pointer]
-    - button [ref=e845] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-42-30-730Z.yml b/.playwright-mcp/page-2026-08-18T08-42-30-730Z.yml
deleted file mode 100644
index 34318c7..0000000
--- a/.playwright-mcp/page-2026-08-18T08-42-30-730Z.yml
+++ /dev/null
@@ -1,273 +0,0 @@
-- generic [ref=e4]:
-  - generic [ref=e7]:
-    - complementary [ref=e8]:
-      - generic [ref=e9]:
-        - generic [ref=e10] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-          - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=e22]:
-          - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-          - listitem [ref=e30]:
-            - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=e39]:
-            - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-          - listitem [ref=e46]:
-            - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-          - listitem [ref=e53]:
-            - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-          - listitem [ref=e61]:
-            - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=e70]:
-            - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-          - listitem [ref=e78]:
-            - generic [ref=e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=e85]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=e86] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=e91] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=e97] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=e104] [cursor=pointer]
-          - listitem [ref=e111]:
-            - generic [ref=e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=e118]:
-            - generic [ref=e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-          - listitem [ref=e125]:
-            - generic [ref=e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-          - listitem [ref=e132]:
-            - generic [ref=e133] [cursor=pointer]: 浜哄姏璧勬簮
-          - listitem [ref=e139]:
-            - generic [ref=e140] [cursor=pointer]: 鍞悗绠$悊
-          - listitem [ref=e146]:
-            - generic [ref=e147] [cursor=pointer]: 鍩虹璁炬柦
-          - listitem [ref=e153]:
-            - generic [ref=e154] [cursor=pointer]: 绯荤粺绠$悊
-          - listitem [ref=e160]:
-            - generic [ref=e161] [cursor=pointer]: IM 鍗虫椂閫氳
-        - generic [ref=e169] [cursor=pointer]
-    - generic [ref=e174]:
-      - generic [ref=e175]:
-        - banner [ref=e176]:
-          - button [ref=e177] [cursor=pointer]
-          - button [ref=e180] [cursor=pointer]
-          - navigation "breadcrumb" [ref=e185]:
-            - list [ref=e186]:
-              - listitem [ref=e187]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=e188] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=e192]
-              - listitem [ref=e195]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=e196]
-          - generic [ref=e201]:
-            - generic [ref=e203] [cursor=pointer]:
-              - generic [ref=e207]: 鎼滅储
-              - generic [ref=e208]: Ctrl K
-            - button [ref=e210] [cursor=pointer]
-            - button "dark" [ref=e215] [cursor=pointer]
-            - button [ref=e224] [cursor=pointer]
-            - button [ref=e230] [cursor=pointer]
-            - button [ref=e233] [cursor=pointer]
-            - button [ref=e239] [cursor=pointer]:
-              - button [ref=e241]
-            - button "宸ヤ綔鍙�" [ref=e246] [cursor=pointer]
-            - button [ref=e250] [cursor=pointer]:
-              - img "瓒呯骇绠$悊鍛�" [ref=e255]
-        - generic [ref=e257]:
-          - generic [ref=e262]:
-            - generic [ref=e263] [cursor=pointer]: 棣栭〉
-            - generic [ref=e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-          - generic [ref=e298]:
-            - button [ref=e299] [cursor=pointer]
-            - generic [ref=e306] [cursor=pointer]
-            - generic [ref=e310] [cursor=pointer]
-      - main [ref=e317]:
-        - generic [ref=e322]:
-          - generic [ref=e327]:
-            - generic [ref=e328]:
-              - generic [ref=e329]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=e335]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=e337]:
-              - generic [ref=e338]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=e345]
-            - generic [ref=e351]:
-              - generic [ref=e352]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=e358]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=e360]:
-              - generic [ref=e361]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=e367]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=e369]:
-              - generic [ref=e370]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=e377]
-            - generic [ref=e383]:
-              - generic [ref=e384]: 鎵规鐘舵��
-              - generic [ref=e390] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=e392]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=e393]:
-              - generic [ref=e394]: 鐢熶骇鏃ユ湡
-              - generic [ref=e399]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=e401]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e403]:
-                  - img "swap-right" [ref=e404]
-                - textbox "缁撴潫鏃堕棿" [ref=e408]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e409]:
-              - generic [ref=e410]: 鍒涘缓鏃堕棿
-              - generic [ref=e415]:
-                - textbox "鍒涘缓鏃堕棿" [ref=e417]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=e419]:
-                  - img "swap-right" [ref=e420]
-                - textbox "缁撴潫鏃堕棿" [ref=e424]
-                - generic:
-                  - img "calendar"
-            - generic [ref=e425]:
-              - button "閲� 缃�" [ref=e426] [cursor=pointer]
-              - button "鎼� 绱�" [ref=e428] [cursor=pointer]
-              - generic [ref=e430] [cursor=pointer]: 鏀惰捣
-          - generic [ref=e437]:
-            - generic [ref=e439]:
-              - generic [ref=e440]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=e444]:
-                - generic [ref=e446]:
-                  - button "鏂板鎵规" [ref=e448] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=e453] [cursor=pointer]
-                - button "顫�" [ref=e459] [cursor=pointer]
-              - generic [ref=e461]:
-                - button "瞟�" [ref=e462] [cursor=pointer]
-                - button "顪�" [ref=e464] [cursor=pointer]
-                - button "顦�" [ref=e466] [cursor=pointer]
-            - generic [ref=e470]:
-              - generic [ref=e473]:
-                - generic [ref=e474]:
-                  - table [ref=e478]:
-                    - rowgroup [ref=e493]:
-                      - row [ref=e494]:
-                        - columnheader "鍝佺缂栫爜" [ref=e495]
-                        - columnheader "鍝佺鍚嶇О" [ref=e500]
-                        - columnheader "浜х嚎缂栫爜" [ref=e505]
-                        - columnheader "浜х嚎鍚嶇О" [ref=e510]
-                        - columnheader "鐢熶骇鏃ユ湡" [ref=e515]
-                        - columnheader "璁″垝鏁伴噺" [ref=e520]
-                        - columnheader "璐d换浜�" [ref=e525]
-                        - columnheader "琚嬬爜鏁伴噺" [ref=e530]
-                        - columnheader "鎵樼洏鐮佹暟閲�" [ref=e535]
-                        - columnheader "鎵规鐘舵��" [ref=e540]
-                        - columnheader "鍒涘缓鏃堕棿" [ref=e545]
-                  - generic [ref=e551]:
-                    - table:
-                      - rowgroup
-                - generic:
-                  - generic [ref=e553]:
-                    - table [ref=e556]:
-                      - rowgroup [ref=e571]:
-                        - row [ref=e572]:
-                          - columnheader "鎵规鍙�" [ref=e573]
-                    - generic [ref=e579]:
-                      - table:
-                        - rowgroup
-                  - generic [ref=e580]:
-                    - table [ref=e583]:
-                      - rowgroup [ref=e598]:
-                        - row [ref=e599]:
-                          - columnheader "鎿嶄綔" [ref=e600]
-                    - generic [ref=e606]:
-                      - table:
-                        - rowgroup
-              - generic: 鏆傛棤鏁版嵁
-            - generic [ref=e621]:
-              - generic [ref=e622]: 鍏� 0 鏉¤褰�
-              - generic [ref=e624] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=e625]:
-                  - textbox "璇烽�夋嫨" [ref=e626]: 20鏉�/椤�
-                - generic [ref=e627]: 睿�
-              - button "飱�" [ref=e630]
-              - button "顧�" [ref=e632]
-              - button "顫�" [ref=e634]
-              - button "1" [ref=e637] [cursor=pointer]
-              - button "顫�" [ref=e638]
-              - button "顧�" [ref=e640]
-              - button "顦�" [ref=e642]
-  - dialog [ref=e645]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=e647]
-    - generic [ref=e649]:
-      - generic [ref=e651]:
-        - generic [ref=e652]:
-          - generic [ref=e653]:
-            - generic [ref=e654]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佺墿鏂欙級" [ref=e661]: 閽㈣姱閾濈粸绾�
-        - generic [ref=e667]:
-          - generic [ref=e668]:
-            - generic [ref=e669]: "*"
-            - text: 浜х嚎
-          - generic [ref=e675]:
-            - combobox "* 浜х嚎" [ref=e677]
-            - generic [ref=e679]:
-              - generic [ref=e680]: 浜х嚎涓�
-              - generic [ref=e681]: one
-        - generic [ref=e686]:
-          - generic [ref=e687]:
-            - generic [ref=e688]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=e694]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=e695]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-              - text: 2026-08-18 16:40:39
-            - generic:
-              - img "calendar"
-            - button [ref=e696] [cursor=pointer]:
-              - img "close-circle" [ref=e697]
-        - generic [ref=e700]:
-          - generic [ref=e701]: 璁″垝鏁伴噺
-          - generic [ref=e706]:
-            - generic [ref=e707]:
-              - button "Increase Value" [ref=e708] [cursor=pointer]:
-                - img "up" [ref=e709]
-              - button "Decrease Value" [ref=e712] [cursor=pointer]:
-                - img "down" [ref=e713]
-            - spinbutton "璁″垝鏁伴噺" [ref=e717]
-        - generic [ref=e718]:
-          - generic [ref=e719]:
-            - generic [ref=e720]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=e727]: 涓嶆兂涓婄彮
-        - generic [ref=e733]:
-          - generic [ref=e734]: 澶囨敞
-          - textbox "澶囨敞" [ref=e739]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=e740]:
-        - generic [ref=e741]:
-          - generic [ref=e742]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=e743] [cursor=pointer]
-        - generic [ref=e755]:
-          - table [ref=e759]:
-            - rowgroup [ref=e765]:
-              - row [ref=e766]:
-                - columnheader "鐢熶骇浜哄憳" [ref=e767]
-                - columnheader "宀椾綅绫诲瀷" [ref=e772]
-                - columnheader "澶囨敞" [ref=e777]
-                - columnheader "鎿嶄綔" [ref=e782]
-          - table [ref=e790]:
-            - rowgroup [ref=e796]:
-              - row [ref=e884]:
-                - cell [ref=e885]:
-                  - textbox "璇烽�夋嫨鐢熶骇浜哄憳" [ref=e803]: "222"
-                - cell "缁勯暱" [ref=e886]:
-                  - generic [ref=e813] [cursor=pointer]:
-                    - combobox [ref=e815]
-                    - generic "缁勯暱" [ref=e816]
-                - cell [ref=e817]:
-                  - textbox "璇疯緭鍏ュ娉�" [ref=e820]
-                - cell [ref=e821]:
-                  - button "鍒犻櫎" [active] [ref=e827] [cursor=pointer]
-    - button [ref=e829] [cursor=pointer]
-    - generic [ref=e839]:
-      - button "纭� 璁�" [ref=e840] [cursor=pointer]
-      - button "鍙� 娑�" [ref=e843] [cursor=pointer]
-    - button [ref=e845] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-18T08-42-38-843Z.yml b/.playwright-mcp/page-2026-08-18T08-42-38-843Z.yml
deleted file mode 100644
index 5c0d900..0000000
--- a/.playwright-mcp/page-2026-08-18T08-42-38-843Z.yml
+++ /dev/null
@@ -1,211 +0,0 @@
-- generic [ref=e7]:
-  - complementary [ref=e8]:
-    - generic [ref=e9]:
-      - generic [ref=e10] [cursor=pointer]
-      - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e15] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e18]
-        - generic [ref=e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-      - menu [ref=e22]:
-        - menuitem "棣栭〉" [ref=e23] [cursor=pointer]
-        - listitem [ref=e30]:
-          - generic [ref=e31] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=e39]:
-          - generic [ref=e40] [cursor=pointer]: 閲囪喘绠$悊
-        - listitem [ref=e46]:
-          - generic [ref=e47] [cursor=pointer]: 钀ラ攢绠$悊
-        - listitem [ref=e53]:
-          - generic [ref=e54] [cursor=pointer]: 璁惧绠$悊
-        - listitem [ref=e61]:
-          - generic [ref=e62] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=e70]:
-          - generic [ref=e71] [cursor=pointer]: 鐢熶骇绠℃帶
-        - listitem [ref=e78]:
-          - generic [ref=e79] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-          - list [ref=e85]:
-            - menuitem "鎵规鐢熶骇绠$悊" [ref=e86] [cursor=pointer]
-            - menuitem "璧嬬爜绠$悊" [ref=e91] [cursor=pointer]
-            - menuitem "鎵樼洏鐮佺鐞�" [ref=e97] [cursor=pointer]
-            - menuitem "浜х嚎缁存姢" [ref=e104] [cursor=pointer]
-        - listitem [ref=e111]:
-          - generic [ref=e112] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=e118]:
-          - generic [ref=e119] [cursor=pointer]: 鍐崇瓥BI澶у睆
-        - listitem [ref=e125]:
-          - generic [ref=e126] [cursor=pointer]: 鍗忓悓鍔炲叕
-        - listitem [ref=e132]:
-          - generic [ref=e133] [cursor=pointer]: 浜哄姏璧勬簮
-        - listitem [ref=e139]:
-          - generic [ref=e140] [cursor=pointer]: 鍞悗绠$悊
-        - listitem [ref=e146]:
-          - generic [ref=e147] [cursor=pointer]: 鍩虹璁炬柦
-        - listitem [ref=e153]:
-          - generic [ref=e154] [cursor=pointer]: 绯荤粺绠$悊
-        - listitem [ref=e160]:
-          - generic [ref=e161] [cursor=pointer]: IM 鍗虫椂閫氳
-      - generic [ref=e169] [cursor=pointer]
-  - generic [ref=e174]:
-    - generic [ref=e175]:
-      - banner [ref=e176]:
-        - button [ref=e177] [cursor=pointer]
-        - button [ref=e180] [cursor=pointer]
-        - navigation "breadcrumb" [ref=e185]:
-          - list [ref=e186]:
-            - listitem [ref=e187]:
-              - link "涓�琚嬩竴鐮佺鐞�" [ref=e188] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=e192]
-            - listitem [ref=e195]:
-              - link "鎵规鐢熶骇绠$悊" [disabled] [ref=e196]
-        - generic [ref=e201]:
-          - generic [ref=e203] [cursor=pointer]:
-            - generic [ref=e207]: 鎼滅储
-            - generic [ref=e208]: Ctrl K
-          - button [ref=e210] [cursor=pointer]
-          - button "dark" [ref=e215] [cursor=pointer]
-          - button [ref=e224] [cursor=pointer]
-          - button [ref=e230] [cursor=pointer]
-          - button [ref=e233] [cursor=pointer]
-          - button [ref=e239] [cursor=pointer]:
-            - button [ref=e241]
-          - button "宸ヤ綔鍙�" [ref=e246] [cursor=pointer]
-          - button [ref=e250] [cursor=pointer]:
-            - img "瓒呯骇绠$悊鍛�" [ref=e255]
-      - generic [ref=e257]:
-        - generic [ref=e262]:
-          - generic [ref=e263] [cursor=pointer]: 棣栭〉
-          - generic [ref=e281] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-        - generic [ref=e298]:
-          - button [ref=e299] [cursor=pointer]
-          - generic [ref=e306] [cursor=pointer]
-          - generic [ref=e310] [cursor=pointer]
-    - main [ref=e317]:
-      - generic [ref=e322]:
-        - generic [ref=e327]:
-          - generic [ref=e328]:
-            - generic [ref=e329]: 鎵规鍙�
-            - textbox "鎵规鍙�" [ref=e335]:
-              - /placeholder: 璇疯緭鍏ユ壒娆″彿
-          - generic [ref=e337]:
-            - generic [ref=e338]: 鍝佺
-            - textbox "璇烽�夋嫨鍝佺" [ref=e345]
-          - generic [ref=e351]:
-            - generic [ref=e352]: 浜х嚎缂栫爜
-            - textbox "浜х嚎缂栫爜" [ref=e358]:
-              - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-          - generic [ref=e360]:
-            - generic [ref=e361]: 浜х嚎鍚嶇О
-            - textbox "浜х嚎鍚嶇О" [ref=e367]:
-              - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-          - generic [ref=e369]:
-            - generic [ref=e370]: 璐d换浜�
-            - textbox "璇烽�夋嫨璐d换浜�" [ref=e377]
-          - generic [ref=e383]:
-            - generic [ref=e384]: 鎵规鐘舵��
-            - generic [ref=e390] [cursor=pointer]:
-              - combobox "鎵规鐘舵��" [ref=e392]
-              - generic: 璇烽�夋嫨鎵规鐘舵��
-          - generic [ref=e393]:
-            - generic [ref=e394]: 鐢熶骇鏃ユ湡
-            - generic [ref=e399]:
-              - textbox "鐢熶骇鏃ユ湡" [ref=e401]:
-                - /placeholder: 寮�濮嬫椂闂�
-              - generic "to" [ref=e403]:
-                - img "swap-right" [ref=e404]
-              - textbox "缁撴潫鏃堕棿" [ref=e408]
-              - generic:
-                - img "calendar"
-          - generic [ref=e409]:
-            - generic [ref=e410]: 鍒涘缓鏃堕棿
-            - generic [ref=e415]:
-              - textbox "鍒涘缓鏃堕棿" [ref=e417]:
-                - /placeholder: 寮�濮嬫椂闂�
-              - generic "to" [ref=e419]:
-                - img "swap-right" [ref=e420]
-              - textbox "缁撴潫鏃堕棿" [ref=e424]
-              - generic:
-                - img "calendar"
-          - generic [ref=e425]:
-            - button "閲� 缃�" [ref=e426] [cursor=pointer]
-            - button "鎼� 绱�" [ref=e428] [cursor=pointer]
-            - generic [ref=e430] [cursor=pointer]: 鏀惰捣
-        - generic [ref=e437]:
-          - generic [ref=e439]:
-            - generic [ref=e440]: 鐢熶骇鎵规鍒楄〃
-            - generic [ref=e444]:
-              - generic [ref=e446]:
-                - button "鏂板鎵规" [active] [ref=e448] [cursor=pointer]
-                - button "瀵煎嚭" [ref=e453] [cursor=pointer]
-              - button "顫�" [ref=e459] [cursor=pointer]
-            - generic [ref=e461]:
-              - button "瞟�" [ref=e462] [cursor=pointer]
-              - button "顪�" [ref=e464] [cursor=pointer]
-              - button "顦�" [ref=e466] [cursor=pointer]
-          - generic [ref=e473]:
-            - generic [ref=e474]:
-              - table [ref=e478]:
-                - rowgroup [ref=e493]:
-                  - row [ref=e494]:
-                    - columnheader "鍝佺缂栫爜" [ref=e495]
-                    - columnheader "鍝佺鍚嶇О" [ref=e500]
-                    - columnheader "浜х嚎缂栫爜" [ref=e505]
-                    - columnheader "浜х嚎鍚嶇О" [ref=e510]
-                    - columnheader "鐢熶骇鏃ユ湡" [ref=e515]
-                    - columnheader "璁″垝鏁伴噺" [ref=e520]
-                    - columnheader "璐d换浜�" [ref=e525]
-                    - columnheader "琚嬬爜鏁伴噺" [ref=e530]
-                    - columnheader "鎵樼洏鐮佹暟閲�" [ref=e535]
-                    - columnheader "鎵规鐘舵��" [ref=e540]
-                    - columnheader "鍒涘缓鏃堕棿" [ref=e545]
-              - table [ref=e887]:
-                - rowgroup [ref=e902]:
-                  - row "ITEM_20260716006 閽㈣姱閾濈粸绾� one 浜х嚎涓� 2026-08-18 16:40:39 涓嶆兂涓婄彮 0 0 鑽夌 2026-08-18 16:42:33" [ref=e903]:
-                    - cell "ITEM_20260716006" [ref=e904]
-                    - cell "閽㈣姱閾濈粸绾�" [ref=e908]
-                    - cell "one" [ref=e912]
-                    - cell "浜х嚎涓�" [ref=e916]
-                    - cell "2026-08-18 16:40:39" [ref=e920]
-                    - cell [ref=e924]
-                    - cell "涓嶆兂涓婄彮" [ref=e928]
-                    - cell "0" [ref=e932]
-                    - cell "0" [ref=e936]
-                    - cell "鑽夌" [ref=e940]
-                    - cell "2026-08-18 16:42:33" [ref=e944]
-            - generic:
-              - generic [ref=e553]:
-                - table [ref=e556]:
-                  - rowgroup [ref=e571]:
-                    - row [ref=e572]:
-                      - columnheader "鎵规鍙�" [ref=e573]
-                - table [ref=e948]:
-                  - rowgroup [ref=e951]:
-                    - row [ref=e952]:
-                      - cell [ref=e953]:
-                        - button "PC20260818oneITEM_002" [ref=e956] [cursor=pointer]
-              - generic [ref=e580]:
-                - table [ref=e583]:
-                  - rowgroup [ref=e598]:
-                    - row [ref=e599]:
-                      - columnheader "鎿嶄綔" [ref=e600]
-                - table [ref=e958]:
-                  - rowgroup [ref=e961]:
-                    - row [ref=e962]:
-                      - cell [ref=e963]:
-                        - generic [ref=e966]:
-                          - generic [ref=e967]:
-                            - button "淇敼" [ref=e969] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=e976] [cursor=pointer]
-                          - button "鏇村" [ref=e980] [cursor=pointer]
-          - generic [ref=e621]:
-            - generic [ref=e622]: 鍏� 1 鏉¤褰�
-            - generic [ref=e624] [cursor=pointer]:
-              - generic "20鏉�/椤�" [ref=e625]:
-                - textbox "璇烽�夋嫨" [ref=e626]: 20鏉�/椤�
-              - generic [ref=e627]: 睿�
-            - button "飱�" [ref=e630]
-            - button "顧�" [ref=e632]
-            - button "顫�" [ref=e634]
-            - button "1" [ref=e637] [cursor=pointer]
-            - button "顫�" [ref=e638]
-            - button "顧�" [ref=e640]
-            - button "顦�" [ref=e642]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-17-17-019Z.yml b/.playwright-mcp/page-2026-08-19T02-17-17-019Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-19T02-17-17-019Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-17-32-337Z.yml b/.playwright-mcp/page-2026-08-19T02-17-32-337Z.yml
deleted file mode 100644
index a8e824b..0000000
--- a/.playwright-mcp/page-2026-08-19T02-17-32-337Z.yml
+++ /dev/null
@@ -1,111 +0,0 @@
-- generic [ref=e4]:
-  - generic [ref=e413]:
-    - complementary [ref=e414]:
-      - generic [ref=e415]:
-        - generic [ref=e416] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e421] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=e424]
-          - generic [ref=e425]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=e428]:
-          - menuitem "棣栭〉" [ref=e429] [cursor=pointer]
-          - menuitem "鍩虹鏁版嵁涓庝竴琚嬩竴鐮�" [active] [ref=e436] [cursor=pointer]
-          - listitem [ref=e441]:
-            - generic [ref=e442] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=e450]:
-            - generic [ref=e451] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-          - listitem [ref=e457]:
-            - generic [ref=e458] [cursor=pointer]: 绯荤粺绠$悊
-        - generic [ref=e465] [cursor=pointer]
-    - generic [ref=e470]:
-      - generic [ref=e471]:
-        - banner [ref=e472]:
-          - button [ref=e473] [cursor=pointer]
-          - button [ref=e476] [cursor=pointer]
-          - navigation "breadcrumb" [ref=e481]:
-            - list [ref=e482]:
-              - listitem [ref=e906]:
-                - link "鍩虹鏁版嵁涓庝竴琚嬩竴鐮�" [disabled] [ref=e907]
-          - generic [ref=e491]:
-            - generic [ref=e493] [cursor=pointer]:
-              - generic [ref=e497]: 鎼滅储
-              - generic [ref=e498]: Ctrl K
-            - button [ref=e500] [cursor=pointer]
-            - button "dark" [ref=e505] [cursor=pointer]
-            - button [ref=e514] [cursor=pointer]
-            - button [ref=e520] [cursor=pointer]
-            - button [ref=e523] [cursor=pointer]
-            - button [ref=e529] [cursor=pointer]:
-              - button [ref=e531]
-            - button "宸ヤ綔鍙�" [ref=e535] [cursor=pointer]
-            - button "鐞嗗憳" [ref=e539] [cursor=pointer]
-        - generic [ref=e546]:
-          - generic [ref=e551]:
-            - generic [ref=e552] [cursor=pointer]: 棣栭〉
-            - generic [ref=e913] [cursor=pointer]: 鍩虹鏁版嵁涓庝竴琚嬩竴鐮�
-          - generic [ref=e568]:
-            - button [ref=e569] [cursor=pointer]
-            - generic [ref=e576] [cursor=pointer]
-            - generic [ref=e580] [cursor=pointer]
-      - main [ref=e587]:
-        - generic [ref=e931]:
-          - generic [ref=e932]:
-            - generic [ref=e942] [cursor=pointer]:
-              - generic [ref=e943]: 鍝佺鎬绘暟
-              - generic [ref=e944]: "0"
-            - generic [ref=e955] [cursor=pointer]:
-              - generic [ref=e956]: MES 鍝佺
-              - generic [ref=e957]: "0"
-            - generic [ref=e968] [cursor=pointer]:
-              - generic [ref=e969]: 鍝佺鍒嗙被
-              - generic [ref=e970]: "0"
-            - generic [ref=e979] [cursor=pointer]:
-              - generic [ref=e980]: 璁¢噺鍗曚綅
-              - generic [ref=e981]: "0"
-          - generic [ref=e983]:
-            - generic [ref=e991] [cursor=pointer]:
-              - generic [ref=e992]: 浜х嚎
-              - generic [ref=e993]: "0"
-            - generic [ref=e1005] [cursor=pointer]:
-              - generic [ref=e1006]: 鐢熶骇鎵规
-              - generic [ref=e1007]: "0"
-            - generic [ref=e1016] [cursor=pointer]:
-              - generic [ref=e1017]: 琚嬬爜
-              - generic [ref=e1018]: "0"
-            - generic [ref=e1029] [cursor=pointer]:
-              - generic [ref=e1030]: 鎵樼洏鐮�
-              - generic [ref=e1031]: "0"
-          - generic [ref=e1033]:
-            - generic [ref=e1037]:
-              - generic [ref=e1038]: 琚嬬爜鐢熸垚瓒嬪娍
-              - generic [ref=e1040]:
-                - generic [ref=e1041] [cursor=pointer]:
-                  - generic [ref=e1042]:
-                    - radio "杩� 7 澶�" [checked]
-                  - generic [ref=e1043]: 杩� 7 澶�
-                - generic [ref=e1044] [cursor=pointer]:
-                  - generic [ref=e1045]:
-                    - radio "杩� 30 澶�"
-                  - generic [ref=e1046]: 杩� 30 澶�
-            - generic [ref=e1049]: 鎵规鐘舵�佸垎甯�
-            - generic [ref=e1056]: 琚嬬爜鐘舵�佸垎甯�
-          - generic [ref=e1063]:
-            - generic [ref=e1064]: 蹇嵎鍏ュ彛
-            - generic [ref=e1068]:
-              - generic [ref=e1069]: 鐗╂枡绠$悊
-              - generic [ref=e1077]: 鐢熶骇鐗╂枡
-              - generic [ref=e1085]: 鍝佺鍒嗙被
-              - generic [ref=e1093]: 璁¢噺鍗曚綅
-              - generic [ref=e1099]: 浜х嚎缁存姢
-              - generic [ref=e1105]: 鎵规鐢熶骇
-              - generic [ref=e1114]: 璧嬬爜绠$悊
-              - generic [ref=e1120]: 鎵樼洏鐮佺鐞�
-  - generic:
-    - generic:
-      - generic:
-        - generic [ref=e1129]:
-          - img "close-circle" [ref=e1130]
-          - text: 璇锋眰鍦板潃涓嶅瓨鍦�:admin-api/mes/bag-code-home-statistics/trend
-        - generic [ref=e1134]:
-          - img "close-circle" [ref=e1135]
-          - text: 璇锋眰鍦板潃涓嶅瓨鍦�:admin-api/mes/bag-code-home-statistics/summary
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-22-56-693Z.yml b/.playwright-mcp/page-2026-08-19T02-22-56-693Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-19T02-22-56-693Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-23-31-534Z.yml b/.playwright-mcp/page-2026-08-19T02-23-31-534Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-19T02-23-31-534Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-23-37-571Z.yml b/.playwright-mcp/page-2026-08-19T02-23-37-571Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-19T02-23-37-571Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-24-27-322Z.yml b/.playwright-mcp/page-2026-08-19T02-24-27-322Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-19T02-24-27-322Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-25-12-056Z.yml b/.playwright-mcp/page-2026-08-19T02-25-12-056Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-19T02-25-12-056Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-25-31-773Z.yml b/.playwright-mcp/page-2026-08-19T02-25-31-773Z.yml
deleted file mode 100644
index 7eb5342..0000000
--- a/.playwright-mcp/page-2026-08-19T02-25-31-773Z.yml
+++ /dev/null
@@ -1,155 +0,0 @@
-- generic [ref=f5e7]:
-  - complementary [ref=f5e8]:
-    - generic [ref=f5e9]:
-      - generic [ref=f5e10] [cursor=pointer]
-      - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f5e15] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f5e18]
-        - generic [ref=f5e19]: 宸ヤ笟AI鏅洪�犲钩鍙�
-      - menu [ref=f5e22]:
-        - menuitem "棣栭〉" [ref=f5e23] [cursor=pointer]
-        - menuitem "鍩虹鏁版嵁涓庝竴琚嬩竴鐮�" [active] [ref=f5e30] [cursor=pointer]
-        - listitem [ref=f5e35]:
-          - generic [ref=f5e36] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=f5e44]:
-          - generic [ref=f5e45] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-        - listitem [ref=f5e51]:
-          - generic [ref=f5e52] [cursor=pointer]: 绯荤粺绠$悊
-      - generic [ref=f5e59] [cursor=pointer]
-  - generic [ref=f5e64]:
-    - generic [ref=f5e65]:
-      - banner [ref=f5e66]:
-        - button [ref=f5e67] [cursor=pointer]
-        - button [ref=f5e70] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f5e75]:
-          - list [ref=f5e76]:
-            - listitem [ref=f5e500]:
-              - link "鍩虹鏁版嵁涓庝竴琚嬩竴鐮�" [disabled] [ref=f5e501]
-        - generic [ref=f5e85]:
-          - generic [ref=f5e87] [cursor=pointer]:
-            - generic [ref=f5e91]: 鎼滅储
-            - generic [ref=f5e92]: Ctrl K
-          - button [ref=f5e94] [cursor=pointer]
-          - button "dark" [ref=f5e99] [cursor=pointer]
-          - button [ref=f5e108] [cursor=pointer]
-          - button [ref=f5e114] [cursor=pointer]
-          - button [ref=f5e117] [cursor=pointer]
-          - button [ref=f5e123] [cursor=pointer]:
-            - button [ref=f5e125]
-          - button "宸ヤ綔鍙�" [ref=f5e129] [cursor=pointer]
-          - button "鐞嗗憳" [ref=f5e133] [cursor=pointer]
-      - generic [ref=f5e140]:
-        - generic [ref=f5e145]:
-          - generic [ref=f5e146] [cursor=pointer]: 棣栭〉
-          - generic [ref=f5e507] [cursor=pointer]: 鍩虹鏁版嵁涓庝竴琚嬩竴鐮�
-        - generic [ref=f5e162]:
-          - button [ref=f5e163] [cursor=pointer]
-          - generic [ref=f5e170] [cursor=pointer]
-          - generic [ref=f5e174] [cursor=pointer]
-    - main [ref=f5e181]:
-      - generic [ref=f5e184]:
-        - generic [ref=f5e185]:
-          - generic [ref=f5e186]:
-            - heading "涓婂崍濂斤紝娆㈣繋鍥炴潵" [level=1] [ref=f5e187]
-            - paragraph [ref=f5e188]: 2026骞�8鏈�19鏃� 鏄熸湡涓�
-          - generic [ref=f5e189]: 绯荤粺杩愯涓�
-        - generic [ref=f5e194]:
-          - generic [ref=f5e203] [cursor=pointer]:
-            - generic [ref=f5e204]: 鐢熶骇璁㈠崟
-            - generic [ref=f5e205]:
-              - generic [ref=f5e206]: "0"
-              - generic [ref=f5e208]: 杩涜涓�
-            - generic [ref=f5e209]:
-              - text: 寰呮帓浜� 0
-              - generic [ref=f5e211]: "|"
-              - text: 宸插畬鎴� 0
-          - generic [ref=f5e223] [cursor=pointer]:
-            - generic [ref=f5e224]: 浠婃棩浜ч噺
-            - generic [ref=f5e225]:
-              - generic [ref=f5e226]: "0"
-              - generic [ref=f5e228]: 浠�
-            - generic [ref=f5e229]: 鏄ㄦ棩 0 浠�
-          - generic [ref=f5e240] [cursor=pointer]:
-            - generic [ref=f5e241]: 璐ㄩ噺鍚堟牸鐜�
-            - generic [ref=f5e242]:
-              - generic [ref=f5e243]: "0.0"
-              - generic [ref=f5e245]: "%"
-            - generic [ref=f5e246]: 鍚堟牸 0 | 涓嶈壇 0
-          - generic [ref=f5e258] [cursor=pointer]:
-            - generic [ref=f5e259]: 璁惧杩愯鐜�
-            - generic [ref=f5e260]:
-              - generic [ref=f5e261]: "33.3"
-              - generic [ref=f5e263]: "%"
-            - generic [ref=f5e264]:
-              - generic [ref=f5e265]: 鍋滄満 1
-              - generic [ref=f5e266]: "|"
-              - generic [ref=f5e267]: 缁存姢 1
-        - generic [ref=f5e270]:
-          - generic [ref=f5e280] [cursor=pointer]:
-            - generic [ref=f5e281]: 閲囪喘璁㈠崟
-            - generic [ref=f5e282]:
-              - generic [ref=f5e283]: "0"
-              - generic [ref=f5e285]: 绗�
-            - generic [ref=f5e286]: ERP 閲囪喘绠$悊
-          - generic [ref=f5e297] [cursor=pointer]:
-            - generic [ref=f5e298]: 閿�鍞鍗�
-            - generic [ref=f5e299]:
-              - generic [ref=f5e300]: "0"
-              - generic [ref=f5e302]: 绗�
-            - generic [ref=f5e303]: ERP 閿�鍞鐞�
-          - generic [ref=f5e315] [cursor=pointer]:
-            - generic [ref=f5e316]: 鐗╂枡搴撳瓨
-            - generic [ref=f5e317]:
-              - generic [ref=f5e318]: "0"
-              - generic [ref=f5e320]: 鏉�
-            - generic [ref=f5e321]: MES 搴撳瓨鍙拌处
-          - generic [ref=f5e333] [cursor=pointer]:
-            - generic [ref=f5e334]: 鎴戠殑寰呭姙
-            - generic [ref=f5e335]:
-              - generic [ref=f5e336]: "0"
-              - generic [ref=f5e338]: 椤�
-            - generic [ref=f5e339]: BPM 寰呭鎵�
-        - generic [ref=f5e342]:
-          - generic [ref=f5e343]:
-            - heading "AI 鏅鸿兘鍒嗘瀽" [level=3] [ref=f5e344]
-            - generic [ref=f5e345]: 0 涓伐鍗曞彲鍒嗘瀽
-          - generic [ref=f5e346]:
-            - generic [ref=f5e354] [cursor=pointer]:
-              - generic [ref=f5e355]: AI 鐗╂枡棰勬祴
-              - generic [ref=f5e356]: 棰勬祴鐗╂枡闇�姹備笌鐭己椋庨櫓
-            - generic [ref=f5e365] [cursor=pointer]:
-              - generic [ref=f5e366]: AI 鏃堕暱棰勬祴
-              - generic [ref=f5e367]: 棰勬祴鍚勫伐搴忕敓浜ц�楁椂
-            - generic [ref=f5e374] [cursor=pointer]:
-              - generic [ref=f5e375]: AI 椋庨櫓棰勬祴
-              - generic [ref=f5e376]: 璇嗗埆娼滃湪鐢熶骇椋庨櫓骞剁粰鍑哄缓璁�
-            - generic [ref=f5e386] [cursor=pointer]:
-              - generic [ref=f5e387]: AI 浜や粯璇勪及
-              - generic [ref=f5e388]: 璇勪及璁㈠崟浜や粯鍑嗘椂鐜囦笌寤舵湡鍥犵礌
-        - generic [ref=f5e391]:
-          - heading "鐢熶骇瓒嬪娍锛堣繎7澶╋級" [level=3] [ref=f5e394]
-          - generic [ref=f5e399]:
-            - generic [ref=f5e400]:
-              - generic [ref=f5e406] [cursor=pointer]:
-                - generic [ref=f5e407]: 瀹夌伅鍛煎彨
-                - generic [ref=f5e408]:
-                  - generic [ref=f5e409]: "0"
-                  - generic [ref=f5e411]: 鏈缃�
-              - generic [ref=f5e417] [cursor=pointer]:
-                - generic [ref=f5e418]: 缁翠慨宸ュ崟
-                - generic [ref=f5e419]:
-                  - generic [ref=f5e420]: "0"
-                  - generic [ref=f5e422]: 寰呭鐞�
-            - heading "宸ュ崟鐘舵�佸垎甯�" [level=4] [ref=f5e424]
-        - generic [ref=f5e432]:
-          - heading "蹇嵎鎿嶄綔" [level=3] [ref=f5e433]
-          - generic [ref=f5e434]:
-            - generic [ref=f5e435] [cursor=pointer]: 鐢熶骇宸ュ崟
-            - generic [ref=f5e442] [cursor=pointer]: 鐢熶骇鎶ュ伐
-            - generic [ref=f5e449] [cursor=pointer]: 璐ㄦ绠$悊
-            - generic [ref=f5e457] [cursor=pointer]: 璁惧鐐规
-            - generic [ref=f5e464] [cursor=pointer]: 鐢熶骇鎺掔▼
-            - generic [ref=f5e471] [cursor=pointer]: 瀹夌伅鍛煎彨
-            - generic [ref=f5e476] [cursor=pointer]: 鐗╂枡搴撳瓨
-            - generic [ref=f5e484] [cursor=pointer]: 宸ヨ壓璺嚎
-            - generic [ref=f5e492] [cursor=pointer]: 鏁版嵁鎶ヨ〃
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-26-06-325Z.yml b/.playwright-mcp/page-2026-08-19T02-26-06-325Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-19T02-26-06-325Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-26-42-507Z.yml b/.playwright-mcp/page-2026-08-19T02-26-42-507Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-19T02-26-42-507Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-28-43-496Z.yml b/.playwright-mcp/page-2026-08-19T02-28-43-496Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-19T02-28-43-496Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-28-56-514Z.yml b/.playwright-mcp/page-2026-08-19T02-28-56-514Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-19T02-28-56-514Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-29-21-301Z.yml b/.playwright-mcp/page-2026-08-19T02-29-21-301Z.yml
deleted file mode 100644
index 43566c5..0000000
--- a/.playwright-mcp/page-2026-08-19T02-29-21-301Z.yml
+++ /dev/null
@@ -1,114 +0,0 @@
-- generic [ref=f12e1]:
-  - generic [ref=f12e4]:
-    - complementary [ref=f12e6]:
-      - generic [ref=f12e7]:
-        - generic [ref=f12e8] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f12e13] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f12e16]
-          - generic [ref=f12e17]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=f12e20]:
-          - menuitem "鍩虹鏁版嵁涓庝竴琚嬩竴鐮�" [ref=f12e21] [cursor=pointer]
-          - listitem [ref=f12e26]:
-            - generic [ref=f12e27] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f12e35]:
-            - generic [ref=f12e36] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-          - listitem [ref=f12e42]:
-            - generic [ref=f12e43] [cursor=pointer]: 绯荤粺绠$悊
-        - generic [ref=f12e50] [cursor=pointer]
-    - generic [ref=f12e55]:
-      - generic [ref=f12e56]:
-        - banner [ref=f12e57]:
-          - button [ref=f12e58] [cursor=pointer]
-          - button [ref=f12e61] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f12e66]:
-            - list [ref=f12e67]:
-              - listitem [ref=f12e68]:
-                - link "鍩虹鏁版嵁涓庝竴琚嬩竴鐮�" [disabled] [ref=f12e69]
-          - generic [ref=f12e74]:
-            - generic [ref=f12e76] [cursor=pointer]:
-              - generic [ref=f12e80]: 鎼滅储
-              - generic [ref=f12e81]: Ctrl K
-            - button [ref=f12e83] [cursor=pointer]
-            - button "dark" [ref=f12e88] [cursor=pointer]
-            - button [ref=f12e97] [cursor=pointer]
-            - button [ref=f12e103] [cursor=pointer]
-            - button [ref=f12e106] [cursor=pointer]
-            - button [ref=f12e112] [cursor=pointer]:
-              - button [ref=f12e114]
-            - button "宸ヤ綔鍙�" [ref=f12e118] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f12e122] [cursor=pointer]
-        - generic [ref=f12e129]:
-          - generic [ref=f12e134]:
-            - generic [ref=f12e135] [cursor=pointer]: 棣栭〉
-            - generic [ref=f12e153] [cursor=pointer]: 鍩虹鏁版嵁涓庝竴琚嬩竴鐮�
-          - generic [ref=f12e170]:
-            - button [expanded] [active] [ref=f12e171] [cursor=pointer]
-            - generic [ref=f12e178] [cursor=pointer]
-            - generic [ref=f12e182] [cursor=pointer]
-      - main [ref=f12e189]:
-        - generic [ref=f12e192]:
-          - generic [ref=f12e193]:
-            - generic [ref=f12e203] [cursor=pointer]:
-              - generic [ref=f12e204]: 鍝佺鎬绘暟
-              - generic [ref=f12e205]: "0"
-            - generic [ref=f12e216] [cursor=pointer]:
-              - generic [ref=f12e217]: MES 鍝佺
-              - generic [ref=f12e218]: "0"
-            - generic [ref=f12e229] [cursor=pointer]:
-              - generic [ref=f12e230]: 鍝佺鍒嗙被
-              - generic [ref=f12e231]: "0"
-            - generic [ref=f12e240] [cursor=pointer]:
-              - generic [ref=f12e241]: 璁¢噺鍗曚綅
-              - generic [ref=f12e242]: "0"
-          - generic [ref=f12e244]:
-            - generic [ref=f12e252] [cursor=pointer]:
-              - generic [ref=f12e253]: 浜х嚎
-              - generic [ref=f12e254]: "0"
-            - generic [ref=f12e266] [cursor=pointer]:
-              - generic [ref=f12e267]: 鐢熶骇鎵规
-              - generic [ref=f12e268]: "0"
-            - generic [ref=f12e277] [cursor=pointer]:
-              - generic [ref=f12e278]: 琚嬬爜
-              - generic [ref=f12e279]: "0"
-            - generic [ref=f12e290] [cursor=pointer]:
-              - generic [ref=f12e291]: 鎵樼洏鐮�
-              - generic [ref=f12e292]: "0"
-          - generic [ref=f12e294]:
-            - generic [ref=f12e298]:
-              - generic [ref=f12e299]: 琚嬬爜鐢熸垚瓒嬪娍
-              - generic [ref=f12e301]:
-                - generic [ref=f12e302] [cursor=pointer]:
-                  - generic [ref=f12e303]:
-                    - radio "杩� 7 澶�" [checked]
-                  - generic [ref=f12e304]: 杩� 7 澶�
-                - generic [ref=f12e305] [cursor=pointer]:
-                  - generic [ref=f12e306]:
-                    - radio "杩� 30 澶�"
-                  - generic [ref=f12e307]: 杩� 30 澶�
-            - generic [ref=f12e312]: 鎵规鐘舵�佸垎甯�
-            - generic [ref=f12e321]: 琚嬬爜鐘舵�佸垎甯�
-          - generic [ref=f12e330]:
-            - generic [ref=f12e331]: 蹇嵎鍏ュ彛
-            - generic [ref=f12e335]:
-              - generic [ref=f12e336]: 鐗╂枡绠$悊
-              - generic [ref=f12e344]: 鐢熶骇鐗╂枡
-              - generic [ref=f12e352]: 鍝佺鍒嗙被
-              - generic [ref=f12e360]: 璁¢噺鍗曚綅
-              - generic [ref=f12e366]: 浜х嚎缁存姢
-              - generic [ref=f12e372]: 鎵规鐢熶骇
-              - generic [ref=f12e381]: 璧嬬爜绠$悊
-              - generic [ref=f12e387]: 鎵樼洏鐮佺鐞�
-  - menu [ref=f12e396]:
-    - group [ref=f12e397]:
-      - menuitem "鍏抽棴" [ref=f12e398] [cursor=pointer]
-      - menuitem "鍥哄畾" [ref=f12e399] [cursor=pointer]
-      - menuitem "鏈�澶у寲" [ref=f12e400] [cursor=pointer]
-      - menuitem "閲嶆柊鍔犺浇" [ref=f12e401] [cursor=pointer]
-      - menuitem "鍦ㄦ柊绐楀彛鎵撳紑" [ref=f12e402] [cursor=pointer]
-      - separator [ref=f12e403]
-      - menuitem "鍏抽棴宸︿晶鏍囩椤�" [disabled]
-      - menuitem "鍏抽棴鍙充晶鏍囩椤�" [disabled]
-      - separator [ref=f12e404]
-      - menuitem "鍏抽棴鍏跺畠鏍囩椤�" [disabled]
-      - menuitem "鍏抽棴鍏ㄩ儴鏍囩椤�" [ref=f12e405] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-29-31-299Z.yml b/.playwright-mcp/page-2026-08-19T02-29-31-299Z.yml
deleted file mode 100644
index 323b7db..0000000
--- a/.playwright-mcp/page-2026-08-19T02-29-31-299Z.yml
+++ /dev/null
@@ -1,169 +0,0 @@
-- generic:
-  - generic:
-    - generic:
-      - generic:
-        - complementary:
-          - generic:
-            - generic:
-              - generic:
-                - link:
-                  - /url: javascript:void 0
-                  - generic: 宸ヤ笟AI鏅洪�犲钩鍙�
-            - generic:
-              - generic:
-                - menu:
-                  - menuitem:
-                    - generic: 鍩虹鏁版嵁涓庝竴琚嬩竴鐮�
-                  - listitem:
-                    - generic: 鍩虹鏁版嵁
-                  - listitem:
-                    - generic: 涓�琚嬩竴鐮佺鐞�
-                  - listitem:
-                    - generic: 绯荤粺绠$悊
-        - generic:
-          - generic:
-            - banner:
-              - button
-              - button
-              - generic:
-                - navigation:
-                  - list:
-                    - listitem:
-                      - link [disabled]:
-                        - generic: 鍩虹鏁版嵁涓庝竴琚嬩竴鐮�
-              - generic:
-                - generic:
-                  - generic:
-                    - generic: 鎼滅储
-                    - generic: Ctrl K
-                - generic:
-                  - button
-                - generic:
-                  - button "dark"
-                - generic:
-                  - button
-                - generic:
-                  - button
-                - button
-                - button:
-                  - generic:
-                    - button
-                - button:
-                  - generic: 宸ヤ綔鍙�
-                - button [expanded] [active]:
-                  - generic: 鐞嗗憳
-            - generic:
-              - generic:
-                - generic:
-                  - generic:
-                    - generic:
-                      - generic:
-                        - generic: 棣栭〉
-                        - generic: 鍩虹鏁版嵁涓庝竴琚嬩竴鐮�
-              - generic:
-                - button
-          - main:
-            - generic:
-              - generic:
-                - generic:
-                  - generic:
-                    - generic:
-                      - generic:
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic: 鍝佺鎬绘暟
-                              - generic: "0"
-                    - generic:
-                      - generic:
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic: MES 鍝佺
-                              - generic: "0"
-                    - generic:
-                      - generic:
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic: 鍝佺鍒嗙被
-                              - generic: "0"
-                    - generic:
-                      - generic:
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic: 璁¢噺鍗曚綅
-                              - generic: "0"
-                  - generic:
-                    - generic:
-                      - generic:
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic: 浜х嚎
-                              - generic: "0"
-                    - generic:
-                      - generic:
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic: 鐢熶骇鎵规
-                              - generic: "0"
-                    - generic:
-                      - generic:
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic: 琚嬬爜
-                              - generic: "0"
-                    - generic:
-                      - generic:
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic: 鎵樼洏鐮�
-                              - generic: "0"
-                  - generic:
-                    - generic:
-                      - generic:
-                        - generic:
-                          - generic:
-                            - generic: 琚嬬爜鐢熸垚瓒嬪娍
-                            - generic:
-                              - generic:
-                                - generic: 杩� 7 澶�
-                                - generic: 杩� 30 澶�
-                    - generic: 鎵规鐘舵�佸垎甯�
-                    - generic: 琚嬬爜鐘舵�佸垎甯�
-                  - generic:
-                    - generic: 蹇嵎鍏ュ彛
-                    - generic:
-                      - generic:
-                        - generic: 鐗╂枡绠$悊
-                        - generic: 鐢熶骇鐗╂枡
-                        - generic: 鍝佺鍒嗙被
-                        - generic: 璁¢噺鍗曚綅
-                        - generic: 浜х嚎缁存姢
-                        - generic: 鎵规鐢熶骇
-                        - generic: 璧嬬爜绠$悊
-                        - generic: 鎵樼洏鐮佺鐞�
-  - menu "瓒呯骇绠$悊鍛� 鐞嗗憳" [ref=f12e406]:
-    - generic [ref=f12e407]:
-      - generic [ref=f12e408]:
-        - generic [ref=f12e409]: 鐞嗗憳
-        - generic [ref=f12e413]:
-          - generic [ref=f12e414]:
-            - text: 瓒呯骇绠$悊鍛�
-            - generic [ref=f12e415]: admin
-          - generic [ref=f12e416]: 13aoteman@126.com
-      - separator [ref=f12e417]
-      - menuitem "涓汉涓績" [ref=f12e418] [cursor=pointer]
-      - separator [ref=f12e419]
-      - menuitem "閿佸畾灞忓箷 Alt L" [ref=f12e420] [cursor=pointer]:
-        - text: 閿佸畾灞忓箷
-        - generic [ref=f12e421]: Alt L
-      - separator [ref=f12e422]
-      - menuitem "閫�鍑虹櫥褰� Alt Q" [ref=f12e423] [cursor=pointer]:
-        - text: 閫�鍑虹櫥褰�
-        - generic [ref=f12e424]: Alt Q
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-29-38-624Z.yml b/.playwright-mcp/page-2026-08-19T02-29-38-624Z.yml
deleted file mode 100644
index ad117ee..0000000
--- a/.playwright-mcp/page-2026-08-19T02-29-38-624Z.yml
+++ /dev/null
@@ -1,124 +0,0 @@
-- generic [ref=f12e1]:
-  - generic [ref=f12e4]:
-    - complementary [ref=f12e6]:
-      - generic [ref=f12e7]:
-        - generic [ref=f12e8] [cursor=pointer]
-        - link [ref=f12e425] [cursor=pointer]:
-          - /url: javascript:void 0
-          - generic [ref=f12e17]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=f12e20]:
-          - menuitem [ref=f12e427] [cursor=pointer]:
-            - generic [ref=f12e22]: 鍩虹鏁版嵁涓庝竴琚嬩竴鐮�
-          - listitem [ref=f12e26]:
-            - generic [ref=f12e27] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f12e35]:
-            - generic [ref=f12e36] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-          - listitem [ref=f12e42]:
-            - generic [ref=f12e43] [cursor=pointer]: 绯荤粺绠$悊
-        - generic [ref=f12e50] [cursor=pointer]
-    - generic [ref=f12e55]:
-      - generic [ref=f12e56]:
-        - banner [ref=f12e57]:
-          - button [ref=f12e58] [cursor=pointer]
-          - button [ref=f12e61] [cursor=pointer]
-          - navigation [ref=f12e428]:
-            - list [ref=f12e67]:
-              - listitem [ref=f12e68]:
-                - link [disabled] [ref=f12e429]:
-                  - generic [ref=f12e70]: 鍩虹鏁版嵁涓庝竴琚嬩竴鐮�
-          - generic [ref=f12e74]:
-            - generic [ref=f12e76] [cursor=pointer]:
-              - generic [ref=f12e80]: 鎼滅储
-              - generic [ref=f12e81]: Ctrl K
-            - button [ref=f12e83] [cursor=pointer]
-            - button "dark" [ref=f12e88] [cursor=pointer]
-            - button [ref=f12e97] [cursor=pointer]
-            - button [ref=f12e103] [cursor=pointer]
-            - button [ref=f12e106] [cursor=pointer]
-            - button [ref=f12e112] [cursor=pointer]:
-              - button [ref=f12e114]
-            - button [ref=f12e430] [cursor=pointer]:
-              - generic [ref=f12e121]: 宸ヤ綔鍙�
-            - button [ref=f12e431] [cursor=pointer]:
-              - generic [ref=f12e123]: 鐞嗗憳
-        - generic [ref=f12e129]:
-          - generic [ref=f12e134]:
-            - generic [ref=f12e135] [cursor=pointer]: 棣栭〉
-            - generic [ref=f12e153] [cursor=pointer]: 鍩虹鏁版嵁涓庝竴琚嬩竴鐮�
-          - generic [ref=f12e170]:
-            - button [ref=f12e171] [cursor=pointer]
-            - generic [ref=f12e178] [cursor=pointer]
-            - generic [ref=f12e182] [cursor=pointer]
-      - main [ref=f12e189]:
-        - generic [ref=f12e192]:
-          - generic [ref=f12e193]:
-            - generic [ref=f12e203] [cursor=pointer]:
-              - generic [ref=f12e204]: 鍝佺鎬绘暟
-              - generic [ref=f12e205]: "0"
-            - generic [ref=f12e216] [cursor=pointer]:
-              - generic [ref=f12e217]: MES 鍝佺
-              - generic [ref=f12e218]: "0"
-            - generic [ref=f12e229] [cursor=pointer]:
-              - generic [ref=f12e230]: 鍝佺鍒嗙被
-              - generic [ref=f12e231]: "0"
-            - generic [ref=f12e240] [cursor=pointer]:
-              - generic [ref=f12e241]: 璁¢噺鍗曚綅
-              - generic [ref=f12e242]: "0"
-          - generic [ref=f12e244]:
-            - generic [ref=f12e252] [cursor=pointer]:
-              - generic [ref=f12e253]: 浜х嚎
-              - generic [ref=f12e254]: "0"
-            - generic [ref=f12e266] [cursor=pointer]:
-              - generic [ref=f12e267]: 鐢熶骇鎵规
-              - generic [ref=f12e268]: "0"
-            - generic [ref=f12e277] [cursor=pointer]:
-              - generic [ref=f12e278]: 琚嬬爜
-              - generic [ref=f12e279]: "0"
-            - generic [ref=f12e290] [cursor=pointer]:
-              - generic [ref=f12e291]: 鎵樼洏鐮�
-              - generic [ref=f12e292]: "0"
-          - generic [ref=f12e294]:
-            - generic [ref=f12e298]:
-              - generic [ref=f12e299]: 琚嬬爜鐢熸垚瓒嬪娍
-              - generic [ref=f12e301]:
-                - generic [ref=f12e302] [cursor=pointer]: 杩� 7 澶�
-                - generic [ref=f12e305] [cursor=pointer]: 杩� 30 澶�
-            - generic [ref=f12e312]: 鎵规鐘舵�佸垎甯�
-            - generic [ref=f12e321]: 琚嬬爜鐘舵�佸垎甯�
-          - generic [ref=f12e330]:
-            - generic [ref=f12e331]: 蹇嵎鍏ュ彛
-            - generic [ref=f12e335]:
-              - generic [ref=f12e336]: 鐗╂枡绠$悊
-              - generic [ref=f12e344]: 鐢熶骇鐗╂枡
-              - generic [ref=f12e352]: 鍝佺鍒嗙被
-              - generic [ref=f12e360]: 璁¢噺鍗曚綅
-              - generic [ref=f12e366]: 浜х嚎缁存姢
-              - generic [ref=f12e372]: 鎵规鐢熶骇
-              - generic [ref=f12e381]: 璧嬬爜绠$悊
-              - generic [ref=f12e387]: 鎵樼洏鐮佺鐞�
-  - dialog [ref=f12e433]:
-    - heading "鎻愮ず" [level=2] [ref=f12e435]
-    - generic [ref=f12e437]: 鏄惁閫�鍑虹櫥褰曪紵
-    - generic [ref=f12e438]:
-      - button "鍙� 娑�" [ref=f12e439] [cursor=pointer]
-      - button "纭� 璁�" [ref=f12e441] [cursor=pointer]
-    - button [ref=f12e443] [cursor=pointer]
-  - menu "瓒呯骇绠$悊鍛� 鐞嗗憳" [ref=f12e406]:
-    - generic [ref=f12e407]:
-      - generic [ref=f12e408]:
-        - generic [ref=f12e409]: 鐞嗗憳
-        - generic [ref=f12e413]:
-          - generic [ref=f12e414]:
-            - text: 瓒呯骇绠$悊鍛�
-            - generic [ref=f12e415]: admin
-          - generic [ref=f12e416]: 13aoteman@126.com
-      - separator [ref=f12e417]
-      - menuitem "涓汉涓績" [ref=f12e418] [cursor=pointer]
-      - separator [ref=f12e419]
-      - menuitem "閿佸畾灞忓箷 Alt L" [ref=f12e420] [cursor=pointer]:
-        - text: 閿佸畾灞忓箷
-        - generic [ref=f12e421]: Alt L
-      - separator [ref=f12e422]
-      - menuitem "閫�鍑虹櫥褰� Alt Q" [active] [ref=f12e423] [cursor=pointer]:
-        - text: 閫�鍑虹櫥褰�
-        - generic [ref=f12e424]: Alt Q
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-29-47-885Z.yml b/.playwright-mcp/page-2026-08-19T02-29-47-885Z.yml
deleted file mode 100644
index 8d49d71..0000000
--- a/.playwright-mcp/page-2026-08-19T02-29-47-885Z.yml
+++ /dev/null
@@ -1,42 +0,0 @@
-- generic [ref=f12e455]:
-  - generic [ref=f12e456]:
-    - generic [ref=f12e457]:
-      - generic [ref=f12e458]:
-        - generic:
-          - button [ref=f12e459] [cursor=pointer]
-          - button [ref=f12e463] [cursor=pointer]
-          - button [ref=f12e465] [cursor=pointer]
-          - button [ref=f12e467] [cursor=pointer]
-          - button [ref=f12e469] [cursor=pointer]
-          - button [ref=f12e471] [cursor=pointer]
-          - button [ref=f12e473] [cursor=pointer]
-        - button [ref=f12e475] [cursor=pointer]
-      - button [ref=f12e482] [cursor=pointer]
-    - button [ref=f12e486] [cursor=pointer]
-    - button "dark" [ref=f12e492] [cursor=pointer]
-  - generic [ref=f12e501]:
-    - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f12e502]
-    - paragraph [ref=f12e503]: 宸ヤ笟AI鏅洪�犲钩鍙�
-  - generic [ref=f12e507]:
-    - img "87667-SVG8" [ref=f12e508]
-    - generic [ref=f12e812]: 寮�绠卞嵆鐢ㄧ殑澶у瀷涓悗鍙扮鐞嗙郴缁�
-    - generic [ref=f12e813]: 宸ョ▼鍖栥�侀珮鎬ц兘銆佽法缁勪欢搴撶殑鍓嶇妯$増
-  - generic [ref=f12e814]:
-    - generic [ref=f12e816]:
-      - generic [ref=f12e817]:
-        - heading "娆㈣繋鍥炴潵 馃憢馃徎" [level=2] [ref=f12e818]
-        - paragraph [ref=f12e819]:
-          - generic [ref=f12e820]: 璇疯緭鍏ユ偍鐨勮处鎴蜂俊鎭互寮�濮嬬鐞嗘偍鐨勯」鐩�
-      - generic [ref=f12e822]:
-        - textbox "璇疯緭鍏ョ敤鎴峰悕" [ref=f12e828]: admin
-        - generic [ref=f12e834]:
-          - textbox "璇疯緭鍏ュ瘑鐮�" [ref=f12e835]: admin123
-          - generic [ref=f12e836] [cursor=pointer]
-      - generic [ref=f12e844]:
-        - checkbox "璁颁綇璐﹀彿" [ref=f12e845] [cursor=pointer]
-        - generic [ref=f12e846] [cursor=pointer]: 璁颁綇璐﹀彿
-      - button "login" [ref=f12e847] [cursor=pointer]: 鐧诲綍
-    - generic [ref=f12e849]:
-      - text: Copyright 漏 2024
-      - link "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f12e850] [cursor=pointer]:
-        - /url: https://gitee.com/yudaocode/yudao-ui-admin-vben
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-31-28-342Z.yml b/.playwright-mcp/page-2026-08-19T02-31-28-342Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-19T02-31-28-342Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-31-43-280Z.yml b/.playwright-mcp/page-2026-08-19T02-31-43-280Z.yml
deleted file mode 100644
index 7123842..0000000
--- a/.playwright-mcp/page-2026-08-19T02-31-43-280Z.yml
+++ /dev/null
@@ -1,163 +0,0 @@
-- generic:
-  - generic:
-    - generic:
-      - generic:
-        - complementary:
-          - generic:
-            - generic:
-              - generic:
-                - link:
-                  - /url: javascript:void 0
-                  - generic: 宸ヤ笟AI鏅洪�犲钩鍙�
-            - generic:
-              - generic:
-                - menu:
-                  - menuitem:
-                    - generic: 鍩虹鏁版嵁涓庝竴琚嬩竴鐮�
-                  - listitem:
-                    - generic: 鍩虹鏁版嵁
-                  - listitem:
-                    - generic: 涓�琚嬩竴鐮佺鐞�
-                  - listitem:
-                    - generic: 绯荤粺绠$悊
-        - generic:
-          - generic:
-            - banner:
-              - button
-              - button
-              - generic:
-                - navigation:
-                  - list:
-                    - listitem:
-                      - link [disabled]:
-                        - generic: 鍩虹鏁版嵁涓庝竴琚嬩竴鐮�
-              - generic:
-                - generic:
-                  - generic:
-                    - generic: 鎼滅储
-                    - generic: Ctrl K
-                - generic:
-                  - button
-                - generic:
-                  - button "dark"
-                - generic:
-                  - button
-                - generic:
-                  - button
-                - button
-                - button:
-                  - generic:
-                    - button
-                - button:
-                  - generic: 宸ヤ綔鍙�
-                - button [expanded] [active]:
-                  - generic: 鐞嗗憳
-            - generic:
-              - generic: 鍩虹鏁版嵁涓庝竴琚嬩竴鐮�
-              - generic:
-                - button
-          - main:
-            - generic:
-              - generic:
-                - generic:
-                  - generic:
-                    - generic:
-                      - generic:
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic: 鍝佺鎬绘暟
-                              - generic: "0"
-                    - generic:
-                      - generic:
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic: MES 鍝佺
-                              - generic: "0"
-                    - generic:
-                      - generic:
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic: 鍝佺鍒嗙被
-                              - generic: "0"
-                    - generic:
-                      - generic:
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic: 璁¢噺鍗曚綅
-                              - generic: "0"
-                  - generic:
-                    - generic:
-                      - generic:
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic: 浜х嚎
-                              - generic: "0"
-                    - generic:
-                      - generic:
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic: 鐢熶骇鎵规
-                              - generic: "0"
-                    - generic:
-                      - generic:
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic: 琚嬬爜
-                              - generic: "0"
-                    - generic:
-                      - generic:
-                        - generic:
-                          - generic:
-                            - generic:
-                              - generic: 鎵樼洏鐮�
-                              - generic: "0"
-                  - generic:
-                    - generic:
-                      - generic:
-                        - generic:
-                          - generic:
-                            - generic: 琚嬬爜鐢熸垚瓒嬪娍
-                            - generic:
-                              - generic:
-                                - generic: 杩� 7 澶�
-                                - generic: 杩� 30 澶�
-                    - generic: 鎵规鐘舵�佸垎甯�
-                    - generic: 琚嬬爜鐘舵�佸垎甯�
-                  - generic:
-                    - generic: 蹇嵎鍏ュ彛
-                    - generic:
-                      - generic:
-                        - generic: 鐗╂枡绠$悊
-                        - generic: 鐢熶骇鐗╂枡
-                        - generic: 鍝佺鍒嗙被
-                        - generic: 璁¢噺鍗曚綅
-                        - generic: 浜х嚎缁存姢
-                        - generic: 鎵规鐢熶骇
-                        - generic: 璧嬬爜绠$悊
-                        - generic: 鎵樼洏鐮佺鐞�
-  - menu "瓒呯骇绠$悊鍛� 鐞嗗憳" [ref=f14e377]:
-    - generic [ref=f14e378]:
-      - generic [ref=f14e379]:
-        - generic [ref=f14e380]: 鐞嗗憳
-        - generic [ref=f14e384]:
-          - generic [ref=f14e385]:
-            - text: 瓒呯骇绠$悊鍛�
-            - generic [ref=f14e386]: admin
-          - generic [ref=f14e387]: 13aoteman@126.com
-      - separator [ref=f14e388]
-      - menuitem "涓汉涓績" [ref=f14e389] [cursor=pointer]
-      - separator [ref=f14e390]
-      - menuitem "閿佸畾灞忓箷 Alt L" [ref=f14e391] [cursor=pointer]:
-        - text: 閿佸畾灞忓箷
-        - generic [ref=f14e392]: Alt L
-      - separator [ref=f14e393]
-      - menuitem "閫�鍑虹櫥褰� Alt Q" [ref=f14e394] [cursor=pointer]:
-        - text: 閫�鍑虹櫥褰�
-        - generic [ref=f14e395]: Alt Q
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-31-49-797Z.yml b/.playwright-mcp/page-2026-08-19T02-31-49-797Z.yml
deleted file mode 100644
index 417b55c..0000000
--- a/.playwright-mcp/page-2026-08-19T02-31-49-797Z.yml
+++ /dev/null
@@ -1,122 +0,0 @@
-- generic [ref=f14e4]:
-  - generic [ref=f14e7]:
-    - complementary [ref=f14e9]:
-      - generic [ref=f14e10]:
-        - generic [ref=f14e11] [cursor=pointer]
-        - link [ref=f14e396] [cursor=pointer]:
-          - /url: javascript:void 0
-          - generic [ref=f14e20]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=f14e23]:
-          - menuitem [ref=f14e398] [cursor=pointer]:
-            - generic [ref=f14e25]: 鍩虹鏁版嵁涓庝竴琚嬩竴鐮�
-          - listitem [ref=f14e29]:
-            - generic [ref=f14e30] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f14e38]:
-            - generic [ref=f14e39] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-          - listitem [ref=f14e45]:
-            - generic [ref=f14e46] [cursor=pointer]: 绯荤粺绠$悊
-        - generic [ref=f14e53] [cursor=pointer]
-    - generic [ref=f14e58]:
-      - generic [ref=f14e59]:
-        - banner [ref=f14e60]:
-          - button [ref=f14e61] [cursor=pointer]
-          - button [ref=f14e64] [cursor=pointer]
-          - navigation [ref=f14e399]:
-            - list [ref=f14e70]:
-              - listitem [ref=f14e71]:
-                - link [disabled] [ref=f14e400]:
-                  - generic [ref=f14e73]: 鍩虹鏁版嵁涓庝竴琚嬩竴鐮�
-          - generic [ref=f14e77]:
-            - generic [ref=f14e79] [cursor=pointer]:
-              - generic [ref=f14e83]: 鎼滅储
-              - generic [ref=f14e84]: Ctrl K
-            - button [ref=f14e86] [cursor=pointer]
-            - button "dark" [ref=f14e91] [cursor=pointer]
-            - button [ref=f14e100] [cursor=pointer]
-            - button [ref=f14e106] [cursor=pointer]
-            - button [ref=f14e109] [cursor=pointer]
-            - button [ref=f14e115] [cursor=pointer]:
-              - button [ref=f14e117]
-            - button [ref=f14e401] [cursor=pointer]:
-              - generic [ref=f14e124]: 宸ヤ綔鍙�
-            - button [ref=f14e402] [cursor=pointer]:
-              - generic [ref=f14e126]: 鐞嗗憳
-        - generic [ref=f14e132]:
-          - generic [ref=f14e133]: 鍩虹鏁版嵁涓庝竴琚嬩竴鐮�
-          - generic [ref=f14e152]:
-            - button [ref=f14e153] [cursor=pointer]
-            - generic [ref=f14e160] [cursor=pointer]
-            - generic [ref=f14e164] [cursor=pointer]
-      - main [ref=f14e171]:
-        - generic [ref=f14e174]:
-          - generic [ref=f14e175]:
-            - generic [ref=f14e185] [cursor=pointer]:
-              - generic [ref=f14e186]: 鍝佺鎬绘暟
-              - generic [ref=f14e187]: "0"
-            - generic [ref=f14e198] [cursor=pointer]:
-              - generic [ref=f14e199]: MES 鍝佺
-              - generic [ref=f14e200]: "0"
-            - generic [ref=f14e211] [cursor=pointer]:
-              - generic [ref=f14e212]: 鍝佺鍒嗙被
-              - generic [ref=f14e213]: "0"
-            - generic [ref=f14e222] [cursor=pointer]:
-              - generic [ref=f14e223]: 璁¢噺鍗曚綅
-              - generic [ref=f14e224]: "0"
-          - generic [ref=f14e226]:
-            - generic [ref=f14e234] [cursor=pointer]:
-              - generic [ref=f14e235]: 浜х嚎
-              - generic [ref=f14e236]: "0"
-            - generic [ref=f14e248] [cursor=pointer]:
-              - generic [ref=f14e249]: 鐢熶骇鎵规
-              - generic [ref=f14e250]: "0"
-            - generic [ref=f14e259] [cursor=pointer]:
-              - generic [ref=f14e260]: 琚嬬爜
-              - generic [ref=f14e261]: "0"
-            - generic [ref=f14e272] [cursor=pointer]:
-              - generic [ref=f14e273]: 鎵樼洏鐮�
-              - generic [ref=f14e274]: "0"
-          - generic [ref=f14e276]:
-            - generic [ref=f14e280]:
-              - generic [ref=f14e281]: 琚嬬爜鐢熸垚瓒嬪娍
-              - generic [ref=f14e283]:
-                - generic [ref=f14e284] [cursor=pointer]: 杩� 7 澶�
-                - generic [ref=f14e287] [cursor=pointer]: 杩� 30 澶�
-            - generic [ref=f14e294]: 鎵规鐘舵�佸垎甯�
-            - generic [ref=f14e303]: 琚嬬爜鐘舵�佸垎甯�
-          - generic [ref=f14e312]:
-            - generic [ref=f14e313]: 蹇嵎鍏ュ彛
-            - generic [ref=f14e317]:
-              - generic [ref=f14e318]: 鐗╂枡绠$悊
-              - generic [ref=f14e326]: 鐢熶骇鐗╂枡
-              - generic [ref=f14e334]: 鍝佺鍒嗙被
-              - generic [ref=f14e342]: 璁¢噺鍗曚綅
-              - generic [ref=f14e348]: 浜х嚎缁存姢
-              - generic [ref=f14e354]: 鎵规鐢熶骇
-              - generic [ref=f14e363]: 璧嬬爜绠$悊
-              - generic [ref=f14e369]: 鎵樼洏鐮佺鐞�
-  - dialog [ref=f14e404]:
-    - heading "鎻愮ず" [level=2] [ref=f14e406]
-    - generic [ref=f14e408]: 鏄惁閫�鍑虹櫥褰曪紵
-    - generic [ref=f14e409]:
-      - button "鍙� 娑�" [ref=f14e410] [cursor=pointer]
-      - button "纭� 璁�" [ref=f14e412] [cursor=pointer]
-    - button [ref=f14e414] [cursor=pointer]
-  - menu "瓒呯骇绠$悊鍛� 鐞嗗憳" [ref=f14e377]:
-    - generic [ref=f14e378]:
-      - generic [ref=f14e379]:
-        - generic [ref=f14e380]: 鐞嗗憳
-        - generic [ref=f14e384]:
-          - generic [ref=f14e385]:
-            - text: 瓒呯骇绠$悊鍛�
-            - generic [ref=f14e386]: admin
-          - generic [ref=f14e387]: 13aoteman@126.com
-      - separator [ref=f14e388]
-      - menuitem "涓汉涓績" [ref=f14e389] [cursor=pointer]
-      - separator [ref=f14e390]
-      - menuitem "閿佸畾灞忓箷 Alt L" [ref=f14e391] [cursor=pointer]:
-        - text: 閿佸畾灞忓箷
-        - generic [ref=f14e392]: Alt L
-      - separator [ref=f14e393]
-      - menuitem "閫�鍑虹櫥褰� Alt Q" [active] [ref=f14e394] [cursor=pointer]:
-        - text: 閫�鍑虹櫥褰�
-        - generic [ref=f14e395]: Alt Q
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-32-09-962Z.yml b/.playwright-mcp/page-2026-08-19T02-32-09-962Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-19T02-32-09-962Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-32-18-582Z.yml b/.playwright-mcp/page-2026-08-19T02-32-18-582Z.yml
deleted file mode 100644
index 474e8d8..0000000
--- a/.playwright-mcp/page-2026-08-19T02-32-18-582Z.yml
+++ /dev/null
@@ -1,105 +0,0 @@
-- generic [active] [ref=f15e4]:
-  - generic [ref=f15e403]:
-    - complementary [ref=f15e405]:
-      - generic [ref=f15e406]:
-        - generic [ref=f15e407] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f15e412] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f15e415]
-          - generic [ref=f15e416]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=f15e419]:
-          - menuitem "鍩虹鏁版嵁涓庝竴琚嬩竴鐮�" [ref=f15e420] [cursor=pointer]
-          - listitem [ref=f15e425]:
-            - generic [ref=f15e426] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f15e434]:
-            - generic [ref=f15e435] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-          - listitem [ref=f15e441]:
-            - generic [ref=f15e442] [cursor=pointer]: 绯荤粺绠$悊
-        - generic [ref=f15e449] [cursor=pointer]
-    - generic [ref=f15e454]:
-      - generic [ref=f15e455]:
-        - banner [ref=f15e456]:
-          - button [ref=f15e457] [cursor=pointer]
-          - button [ref=f15e460] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f15e465]:
-            - list [ref=f15e466]:
-              - listitem [ref=f15e467]:
-                - link "鍩虹鏁版嵁涓庝竴琚嬩竴鐮�" [disabled] [ref=f15e468]
-          - generic [ref=f15e473]:
-            - generic [ref=f15e475] [cursor=pointer]:
-              - generic [ref=f15e479]: 鎼滅储
-              - generic [ref=f15e480]: Ctrl K
-            - button [ref=f15e482] [cursor=pointer]
-            - button "dark" [ref=f15e487] [cursor=pointer]
-            - button [ref=f15e496] [cursor=pointer]
-            - button [ref=f15e502] [cursor=pointer]
-            - button [ref=f15e505] [cursor=pointer]
-            - button [ref=f15e511] [cursor=pointer]:
-              - button [ref=f15e513]
-            - button "宸ヤ綔鍙�" [ref=f15e517] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f15e521] [cursor=pointer]
-        - generic [ref=f15e528]:
-          - generic [ref=f15e529]: 鍩虹鏁版嵁涓庝竴琚嬩竴鐮�
-          - generic [ref=f15e548]:
-            - button [ref=f15e549] [cursor=pointer]
-            - generic [ref=f15e556] [cursor=pointer]
-            - generic [ref=f15e560] [cursor=pointer]
-      - main [ref=f15e567]:
-        - generic [ref=f15e570]:
-          - generic [ref=f15e571]:
-            - generic [ref=f15e581] [cursor=pointer]:
-              - generic [ref=f15e582]: 鍝佺鎬绘暟
-              - generic [ref=f15e583]: "0"
-            - generic [ref=f15e594] [cursor=pointer]:
-              - generic [ref=f15e595]: MES 鍝佺
-              - generic [ref=f15e596]: "0"
-            - generic [ref=f15e607] [cursor=pointer]:
-              - generic [ref=f15e608]: 鍝佺鍒嗙被
-              - generic [ref=f15e609]: "0"
-            - generic [ref=f15e618] [cursor=pointer]:
-              - generic [ref=f15e619]: 璁¢噺鍗曚綅
-              - generic [ref=f15e620]: "0"
-          - generic [ref=f15e622]:
-            - generic [ref=f15e630] [cursor=pointer]:
-              - generic [ref=f15e631]: 浜х嚎
-              - generic [ref=f15e632]: "0"
-            - generic [ref=f15e644] [cursor=pointer]:
-              - generic [ref=f15e645]: 鐢熶骇鎵规
-              - generic [ref=f15e646]: "0"
-            - generic [ref=f15e655] [cursor=pointer]:
-              - generic [ref=f15e656]: 琚嬬爜
-              - generic [ref=f15e657]: "0"
-            - generic [ref=f15e668] [cursor=pointer]:
-              - generic [ref=f15e669]: 鎵樼洏鐮�
-              - generic [ref=f15e670]: "0"
-          - generic [ref=f15e672]:
-            - generic [ref=f15e676]:
-              - generic [ref=f15e677]: 琚嬬爜鐢熸垚瓒嬪娍
-              - generic [ref=f15e679]:
-                - generic [ref=f15e680] [cursor=pointer]:
-                  - generic [ref=f15e681]:
-                    - radio "杩� 7 澶�" [checked]
-                  - generic [ref=f15e682]: 杩� 7 澶�
-                - generic [ref=f15e683] [cursor=pointer]:
-                  - generic [ref=f15e684]:
-                    - radio "杩� 30 澶�"
-                  - generic [ref=f15e685]: 杩� 30 澶�
-            - generic [ref=f15e690]: 鎵规鐘舵�佸垎甯�
-            - generic [ref=f15e699]: 琚嬬爜鐘舵�佸垎甯�
-          - generic [ref=f15e708]:
-            - generic [ref=f15e709]: 蹇嵎鍏ュ彛
-            - generic [ref=f15e713]:
-              - generic [ref=f15e714]: 鐗╂枡绠$悊
-              - generic [ref=f15e722]: 鐢熶骇鐗╂枡
-              - generic [ref=f15e730]: 鍝佺鍒嗙被
-              - generic [ref=f15e738]: 璁¢噺鍗曚綅
-              - generic [ref=f15e744]: 浜х嚎缁存姢
-              - generic [ref=f15e750]: 鎵规鐢熶骇
-              - generic [ref=f15e759]: 璧嬬爜绠$悊
-              - generic [ref=f15e765]: 鎵樼洏鐮佺鐞�
-  - generic [ref=f15e775]:
-    - generic [ref=f15e777]:
-      - img "check-circle" [ref=f15e778]
-      - generic [ref=f15e782]: 鐧诲綍鎴愬姛
-      - generic [ref=f15e783]: 娆㈣繋鍥炴潵:瓒呯骇绠$悊鍛�
-    - img "close" [ref=f15e786] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-33-50-857Z.yml b/.playwright-mcp/page-2026-08-19T02-33-50-857Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-19T02-33-50-857Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-33-58-475Z.yml b/.playwright-mcp/page-2026-08-19T02-33-58-475Z.yml
deleted file mode 100644
index 111449e..0000000
--- a/.playwright-mcp/page-2026-08-19T02-33-58-475Z.yml
+++ /dev/null
@@ -1,102 +0,0 @@
-- generic [active] [ref=f16e4]:
-  - generic [ref=f16e413]:
-    - complementary [ref=f16e415]:
-      - generic [ref=f16e416]:
-        - generic [ref=f16e417] [cursor=pointer]
-        - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f16e422] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f16e425]
-          - generic [ref=f16e426]: 宸ヤ笟AI鏅洪�犲钩鍙�
-        - menu [ref=f16e429]:
-          - menuitem "鍩虹鏁版嵁涓庝竴琚嬩竴鐮�" [ref=f16e430] [cursor=pointer]
-          - listitem [ref=f16e434]:
-            - generic [ref=f16e435] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f16e440]:
-            - generic [ref=f16e441] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-          - listitem [ref=f16e446]:
-            - generic [ref=f16e447] [cursor=pointer]: 绯荤粺绠$悊
-        - generic [ref=f16e453] [cursor=pointer]
-    - generic [ref=f16e458]:
-      - generic [ref=f16e459]:
-        - banner [ref=f16e460]:
-          - button [ref=f16e461] [cursor=pointer]
-          - button [ref=f16e463] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f16e468]:
-            - list [ref=f16e469]:
-              - listitem [ref=f16e470]:
-                - link "鍩虹鏁版嵁涓庝竴琚嬩竴鐮�" [disabled] [ref=f16e471]
-          - generic [ref=f16e475]:
-            - generic [ref=f16e477] [cursor=pointer]:
-              - generic [ref=f16e481]: 鎼滅储
-              - generic [ref=f16e482]: Ctrl K
-            - button [ref=f16e484] [cursor=pointer]
-            - button "dark" [ref=f16e489] [cursor=pointer]
-            - button [ref=f16e498] [cursor=pointer]
-            - button [ref=f16e504] [cursor=pointer]
-            - button [ref=f16e507] [cursor=pointer]
-            - button [ref=f16e513] [cursor=pointer]:
-              - button [ref=f16e515]
-            - button "宸ヤ綔鍙�" [ref=f16e519] [cursor=pointer]
-            - button [ref=f16e522] [cursor=pointer]:
-              - img "瓒呯骇绠$悊鍛�" [ref=f16e527]
-        - generic [ref=f16e529]:
-          - generic [ref=f16e530]: 鍩虹鏁版嵁涓庝竴琚嬩竴鐮�
-          - generic [ref=f16e548]:
-            - button [ref=f16e549] [cursor=pointer]
-            - generic [ref=f16e556] [cursor=pointer]
-            - generic [ref=f16e560] [cursor=pointer]
-      - main [ref=f16e567]:
-        - generic [ref=f16e570]:
-          - generic [ref=f16e571]:
-            - generic [ref=f16e578] [cursor=pointer]:
-              - generic [ref=f16e579]: 鍝佺鎬绘暟
-              - generic [ref=f16e580]: "0"
-            - generic [ref=f16e588] [cursor=pointer]:
-              - generic [ref=f16e589]: MES 鍝佺
-              - generic [ref=f16e590]: "0"
-            - generic [ref=f16e598] [cursor=pointer]:
-              - generic [ref=f16e599]: 鍝佺鍒嗙被
-              - generic [ref=f16e600]: "0"
-            - generic [ref=f16e608] [cursor=pointer]:
-              - generic [ref=f16e609]: 璁¢噺鍗曚綅
-              - generic [ref=f16e610]: "0"
-          - generic [ref=f16e612]:
-            - generic [ref=f16e619] [cursor=pointer]:
-              - generic [ref=f16e620]: 浜х嚎
-              - generic [ref=f16e621]: "0"
-            - generic [ref=f16e629] [cursor=pointer]:
-              - generic [ref=f16e630]: 鐢熶骇鎵规
-              - generic [ref=f16e631]: "0"
-            - generic [ref=f16e639] [cursor=pointer]:
-              - generic [ref=f16e640]: 琚嬬爜
-              - generic [ref=f16e641]: "0"
-            - generic [ref=f16e649] [cursor=pointer]:
-              - generic [ref=f16e650]: 鎵樼洏鐮�
-              - generic [ref=f16e651]: "0"
-          - generic [ref=f16e653]:
-            - generic [ref=f16e657]:
-              - generic [ref=f16e658]: 琚嬬爜鐢熸垚瓒嬪娍
-              - generic [ref=f16e660]:
-                - generic [ref=f16e661] [cursor=pointer]:
-                  - generic [ref=f16e662]:
-                    - radio "杩� 7 澶�" [checked]
-                  - generic [ref=f16e663]: 杩� 7 澶�
-                - generic [ref=f16e664] [cursor=pointer]:
-                  - generic [ref=f16e665]:
-                    - radio "杩� 30 澶�"
-                  - generic [ref=f16e666]: 杩� 30 澶�
-            - generic [ref=f16e671]: 鎵规鐘舵�佸垎甯�
-            - generic [ref=f16e680]: 琚嬬爜鐘舵�佸垎甯�
-          - generic [ref=f16e689]:
-            - generic [ref=f16e690]: 蹇嵎鍏ュ彛
-            - generic [ref=f16e694]:
-              - generic [ref=f16e695]: 鍝佺绠$悊
-              - generic [ref=f16e700]: 鍝佺鍒嗙被
-              - generic [ref=f16e705]: 鎵规鐢熶骇
-              - generic [ref=f16e710]: 璧嬬爜绠$悊
-  - generic [ref=f16e717]:
-    - generic [ref=f16e719]:
-      - img "check-circle" [ref=f16e720]
-      - generic [ref=f16e724]: 鐧诲綍鎴愬姛
-      - generic [ref=f16e725]: 娆㈣繋鍥炴潵:瓒呯骇绠$悊鍛�
-    - img "close" [ref=f16e728] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-19T02-34-08-855Z.yml b/.playwright-mcp/page-2026-08-19T02-34-08-855Z.yml
deleted file mode 100644
index fa1daf3..0000000
--- a/.playwright-mcp/page-2026-08-19T02-34-08-855Z.yml
+++ /dev/null
@@ -1,105 +0,0 @@
-- generic [ref=f16e413]:
-  - complementary [ref=f16e415]:
-    - generic [ref=f16e416]:
-      - generic [ref=f16e417] [cursor=pointer]
-      - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f16e422] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f16e425]
-        - generic [ref=f16e426]: 宸ヤ笟AI鏅洪�犲钩鍙�
-      - menu [ref=f16e429]:
-        - menuitem "鍩虹鏁版嵁涓庝竴琚嬩竴鐮�" [ref=f16e430] [cursor=pointer]
-        - listitem [ref=f16e434]:
-          - generic [ref=f16e435] [cursor=pointer]: 鍩虹鏁版嵁
-          - list:
-            - menuitem "鍝佺绠$悊" [ref=f16e771] [cursor=pointer]
-            - menuitem "鍝佺鍒嗙被" [ref=f16e778] [cursor=pointer]
-            - menuitem "璁¢噺鍗曚綅" [ref=f16e783] [cursor=pointer]
-        - listitem [ref=f16e440]:
-          - generic [ref=f16e441] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-        - listitem [ref=f16e446]:
-          - generic [ref=f16e447] [cursor=pointer]: 绯荤粺绠$悊
-      - generic [ref=f16e453] [cursor=pointer]
-  - generic [ref=f16e458]:
-    - generic [ref=f16e459]:
-      - banner [ref=f16e460]:
-        - button [ref=f16e461] [cursor=pointer]
-        - button [ref=f16e463] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f16e468]:
-          - list [ref=f16e469]:
-            - listitem [ref=f16e788]:
-              - link "鍩虹鏁版嵁" [ref=f16e789] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=f16e795]
-            - listitem [ref=f16e798]:
-              - link "鍝佺绠$悊" [disabled] [ref=f16e799]
-        - generic [ref=f16e475]:
-          - generic [ref=f16e477] [cursor=pointer]:
-            - generic [ref=f16e481]: 鎼滅储
-            - generic [ref=f16e482]: Ctrl K
-          - button [ref=f16e484] [cursor=pointer]
-          - button "dark" [ref=f16e489] [cursor=pointer]
-          - button [ref=f16e498] [cursor=pointer]
-          - button [ref=f16e504] [cursor=pointer]
-          - button [ref=f16e507] [cursor=pointer]
-          - button [ref=f16e513] [cursor=pointer]:
-            - button [ref=f16e515]
-          - button "宸ヤ綔鍙�" [ref=f16e519] [cursor=pointer]
-          - button [ref=f16e522] [cursor=pointer]:
-            - img "瓒呯骇绠$悊鍛�" [ref=f16e527]
-      - generic [ref=f16e529]:
-        - generic [ref=f16e534]:
-          - generic [ref=f16e535] [cursor=pointer]: 鍩虹鏁版嵁涓庝竴琚嬩竴鐮�
-          - generic [ref=f16e808] [cursor=pointer]: 鍝佺绠$悊
-        - generic [ref=f16e548]:
-          - button [ref=f16e549] [cursor=pointer]
-          - generic [ref=f16e556] [cursor=pointer]
-          - generic [ref=f16e560] [cursor=pointer]
-    - main [ref=f16e567]:
-      - generic [ref=f16e570]:
-        - generic [ref=f16e571]:
-          - generic [ref=f16e578] [cursor=pointer]:
-            - generic [ref=f16e579]: 鍝佺鎬绘暟
-            - generic [ref=f16e580]: "0"
-          - generic [ref=f16e588] [cursor=pointer]:
-            - generic [ref=f16e589]: MES 鍝佺
-            - generic [ref=f16e590]: "0"
-          - generic [ref=f16e598] [cursor=pointer]:
-            - generic [ref=f16e599]: 鍝佺鍒嗙被
-            - generic [ref=f16e600]: "1"
-          - generic [ref=f16e608] [cursor=pointer]:
-            - generic [ref=f16e609]: 璁¢噺鍗曚綅
-            - generic [ref=f16e610]: "0"
-        - generic [ref=f16e612]:
-          - generic [ref=f16e619] [cursor=pointer]:
-            - generic [ref=f16e620]: 浜х嚎
-            - generic [ref=f16e621]: "0"
-          - generic [ref=f16e629] [cursor=pointer]:
-            - generic [ref=f16e630]: 鐢熶骇鎵规
-            - generic [ref=f16e631]: "0"
-          - generic [ref=f16e639] [cursor=pointer]:
-            - generic [ref=f16e640]: 琚嬬爜
-            - generic [ref=f16e641]: "0"
-          - generic [ref=f16e649] [cursor=pointer]:
-            - generic [ref=f16e650]: 鎵樼洏鐮�
-            - generic [ref=f16e651]: "0"
-        - generic [ref=f16e653]:
-          - generic [ref=f16e657]:
-            - generic [ref=f16e658]: 琚嬬爜鐢熸垚瓒嬪娍
-            - generic [ref=f16e660]:
-              - generic [ref=f16e661] [cursor=pointer]:
-                - generic [ref=f16e662]:
-                  - radio "杩� 7 澶�" [checked]
-                - generic [ref=f16e663]: 杩� 7 澶�
-              - generic [ref=f16e664] [cursor=pointer]:
-                - generic [ref=f16e665]:
-                  - radio "杩� 30 澶�"
-                - generic [ref=f16e666]: 杩� 30 澶�
-          - generic [ref=f16e671]: 鎵规鐘舵�佸垎甯�
-          - generic [ref=f16e680]: 琚嬬爜鐘舵�佸垎甯�
-        - generic [ref=f16e689]:
-          - generic [ref=f16e690]: 蹇嵎鍏ュ彛
-          - generic [ref=f16e694]:
-            - generic [ref=f16e695]: 鍝佺绠$悊
-            - generic [ref=f16e700]: 鍝佺鍒嗙被
-            - generic [ref=f16e705]: 鎵规鐢熶骇
-            - generic [ref=f16e710]: 璧嬬爜绠$悊
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-21T03-59-08-154Z.yml b/.playwright-mcp/page-2026-08-21T03-59-08-154Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-21T03-59-08-154Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-21T03-59-21-224Z.yml b/.playwright-mcp/page-2026-08-21T03-59-21-224Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-21T03-59-21-224Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-21T04-00-18-943Z.yml b/.playwright-mcp/page-2026-08-21T04-00-18-943Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-21T04-00-18-943Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-21T04-00-37-255Z.yml b/.playwright-mcp/page-2026-08-21T04-00-37-255Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-21T04-00-37-255Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-21T04-00-59-933Z.yml b/.playwright-mcp/page-2026-08-21T04-00-59-933Z.yml
deleted file mode 100644
index a93d8dc..0000000
--- a/.playwright-mcp/page-2026-08-21T04-00-59-933Z.yml
+++ /dev/null
@@ -1,100 +0,0 @@
-- generic [ref=f3e7]:
-  - complementary [ref=f3e9]:
-    - generic [ref=f3e10]:
-      - generic [ref=f3e11] [cursor=pointer]
-      - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f3e16] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f3e19]
-        - generic [ref=f3e20]: 宸ヤ笟AI鏅洪�犲钩鍙�
-      - menu [ref=f3e23]:
-        - menuitem "棣栭〉" [ref=f3e24] [cursor=pointer]
-        - listitem [ref=f3e29]:
-          - generic [ref=f3e30] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=f3e38]:
-          - generic [ref=f3e39] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-          - list [ref=f3e349]:
-            - menuitem "鎵规鐢熶骇绠$悊" [ref=f3e350] [cursor=pointer]
-            - menuitem "璧嬬爜绠$悊" [ref=f3e355] [cursor=pointer]
-            - menuitem "鎵樼洏鐮佺鐞�" [ref=f3e361] [cursor=pointer]
-            - menuitem "浜х嚎缁存姢" [ref=f3e368] [cursor=pointer]
-        - listitem [ref=f3e45]:
-          - generic [ref=f3e46] [cursor=pointer]: 绯荤粺绠$悊
-      - generic [ref=f3e53] [cursor=pointer]
-  - generic [ref=f3e58]:
-    - generic [ref=f3e59]:
-      - banner [ref=f3e60]:
-        - button [ref=f3e61] [cursor=pointer]
-        - button [ref=f3e64] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f3e69]:
-          - list [ref=f3e70]:
-            - listitem [ref=f3e71]:
-              - link "棣栭〉" [disabled] [ref=f3e72]
-        - generic [ref=f3e77]:
-          - generic [ref=f3e79] [cursor=pointer]:
-            - generic [ref=f3e83]: 鎼滅储
-            - generic [ref=f3e84]: Ctrl K
-          - button [ref=f3e86] [cursor=pointer]
-          - button "dark" [ref=f3e91] [cursor=pointer]
-          - button [ref=f3e100] [cursor=pointer]
-          - button [ref=f3e106] [cursor=pointer]
-          - button [ref=f3e109] [cursor=pointer]
-          - button [ref=f3e115] [cursor=pointer]:
-            - button [ref=f3e117]
-          - button "宸ヤ綔鍙�" [ref=f3e121] [cursor=pointer]
-          - button [ref=f3e125] [cursor=pointer]:
-            - img "瓒呯骇绠$悊鍛�" [ref=f3e130]
-      - generic [ref=f3e132]:
-        - generic [ref=f3e133]: 棣栭〉
-        - generic [ref=f3e152]:
-          - button [ref=f3e153] [cursor=pointer]
-          - generic [ref=f3e160] [cursor=pointer]
-          - generic [ref=f3e164] [cursor=pointer]
-    - main [ref=f3e171]:
-      - generic [ref=f3e174]:
-        - generic [ref=f3e175]:
-          - generic [ref=f3e185] [cursor=pointer]:
-            - generic [ref=f3e186]: 鍝佺鎬绘暟
-            - generic [ref=f3e187]: "1"
-          - generic [ref=f3e198] [cursor=pointer]:
-            - generic [ref=f3e199]: MES 鍝佺
-            - generic [ref=f3e200]: "0"
-          - generic [ref=f3e211] [cursor=pointer]:
-            - generic [ref=f3e212]: 鍝佺鍒嗙被
-            - generic [ref=f3e213]: "1"
-          - generic [ref=f3e222] [cursor=pointer]:
-            - generic [ref=f3e223]: 璁¢噺鍗曚綅
-            - generic [ref=f3e224]: "1"
-        - generic [ref=f3e226]:
-          - generic [ref=f3e234] [cursor=pointer]:
-            - generic [ref=f3e235]: 浜х嚎
-            - generic [ref=f3e236]: "1"
-          - generic [ref=f3e248] [cursor=pointer]:
-            - generic [ref=f3e249]: 鐢熶骇鎵规
-            - generic [ref=f3e250]: "1"
-          - generic [ref=f3e259] [cursor=pointer]:
-            - generic [ref=f3e260]: 琚嬬爜
-            - generic [ref=f3e261]: "100"
-          - generic [ref=f3e272] [cursor=pointer]:
-            - generic [ref=f3e273]: 鎵樼洏鐮�
-            - generic [ref=f3e274]: "10"
-        - generic [ref=f3e276]:
-          - generic [ref=f3e280]:
-            - generic [ref=f3e281]: 琚嬬爜鐢熸垚瓒嬪娍
-            - generic [ref=f3e283]:
-              - generic [ref=f3e284] [cursor=pointer]:
-                - generic [ref=f3e285]:
-                  - radio "杩� 7 澶�" [checked]
-                - generic [ref=f3e286]: 杩� 7 澶�
-              - generic [ref=f3e287] [cursor=pointer]:
-                - generic [ref=f3e288]:
-                  - radio "杩� 30 澶�"
-                - generic [ref=f3e289]: 杩� 30 澶�
-          - generic [ref=f3e294]: 鎵规鐘舵�佸垎甯�
-          - generic [ref=f3e303]: 琚嬬爜鐘舵�佸垎甯�
-        - generic [ref=f3e312]:
-          - generic [ref=f3e313]: 蹇嵎鍏ュ彛
-          - generic [ref=f3e317]:
-            - generic [ref=f3e318]: 鍝佺绠$悊
-            - generic [ref=f3e326]: 鍝佺鍒嗙被
-            - generic [ref=f3e334]: 鎵规鐢熶骇
-            - generic [ref=f3e343]: 璧嬬爜绠$悊
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-21T04-01-18-956Z.yml b/.playwright-mcp/page-2026-08-21T04-01-18-956Z.yml
deleted file mode 100644
index c98ec4f..0000000
--- a/.playwright-mcp/page-2026-08-21T04-01-18-956Z.yml
+++ /dev/null
@@ -1,106 +0,0 @@
-- generic [ref=f3e7]:
-  - complementary [ref=f3e9]:
-    - generic [ref=f3e10]:
-      - generic [ref=f3e11] [cursor=pointer]
-      - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f3e16] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f3e19]
-        - generic [ref=f3e20]: 宸ヤ笟AI鏅洪�犲钩鍙�
-      - menu [ref=f3e23]:
-        - menuitem "棣栭〉" [ref=f3e24] [cursor=pointer]
-        - listitem [ref=f3e29]:
-          - generic [ref=f3e30] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=f3e38]:
-          - generic [ref=f3e39] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-          - list [ref=f3e349]:
-            - menuitem "鎵规鐢熶骇绠$悊" [ref=f3e350] [cursor=pointer]
-            - menuitem "璧嬬爜绠$悊" [active] [ref=f3e355] [cursor=pointer]
-            - menuitem "鎵樼洏鐮佺鐞�" [ref=f3e361] [cursor=pointer]
-            - menuitem "浜х嚎缁存姢" [ref=f3e368] [cursor=pointer]
-        - listitem [ref=f3e45]:
-          - generic [ref=f3e46] [cursor=pointer]: 绯荤粺绠$悊
-      - generic [ref=f3e53] [cursor=pointer]
-  - generic [ref=f3e58]:
-    - generic [ref=f3e59]:
-      - banner [ref=f3e60]:
-        - button [ref=f3e61] [cursor=pointer]
-        - button [ref=f3e64] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f3e69]:
-          - list [ref=f3e70]:
-            - listitem [ref=f3e375]:
-              - link "涓�琚嬩竴鐮佺鐞�" [ref=f3e376] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=f3e380]
-            - listitem [ref=f3e383]:
-              - link "璧嬬爜绠$悊" [disabled] [ref=f3e384]
-        - generic [ref=f3e77]:
-          - generic [ref=f3e79] [cursor=pointer]:
-            - generic [ref=f3e83]: 鎼滅储
-            - generic [ref=f3e84]: Ctrl K
-          - button [ref=f3e86] [cursor=pointer]
-          - button "dark" [ref=f3e91] [cursor=pointer]
-          - button [ref=f3e100] [cursor=pointer]
-          - button [ref=f3e106] [cursor=pointer]
-          - button [ref=f3e109] [cursor=pointer]
-          - button [ref=f3e115] [cursor=pointer]:
-            - button [ref=f3e117]
-          - button "宸ヤ綔鍙�" [ref=f3e121] [cursor=pointer]
-          - button [ref=f3e125] [cursor=pointer]:
-            - img "瓒呯骇绠$悊鍛�" [ref=f3e130]
-      - generic [ref=f3e132]:
-        - generic [ref=f3e137]:
-          - generic [ref=f3e138] [cursor=pointer]: 棣栭〉
-          - generic [ref=f3e392] [cursor=pointer]: 璧嬬爜绠$悊
-        - generic [ref=f3e152]:
-          - button [ref=f3e153] [cursor=pointer]
-          - generic [ref=f3e160] [cursor=pointer]
-          - generic [ref=f3e164] [cursor=pointer]
-    - main [ref=f3e171]:
-      - generic [ref=f3e174]:
-        - generic [ref=f3e175]:
-          - generic [ref=f3e185] [cursor=pointer]:
-            - generic [ref=f3e186]: 鍝佺鎬绘暟
-            - generic [ref=f3e187]: "1"
-          - generic [ref=f3e198] [cursor=pointer]:
-            - generic [ref=f3e199]: MES 鍝佺
-            - generic [ref=f3e200]: "0"
-          - generic [ref=f3e211] [cursor=pointer]:
-            - generic [ref=f3e212]: 鍝佺鍒嗙被
-            - generic [ref=f3e213]: "1"
-          - generic [ref=f3e222] [cursor=pointer]:
-            - generic [ref=f3e223]: 璁¢噺鍗曚綅
-            - generic [ref=f3e224]: "1"
-        - generic [ref=f3e226]:
-          - generic [ref=f3e234] [cursor=pointer]:
-            - generic [ref=f3e235]: 浜х嚎
-            - generic [ref=f3e236]: "1"
-          - generic [ref=f3e248] [cursor=pointer]:
-            - generic [ref=f3e249]: 鐢熶骇鎵规
-            - generic [ref=f3e250]: "1"
-          - generic [ref=f3e259] [cursor=pointer]:
-            - generic [ref=f3e260]: 琚嬬爜
-            - generic [ref=f3e261]: "100"
-          - generic [ref=f3e272] [cursor=pointer]:
-            - generic [ref=f3e273]: 鎵樼洏鐮�
-            - generic [ref=f3e274]: "10"
-        - generic [ref=f3e276]:
-          - generic [ref=f3e280]:
-            - generic [ref=f3e281]: 琚嬬爜鐢熸垚瓒嬪娍
-            - generic [ref=f3e283]:
-              - generic [ref=f3e284] [cursor=pointer]:
-                - generic [ref=f3e285]:
-                  - radio "杩� 7 澶�" [checked]
-                - generic [ref=f3e286]: 杩� 7 澶�
-              - generic [ref=f3e287] [cursor=pointer]:
-                - generic [ref=f3e288]:
-                  - radio "杩� 30 澶�"
-                - generic [ref=f3e289]: 杩� 30 澶�
-          - generic [ref=f3e294]: 鎵规鐘舵�佸垎甯�
-          - generic [ref=f3e303]: 琚嬬爜鐘舵�佸垎甯�
-        - generic [ref=f3e312]:
-          - generic [ref=f3e313]: 蹇嵎鍏ュ彛
-          - generic [ref=f3e317]:
-            - generic [ref=f3e318]: 鍝佺绠$悊
-            - generic [ref=f3e326]: 鍝佺鍒嗙被
-            - generic [ref=f3e334]: 鎵规鐢熶骇
-            - generic [ref=f3e343]: 璧嬬爜绠$悊
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-25T06-48-56-741Z.yml b/.playwright-mcp/page-2026-08-25T06-48-56-741Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-25T06-48-56-741Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-25T07-07-54-966Z.yml b/.playwright-mcp/page-2026-08-25T07-07-54-966Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-25T07-07-54-966Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-25T07-11-38-160Z.yml b/.playwright-mcp/page-2026-08-25T07-11-38-160Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-25T07-11-38-160Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-25T07-31-24-236Z.yml b/.playwright-mcp/page-2026-08-25T07-31-24-236Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-25T07-31-24-236Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-25T08-09-30-148Z.yml b/.playwright-mcp/page-2026-08-25T08-09-30-148Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-25T08-09-30-148Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-25T08-47-21-216Z.yml b/.playwright-mcp/page-2026-08-25T08-47-21-216Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-25T08-47-21-216Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-25T09-06-04-966Z.yml b/.playwright-mcp/page-2026-08-25T09-06-04-966Z.yml
deleted file mode 100644
index ef6adbc..0000000
--- a/.playwright-mcp/page-2026-08-25T09-06-04-966Z.yml
+++ /dev/null
@@ -1,94 +0,0 @@
-- generic [ref=f1e4]:
-  - generic [ref=f1e5]:
-    - generic [ref=f1e6]:
-      - generic [ref=f1e7]:
-        - generic:
-          - button [ref=f1e8] [cursor=pointer]
-          - button [ref=f1e10] [cursor=pointer]
-          - button [ref=f1e12] [cursor=pointer]
-          - button [ref=f1e14] [cursor=pointer]
-          - button [ref=f1e16] [cursor=pointer]
-          - button [ref=f1e18] [cursor=pointer]
-          - button [ref=f1e22] [cursor=pointer]
-        - button [ref=f1e24] [cursor=pointer]
-      - button [ref=f1e31] [cursor=pointer]
-    - button [ref=f1e35] [cursor=pointer]
-    - button "light" [active] [ref=f1e236] [cursor=pointer]
-  - generic [ref=f1e50]:
-    - generic [ref=f1e79]:
-      - generic [ref=f1e88]:
-        - generic [ref=f1e89]: 鏅�
-        - strong [ref=f1e90]: 26.8掳C
-      - generic [ref=f1e94]:
-        - generic [ref=f1e95]: 婀垮害
-        - strong [ref=f1e96]: 68%
-      - generic [ref=f1e104]:
-        - generic [ref=f1e105]: 闄嶉洦姒傜巼
-        - strong [ref=f1e106]: 20%
-      - generic [ref=f1e111]:
-        - generic [ref=f1e112]: 灞变笢鐪�
-        - strong [ref=f1e113]: 娴庡崡甯�
-    - generic [ref=f1e114]:
-      - generic [ref=f1e115]:
-        - generic [ref=f1e125]:
-          - generic [ref=f1e126]: 绉嶆涓氭暟瀛楀寲骞冲彴
-          - generic [ref=f1e127]: AGRICULTURE DIGITAL PLATFORM
-        - generic [ref=f1e128]: 鏁板瓧璧嬭兘鍐滀笟 路 绉戞妧寮曢鏈潵
-      - generic [ref=f1e132]:
-        - generic "骞冲彴杩愯姒傝" [ref=f1e133]:
-          - generic [ref=f1e139]:
-            - text: 绉嶆闈㈢Н
-            - generic [ref=f1e140]: 12,580浜�
-            - generic [ref=f1e141]: 杈冩槰鏃� 鈫� 2.35%
-          - generic [ref=f1e148]:
-            - text: 鍦ㄧ嚎璁惧
-            - generic [ref=f1e149]: 1,286鍙�
-            - generic [ref=f1e150]: 杈冩槰鏃� 鈫� 5.21%
-          - generic [ref=f1e156]:
-            - text: 浠婃棩鐏屾簤
-            - generic [ref=f1e157]: 328浜�
-            - generic [ref=f1e158]: 杈冩槰鏃� 鈫� 1.15%
-          - generic [ref=f1e164]:
-            - text: AI 棰勮
-            - generic [ref=f1e165]: 6鏉�
-            - generic [ref=f1e166]: 杈冩槰鏃� 鈫� 12.50%
-        - generic [ref=f1e167]:
-          - generic [ref=f1e168]:
-            - generic [ref=f1e169]: 鍦熷¥澧掓儏鐩戞祴
-            - generic [ref=f1e170]:
-              - strong [ref=f1e173]: 68.5%
-              - generic [ref=f1e174]: 鍦熷¥婀垮害
-            - img [ref=f1e175]:
-              - generic [ref=f1e177]:
-                - generic [ref=f1e178]: 100%
-                - generic [ref=f1e179]: 50%
-                - generic [ref=f1e180]: 0%
-            - generic [ref=f1e183]:
-              - generic [ref=f1e184]: 00:00
-              - generic [ref=f1e185]: 06:00
-              - generic [ref=f1e186]: 12:00
-              - generic [ref=f1e187]: 18:00
-              - generic [ref=f1e188]: 24:00
-          - generic [ref=f1e189]:
-            - generic [ref=f1e190]: AI 鏅鸿兘鍒嗘瀽
-            - paragraph [ref=f1e194]: 褰撳墠浣滅墿闀垮娍鑹ソ锛屽湡澹ゅ鎯呴�傚疁锛屾湭鏉�3澶╂棤鏄庢樉闄嶉洦锛屽缓璁�傛椂鐏屾簤锛屼繚璇佷綔鐗╃ǔ浜ч珮浜с��
-    - generic [ref=f1e195]:
-      - generic [ref=f1e196]: 漏 2026 绉嶆涓氭暟瀛楀寲骞冲彴 鐗堟潈鎵�鏈�
-      - generic [ref=f1e197]: 椴両CP澶�2026001234鍙�-1
-      - generic [ref=f1e198] [cursor=pointer]: 闅愮鏀跨瓥
-      - generic [ref=f1e199]: "|"
-      - generic [ref=f1e200] [cursor=pointer]: 鐢ㄦ埛鍗忚
-  - generic [ref=f1e204]:
-    - generic [ref=f1e205]:
-      - heading "娆㈣繋鍥炴潵" [level=2] [ref=f1e206]
-      - paragraph [ref=f1e207]:
-        - generic [ref=f1e208]: 鐧诲綍绉嶆涓氭暟瀛楀寲骞冲彴锛屽紑鍚櫤鎱х妞�
-    - generic [ref=f1e210]:
-      - textbox "璇疯緭鍏ョ敤鎴峰悕" [ref=f1e216]: admin
-      - generic [ref=f1e222]:
-        - textbox "璇疯緭鍏ュ瘑鐮�" [ref=f1e223]: admin123
-        - generic [ref=f1e224] [cursor=pointer]
-    - generic [ref=f1e232]:
-      - checkbox "璁颁綇璐﹀彿" [ref=f1e233] [cursor=pointer]
-      - generic [ref=f1e234] [cursor=pointer]: 璁颁綇璐﹀彿
-    - button "login" [ref=f1e235] [cursor=pointer]: 鐧诲綍
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-25T09-06-42-806Z.yml b/.playwright-mcp/page-2026-08-25T09-06-42-806Z.yml
deleted file mode 100644
index 14f79d0..0000000
--- a/.playwright-mcp/page-2026-08-25T09-06-42-806Z.yml
+++ /dev/null
@@ -1,94 +0,0 @@
-- generic [ref=f1e4]:
-  - generic [ref=f1e5]:
-    - generic [ref=f1e6]:
-      - generic [ref=f1e7]:
-        - generic:
-          - button [ref=f1e8] [cursor=pointer]
-          - button [ref=f1e10] [cursor=pointer]
-          - button [ref=f1e12] [cursor=pointer]
-          - button [ref=f1e14] [cursor=pointer]
-          - button [ref=f1e16] [cursor=pointer]
-          - button [ref=f1e18] [cursor=pointer]
-          - button [ref=f1e22] [cursor=pointer]
-        - button [ref=f1e24] [cursor=pointer]
-      - button [ref=f1e31] [cursor=pointer]
-    - button [ref=f1e35] [cursor=pointer]
-    - button "light" [ref=f1e236] [cursor=pointer]
-  - generic [ref=f1e50]:
-    - generic [ref=f1e79]:
-      - generic [ref=f1e88]:
-        - generic [ref=f1e89]: 鏅�
-        - strong [ref=f1e90]: 26.8掳C
-      - generic [ref=f1e94]:
-        - generic [ref=f1e95]: 婀垮害
-        - strong [ref=f1e96]: 68%
-      - generic [ref=f1e104]:
-        - generic [ref=f1e105]: 闄嶉洦姒傜巼
-        - strong [ref=f1e106]: 20%
-      - generic [ref=f1e111]:
-        - generic [ref=f1e112]: 灞变笢鐪�
-        - strong [ref=f1e113]: 娴庡崡甯�
-    - generic [ref=f1e114]:
-      - generic [ref=f1e115]:
-        - generic [ref=f1e125]:
-          - generic [ref=f1e126]: 绉嶆涓氭暟瀛楀寲骞冲彴
-          - generic [ref=f1e127]: AGRICULTURE DIGITAL PLATFORM
-        - generic [ref=f1e128]: 鏁板瓧璧嬭兘鍐滀笟 路 绉戞妧寮曢鏈潵
-      - generic [ref=f1e132]:
-        - generic "骞冲彴杩愯姒傝" [ref=f1e133]:
-          - generic [ref=f1e139]:
-            - text: 绉嶆闈㈢Н
-            - generic [ref=f1e140]: 12,580浜�
-            - generic [ref=f1e141]: 杈冩槰鏃� 鈫� 2.35%
-          - generic [ref=f1e148]:
-            - text: 鍦ㄧ嚎璁惧
-            - generic [ref=f1e149]: 1,286鍙�
-            - generic [ref=f1e150]: 杈冩槰鏃� 鈫� 5.21%
-          - generic [ref=f1e156]:
-            - text: 浠婃棩鐏屾簤
-            - generic [ref=f1e157]: 328浜�
-            - generic [ref=f1e158]: 杈冩槰鏃� 鈫� 1.15%
-          - generic [ref=f1e164]:
-            - text: AI 棰勮
-            - generic [ref=f1e165]: 6鏉�
-            - generic [ref=f1e166]: 杈冩槰鏃� 鈫� 12.50%
-        - generic [ref=f1e167]:
-          - generic [ref=f1e168]:
-            - generic [ref=f1e169]: 鍦熷¥澧掓儏鐩戞祴
-            - generic [ref=f1e170]:
-              - strong [ref=f1e173]: 68.5%
-              - generic [ref=f1e174]: 鍦熷¥婀垮害
-            - img [ref=f1e175]:
-              - generic [ref=f1e177]:
-                - generic [ref=f1e178]: 100%
-                - generic [ref=f1e179]: 50%
-                - generic [ref=f1e180]: 0%
-            - generic [ref=f1e183]:
-              - generic [ref=f1e184]: 00:00
-              - generic [ref=f1e185]: 06:00
-              - generic [ref=f1e186]: 12:00
-              - generic [ref=f1e187]: 18:00
-              - generic [ref=f1e188]: 24:00
-          - generic [ref=f1e189]:
-            - generic [ref=f1e190]: AI 鏅鸿兘鍒嗘瀽
-            - paragraph [ref=f1e194]: 褰撳墠浣滅墿闀垮娍鑹ソ锛屽湡澹ゅ鎯呴�傚疁锛屾湭鏉�3澶╂棤鏄庢樉闄嶉洦锛屽缓璁�傛椂鐏屾簤锛屼繚璇佷綔鐗╃ǔ浜ч珮浜с��
-    - generic [ref=f1e195]:
-      - generic [ref=f1e196]: 漏 2026 绉嶆涓氭暟瀛楀寲骞冲彴 鐗堟潈鎵�鏈�
-      - generic [ref=f1e197]: 椴両CP澶�2026001234鍙�-1
-      - generic [ref=f1e198] [cursor=pointer]: 闅愮鏀跨瓥
-      - generic [ref=f1e199]: "|"
-      - generic [ref=f1e200] [cursor=pointer]: 鐢ㄦ埛鍗忚
-  - generic [ref=f1e204]:
-    - generic [ref=f1e205]:
-      - heading "娆㈣繋鍥炴潵" [level=2] [ref=f1e206]
-      - paragraph [ref=f1e207]:
-        - generic [ref=f1e208]: 鐧诲綍绉嶆涓氭暟瀛楀寲骞冲彴锛屽紑鍚櫤鎱х妞�
-    - generic [ref=f1e210]:
-      - textbox "璇疯緭鍏ョ敤鎴峰悕" [ref=f1e216]: admin
-      - generic [ref=f1e222]:
-        - textbox "璇疯緭鍏ュ瘑鐮�" [ref=f1e223]: admin123
-        - generic [ref=f1e224] [cursor=pointer]
-    - generic [ref=f1e232]:
-      - checkbox "璁颁綇璐﹀彿" [ref=f1e233] [cursor=pointer]
-      - generic [ref=f1e234] [cursor=pointer]: 璁颁綇璐﹀彿
-    - button "login" [disabled]: 鐧诲綍
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-25T09-06-50-446Z.yml b/.playwright-mcp/page-2026-08-25T09-06-50-446Z.yml
deleted file mode 100644
index 15a975d..0000000
--- a/.playwright-mcp/page-2026-08-25T09-06-50-446Z.yml
+++ /dev/null
@@ -1,98 +0,0 @@
-- generic [ref=f1e237]:
-  - complementary [ref=f1e239]:
-    - generic [ref=f1e240]:
-      - generic [ref=f1e241] [cursor=pointer]
-      - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e246] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f1e249]
-        - generic [ref=f1e250]: 宸ヤ笟AI鏅洪�犲钩鍙�
-      - menu [ref=f1e253]:
-        - menuitem "棣栭〉" [ref=f1e254] [cursor=pointer]
-        - listitem [ref=f1e259]:
-          - generic [ref=f1e260] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=f1e268]:
-          - generic [ref=f1e269] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=f1e277]:
-          - generic [ref=f1e278] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-        - listitem [ref=f1e284]:
-          - generic [ref=f1e285] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=f1e291]:
-          - generic [ref=f1e292] [cursor=pointer]: 绯荤粺绠$悊
-      - generic [ref=f1e299] [cursor=pointer]
-  - generic [ref=f1e304]:
-    - generic [ref=f1e305]:
-      - banner [ref=f1e306]:
-        - button [ref=f1e307] [cursor=pointer]
-        - button [ref=f1e310] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f1e315]:
-          - list [ref=f1e316]:
-            - listitem [ref=f1e317]:
-              - link "棣栭〉" [disabled] [ref=f1e318]
-        - generic [ref=f1e323]:
-          - generic [ref=f1e325] [cursor=pointer]:
-            - generic [ref=f1e329]: 鎼滅储
-            - generic [ref=f1e330]: Ctrl K
-          - button [ref=f1e332] [cursor=pointer]
-          - button "light" [ref=f1e337] [cursor=pointer]
-          - button [ref=f1e346] [cursor=pointer]
-          - button [ref=f1e352] [cursor=pointer]
-          - button [ref=f1e355] [cursor=pointer]
-          - button [ref=f1e361] [cursor=pointer]:
-            - button [ref=f1e363]
-          - button "宸ヤ綔鍙�" [ref=f1e367] [cursor=pointer]
-          - button "鐞嗗憳" [ref=f1e371] [cursor=pointer]
-      - generic [ref=f1e378]:
-        - generic [ref=f1e379]: 棣栭〉
-        - generic [ref=f1e398]:
-          - button [ref=f1e399] [cursor=pointer]
-          - generic [ref=f1e406] [cursor=pointer]
-          - generic [ref=f1e410] [cursor=pointer]
-    - main [ref=f1e417]:
-      - generic [ref=f1e420]:
-        - generic [ref=f1e421]:
-          - generic [ref=f1e431] [cursor=pointer]:
-            - generic [ref=f1e432]: 鍝佺鎬绘暟
-            - generic [ref=f1e433]: "1"
-          - generic [ref=f1e444] [cursor=pointer]:
-            - generic [ref=f1e445]: MES 鍝佺
-            - generic [ref=f1e446]: "0"
-          - generic [ref=f1e457] [cursor=pointer]:
-            - generic [ref=f1e458]: 鍝佺鍒嗙被
-            - generic [ref=f1e459]: "1"
-          - generic [ref=f1e468] [cursor=pointer]:
-            - generic [ref=f1e469]: 璁¢噺鍗曚綅
-            - generic [ref=f1e470]: "1"
-        - generic [ref=f1e472]:
-          - generic [ref=f1e480] [cursor=pointer]:
-            - generic [ref=f1e481]: 浜х嚎
-            - generic [ref=f1e482]: "1"
-          - generic [ref=f1e494] [cursor=pointer]:
-            - generic [ref=f1e495]: 鐢熶骇鎵规
-            - generic [ref=f1e496]: "2"
-          - generic [ref=f1e505] [cursor=pointer]:
-            - generic [ref=f1e506]: 琚嬬爜
-            - generic [ref=f1e507]: "101"
-          - generic [ref=f1e518] [cursor=pointer]:
-            - generic [ref=f1e519]: 鎵樼洏鐮�
-            - generic [ref=f1e520]: "10"
-        - generic [ref=f1e522]:
-          - generic [ref=f1e526]:
-            - generic [ref=f1e527]: 琚嬬爜鐢熸垚瓒嬪娍
-            - generic [ref=f1e529]:
-              - generic [ref=f1e530] [cursor=pointer]:
-                - generic [ref=f1e531]:
-                  - radio "杩� 7 澶�" [checked]
-                - generic [ref=f1e532]: 杩� 7 澶�
-              - generic [ref=f1e533] [cursor=pointer]:
-                - generic [ref=f1e534]:
-                  - radio "杩� 30 澶�"
-                - generic [ref=f1e535]: 杩� 30 澶�
-          - generic [ref=f1e540]: 鎵规鐘舵�佸垎甯�
-          - generic [ref=f1e549]: 琚嬬爜鐘舵�佸垎甯�
-        - generic [ref=f1e558]:
-          - generic [ref=f1e559]: 蹇嵎鍏ュ彛
-          - generic [ref=f1e563]:
-            - generic [ref=f1e564]: 鍝佺绠$悊
-            - generic [ref=f1e572]: 鍝佺鍒嗙被
-            - generic [ref=f1e580]: 鎵规鐢熶骇
-            - generic [ref=f1e589]: 璧嬬爜绠$悊
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-25T09-07-17-780Z.yml b/.playwright-mcp/page-2026-08-25T09-07-17-780Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-25T09-07-17-780Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-25T09-07-28-054Z.yml b/.playwright-mcp/page-2026-08-25T09-07-28-054Z.yml
deleted file mode 100644
index 0de1c4c..0000000
--- a/.playwright-mcp/page-2026-08-25T09-07-28-054Z.yml
+++ /dev/null
@@ -1,98 +0,0 @@
-- generic [ref=f2e7]:
-  - complementary [ref=f2e9]:
-    - generic [ref=f2e10]:
-      - generic [ref=f2e11] [cursor=pointer]
-      - link "宸ヤ笟AI鏅洪�犲钩鍙� 宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f2e16] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "宸ヤ笟AI鏅洪�犲钩鍙�" [ref=f2e19]
-        - generic [ref=f2e20]: 宸ヤ笟AI鏅洪�犲钩鍙�
-      - menu [ref=f2e23]:
-        - menuitem "棣栭〉" [ref=f2e24] [cursor=pointer]
-        - listitem [ref=f2e29]:
-          - generic [ref=f2e30] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=f2e38]:
-          - generic [ref=f2e39] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=f2e47]:
-          - generic [ref=f2e48] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-        - listitem [ref=f2e54]:
-          - generic [ref=f2e55] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=f2e61]:
-          - generic [ref=f2e62] [cursor=pointer]: 绯荤粺绠$悊
-      - generic [ref=f2e69] [cursor=pointer]
-  - generic [ref=f2e74]:
-    - generic [ref=f2e75]:
-      - banner [ref=f2e76]:
-        - button [ref=f2e77] [cursor=pointer]
-        - button [ref=f2e80] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f2e85]:
-          - list [ref=f2e86]:
-            - listitem [ref=f2e87]:
-              - link "棣栭〉" [disabled] [ref=f2e88]
-        - generic [ref=f2e93]:
-          - generic [ref=f2e95] [cursor=pointer]:
-            - generic [ref=f2e99]: 鎼滅储
-            - generic [ref=f2e100]: Ctrl K
-          - button [ref=f2e102] [cursor=pointer]
-          - button "dark" [active] [ref=f2e107] [cursor=pointer]
-          - button [ref=f2e116] [cursor=pointer]
-          - button [ref=f2e122] [cursor=pointer]
-          - button [ref=f2e125] [cursor=pointer]
-          - button [ref=f2e131] [cursor=pointer]:
-            - button [ref=f2e133]
-          - button "宸ヤ綔鍙�" [ref=f2e137] [cursor=pointer]
-          - button "鐞嗗憳" [ref=f2e141] [cursor=pointer]
-      - generic [ref=f2e148]:
-        - generic [ref=f2e149]: 棣栭〉
-        - generic [ref=f2e168]:
-          - button [ref=f2e169] [cursor=pointer]
-          - generic [ref=f2e176] [cursor=pointer]
-          - generic [ref=f2e180] [cursor=pointer]
-    - main [ref=f2e187]:
-      - generic [ref=f2e190]:
-        - generic [ref=f2e191]:
-          - generic [ref=f2e201] [cursor=pointer]:
-            - generic [ref=f2e202]: 鍝佺鎬绘暟
-            - generic [ref=f2e203]: "1"
-          - generic [ref=f2e214] [cursor=pointer]:
-            - generic [ref=f2e215]: MES 鍝佺
-            - generic [ref=f2e216]: "0"
-          - generic [ref=f2e227] [cursor=pointer]:
-            - generic [ref=f2e228]: 鍝佺鍒嗙被
-            - generic [ref=f2e229]: "1"
-          - generic [ref=f2e238] [cursor=pointer]:
-            - generic [ref=f2e239]: 璁¢噺鍗曚綅
-            - generic [ref=f2e240]: "1"
-        - generic [ref=f2e242]:
-          - generic [ref=f2e250] [cursor=pointer]:
-            - generic [ref=f2e251]: 浜х嚎
-            - generic [ref=f2e252]: "1"
-          - generic [ref=f2e264] [cursor=pointer]:
-            - generic [ref=f2e265]: 鐢熶骇鎵规
-            - generic [ref=f2e266]: "2"
-          - generic [ref=f2e275] [cursor=pointer]:
-            - generic [ref=f2e276]: 琚嬬爜
-            - generic [ref=f2e277]: "101"
-          - generic [ref=f2e288] [cursor=pointer]:
-            - generic [ref=f2e289]: 鎵樼洏鐮�
-            - generic [ref=f2e290]: "10"
-        - generic [ref=f2e292]:
-          - generic [ref=f2e296]:
-            - generic [ref=f2e297]: 琚嬬爜鐢熸垚瓒嬪娍
-            - generic [ref=f2e299]:
-              - generic [ref=f2e300] [cursor=pointer]:
-                - generic [ref=f2e301]:
-                  - radio "杩� 7 澶�" [checked]
-                - generic [ref=f2e302]: 杩� 7 澶�
-              - generic [ref=f2e303] [cursor=pointer]:
-                - generic [ref=f2e304]:
-                  - radio "杩� 30 澶�"
-                - generic [ref=f2e305]: 杩� 30 澶�
-          - generic [ref=f2e310]: 鎵规鐘舵�佸垎甯�
-          - generic [ref=f2e319]: 琚嬬爜鐘舵�佸垎甯�
-        - generic [ref=f2e328]:
-          - generic [ref=f2e329]: 蹇嵎鍏ュ彛
-          - generic [ref=f2e333]:
-            - generic [ref=f2e334]: 鍝佺绠$悊
-            - generic [ref=f2e342]: 鍝佺鍒嗙被
-            - generic [ref=f2e350]: 鎵规鐢熶骇
-            - generic [ref=f2e359]: 璧嬬爜绠$悊
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-25T09-07-53-861Z.yml b/.playwright-mcp/page-2026-08-25T09-07-53-861Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-25T09-07-53-861Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-25T09-08-01-907Z.yml b/.playwright-mcp/page-2026-08-25T09-08-01-907Z.yml
deleted file mode 100644
index 99b9ade..0000000
--- a/.playwright-mcp/page-2026-08-25T09-08-01-907Z.yml
+++ /dev/null
@@ -1,94 +0,0 @@
-- generic [ref=f5e4]:
-  - generic [ref=f5e5]:
-    - generic [ref=f5e6]:
-      - generic [ref=f5e7]:
-        - generic:
-          - button [ref=f5e8] [cursor=pointer]
-          - button [ref=f5e12] [cursor=pointer]
-          - button [ref=f5e14] [cursor=pointer]
-          - button [ref=f5e16] [cursor=pointer]
-          - button [ref=f5e18] [cursor=pointer]
-          - button [ref=f5e20] [cursor=pointer]
-          - button [ref=f5e22] [cursor=pointer]
-        - button [ref=f5e24] [cursor=pointer]
-      - button [ref=f5e31] [cursor=pointer]
-    - button [ref=f5e35] [cursor=pointer]
-    - button "dark" [ref=f5e41] [cursor=pointer]
-  - generic [ref=f5e50]:
-    - generic [ref=f5e79]:
-      - generic [ref=f5e88]:
-        - generic [ref=f5e89]: 鏅�
-        - strong [ref=f5e90]: 26.8掳C
-      - generic [ref=f5e94]:
-        - generic [ref=f5e95]: 婀垮害
-        - strong [ref=f5e96]: 68%
-      - generic [ref=f5e104]:
-        - generic [ref=f5e105]: 闄嶉洦姒傜巼
-        - strong [ref=f5e106]: 20%
-      - generic [ref=f5e111]:
-        - generic [ref=f5e112]: 灞变笢鐪�
-        - strong [ref=f5e113]: 娴庡崡甯�
-    - generic [ref=f5e114]:
-      - generic [ref=f5e115]:
-        - generic [ref=f5e125]:
-          - generic [ref=f5e126]: 绉嶆涓氭暟瀛楀寲骞冲彴
-          - generic [ref=f5e127]: AGRICULTURE DIGITAL PLATFORM
-        - generic [ref=f5e128]: 鏁板瓧璧嬭兘鍐滀笟 路 绉戞妧寮曢鏈潵
-      - generic [ref=f5e132]:
-        - generic "骞冲彴杩愯姒傝" [ref=f5e133]:
-          - generic [ref=f5e139]:
-            - text: 绉嶆闈㈢Н
-            - generic [ref=f5e140]: 12,580浜�
-            - generic [ref=f5e141]: 杈冩槰鏃� 鈫� 2.35%
-          - generic [ref=f5e148]:
-            - text: 鍦ㄧ嚎璁惧
-            - generic [ref=f5e149]: 1,286鍙�
-            - generic [ref=f5e150]: 杈冩槰鏃� 鈫� 5.21%
-          - generic [ref=f5e156]:
-            - text: 浠婃棩鐏屾簤
-            - generic [ref=f5e157]: 328浜�
-            - generic [ref=f5e158]: 杈冩槰鏃� 鈫� 1.15%
-          - generic [ref=f5e164]:
-            - text: AI 棰勮
-            - generic [ref=f5e165]: 6鏉�
-            - generic [ref=f5e166]: 杈冩槰鏃� 鈫� 12.50%
-        - generic [ref=f5e167]:
-          - generic [ref=f5e168]:
-            - generic [ref=f5e169]: 鍦熷¥澧掓儏鐩戞祴
-            - generic [ref=f5e170]:
-              - strong [ref=f5e173]: 68.5%
-              - generic [ref=f5e174]: 鍦熷¥婀垮害
-            - img [ref=f5e175]:
-              - generic [ref=f5e177]:
-                - generic [ref=f5e178]: 100%
-                - generic [ref=f5e179]: 50%
-                - generic [ref=f5e180]: 0%
-            - generic [ref=f5e183]:
-              - generic [ref=f5e184]: 00:00
-              - generic [ref=f5e185]: 06:00
-              - generic [ref=f5e186]: 12:00
-              - generic [ref=f5e187]: 18:00
-              - generic [ref=f5e188]: 24:00
-          - generic [ref=f5e189]:
-            - generic [ref=f5e190]: AI 鏅鸿兘鍒嗘瀽
-            - paragraph [ref=f5e194]: 褰撳墠浣滅墿闀垮娍鑹ソ锛屽湡澹ゅ鎯呴�傚疁锛屾湭鏉�3澶╂棤鏄庢樉闄嶉洦锛屽缓璁�傛椂鐏屾簤锛屼繚璇佷綔鐗╃ǔ浜ч珮浜с��
-    - generic [ref=f5e195]:
-      - generic [ref=f5e196]: 漏 2026 绉嶆涓氭暟瀛楀寲骞冲彴 鐗堟潈鎵�鏈�
-      - generic [ref=f5e197]: 椴両CP澶�2026001234鍙�-1
-      - generic [ref=f5e198] [cursor=pointer]: 闅愮鏀跨瓥
-      - generic [ref=f5e199]: "|"
-      - generic [ref=f5e200] [cursor=pointer]: 鐢ㄦ埛鍗忚
-  - generic [ref=f5e204]:
-    - generic [ref=f5e205]:
-      - heading "娆㈣繋鍥炴潵" [level=2] [ref=f5e206]
-      - paragraph [ref=f5e207]:
-        - generic [ref=f5e208]: 鐧诲綍绉嶆涓氭暟瀛楀寲骞冲彴锛屽紑鍚櫤鎱х妞�
-    - generic [ref=f5e210]:
-      - textbox "璇疯緭鍏ョ敤鎴峰悕" [ref=f5e216]: admin
-      - generic [ref=f5e222]:
-        - textbox "璇疯緭鍏ュ瘑鐮�" [ref=f5e223]: admin123
-        - generic [ref=f5e224] [cursor=pointer]
-    - generic [ref=f5e232]:
-      - checkbox "璁颁綇璐﹀彿" [ref=f5e233] [cursor=pointer]
-      - generic [ref=f5e234] [cursor=pointer]: 璁颁綇璐﹀彿
-    - button "login" [ref=f5e235] [cursor=pointer]: 鐧诲綍
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-25T09-20-39-383Z.yml b/.playwright-mcp/page-2026-08-25T09-20-39-383Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-25T09-20-39-383Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-25T09-44-56-418Z.yml b/.playwright-mcp/page-2026-08-25T09-44-56-418Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-25T09-44-56-418Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-25T09-50-51-027Z.yml b/.playwright-mcp/page-2026-08-25T09-50-51-027Z.yml
deleted file mode 100644
index 0947cbf..0000000
--- a/.playwright-mcp/page-2026-08-25T09-50-51-027Z.yml
+++ /dev/null
@@ -1,78 +0,0 @@
-- generic [ref=f16e4]:
-  - generic [ref=f16e5]:
-    - generic [ref=f16e6]:
-      - generic [ref=f16e7]:
-        - generic:
-          - button [ref=f16e8] [cursor=pointer]
-          - button [ref=f16e12] [cursor=pointer]
-          - button [ref=f16e14] [cursor=pointer]
-          - button [ref=f16e16] [cursor=pointer]
-          - button [ref=f16e18] [cursor=pointer]
-          - button [ref=f16e20] [cursor=pointer]
-          - button [ref=f16e22] [cursor=pointer]
-        - button [ref=f16e24] [cursor=pointer]
-      - button [ref=f16e31] [cursor=pointer]
-    - button [ref=f16e35] [cursor=pointer]
-    - button "dark" [ref=f16e41] [cursor=pointer]
-  - generic [ref=f16e51]:
-    - generic [ref=f16e52]:
-      - generic [ref=f16e62]:
-        - generic [ref=f16e63]: 绉嶆涓氭暟瀛楀寲骞冲彴
-        - generic [ref=f16e64]: AGRICULTURE DIGITAL PLATFORM
-      - generic [ref=f16e65]: 鏁板瓧璧嬭兘鍐滀笟 路 绉戞妧寮曢鏈潵
-    - generic [ref=f16e69]:
-      - generic "骞冲彴杩愯姒傝" [ref=f16e70]:
-        - generic [ref=f16e76]:
-          - text: 绉嶆闈㈢Н
-          - generic [ref=f16e77]: 12,580浜�
-          - generic [ref=f16e78]: 杈冩槰鏃� 鈫� 2.35%
-        - generic [ref=f16e85]:
-          - text: 鍦ㄧ嚎璁惧
-          - generic [ref=f16e86]: 1,286鍙�
-          - generic [ref=f16e87]: 杈冩槰鏃� 鈫� 5.21%
-        - generic [ref=f16e93]:
-          - text: 浠婃棩鐏屾簤
-          - generic [ref=f16e94]: 328浜�
-          - generic [ref=f16e95]: 杈冩槰鏃� 鈫� 1.15%
-        - generic [ref=f16e101]:
-          - text: AI 棰勮
-          - generic [ref=f16e102]: 6鏉�
-          - generic [ref=f16e103]: 杈冩槰鏃� 鈫� 12.50%
-      - generic [ref=f16e104]:
-        - generic [ref=f16e105]:
-          - generic [ref=f16e106]: 鍦熷¥澧掓儏鐩戞祴
-          - generic [ref=f16e107]:
-            - strong [ref=f16e110]: 68.5%
-            - generic [ref=f16e111]: 鍦熷¥婀垮害
-          - img [ref=f16e112]:
-            - generic [ref=f16e114]:
-              - generic [ref=f16e115]: 100%
-              - generic [ref=f16e116]: 50%
-              - generic [ref=f16e117]: 0%
-          - generic [ref=f16e120]:
-            - generic [ref=f16e121]: 00:00
-            - generic [ref=f16e122]: 06:00
-            - generic [ref=f16e123]: 12:00
-            - generic [ref=f16e124]: 18:00
-            - generic [ref=f16e125]: 24:00
-        - generic [ref=f16e126]:
-          - generic [ref=f16e127]: AI 鏅鸿兘鍒嗘瀽
-          - paragraph [ref=f16e131]: 褰撳墠浣滅墿闀垮娍鑹ソ锛屽湡澹ゅ鎯呴�傚疁锛屾湭鏉�3澶╂棤鏄庢樉闄嶉洦锛屽缓璁�傛椂鐏屾簤锛屼繚璇佷綔鐗╃ǔ浜ч珮浜с��
-  - generic [ref=f16e135]:
-    - generic [ref=f16e136]:
-      - heading "娆㈣繋鍥炴潵" [level=2] [ref=f16e137]
-      - paragraph [ref=f16e138]:
-        - generic [ref=f16e139]: 鐧诲綍绉嶆涓氭暟瀛楀寲骞冲彴锛屽紑鍚櫤鎱х妞�
-    - generic [ref=f16e141]:
-      - textbox "璐﹀彿" [ref=f16e147]:
-        - /placeholder: 璇疯緭鍏ョ敤鎴峰悕
-        - text: admin
-      - generic [ref=f16e153]:
-        - textbox "瀵嗙爜" [ref=f16e154]:
-          - /placeholder: 璇疯緭鍏ュ瘑鐮�
-          - text: admin123
-        - button "鍒囨崲瀵嗙爜鍙鎬�" [ref=f16e155] [cursor=pointer]
-    - generic [ref=f16e163]:
-      - checkbox "璁颁綇璐﹀彿" [ref=f16e164] [cursor=pointer]
-      - generic [ref=f16e165] [cursor=pointer]: 璁颁綇璐﹀彿
-    - button "login" [ref=f16e166] [cursor=pointer]: 鐧诲綍
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T07-29-23-803Z.yml b/.playwright-mcp/page-2026-08-28T07-29-23-803Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-28T07-29-23-803Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T07-29-42-173Z.yml b/.playwright-mcp/page-2026-08-28T07-29-42-173Z.yml
deleted file mode 100644
index 954edb3..0000000
--- a/.playwright-mcp/page-2026-08-28T07-29-42-173Z.yml
+++ /dev/null
@@ -1,104 +0,0 @@
-- generic [ref=e7]:
-  - complementary [ref=e9]:
-    - generic [ref=e10]:
-      - generic [ref=e11] [cursor=pointer]
-      - link "娴嬭瘯鍏徃鍝堝搱 娴嬭瘯鍏徃鍝堝搱" [ref=e16] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "娴嬭瘯鍏徃鍝堝搱" [ref=e19]
-        - generic [ref=e20]: 娴嬭瘯鍏徃鍝堝搱
-      - menu [ref=e23]:
-        - menuitem "棣栭〉" [ref=e24] [cursor=pointer]
-        - listitem [ref=e28]:
-          - generic [ref=e29] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=e37]:
-          - generic [ref=e38] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=e46]:
-          - generic [ref=e47] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-          - list [ref=e341]:
-            - menuitem "鎵规鐢熶骇绠$悊" [ref=e342] [cursor=pointer]
-            - menuitem "璧嬬爜绠$悊" [ref=e347] [cursor=pointer]
-            - menuitem "鎵樼洏鐮佺鐞�" [ref=e353] [cursor=pointer]
-            - menuitem "浜х嚎缁存姢" [ref=e360] [cursor=pointer]
-            - menuitem "鐢熶骇绾挎壂鐮佸叆搴�" [ref=e367] [cursor=pointer]
-        - listitem [ref=e53]:
-          - generic [ref=e54] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=e60]:
-          - generic [ref=e61] [cursor=pointer]: 绯荤粺绠$悊
-      - generic [ref=e68] [cursor=pointer]
-  - generic [ref=e73]:
-    - generic [ref=e74]:
-      - banner [ref=e75]:
-        - button [ref=e76] [cursor=pointer]
-        - button [ref=e79] [cursor=pointer]
-        - navigation "breadcrumb" [ref=e84]:
-          - list [ref=e85]:
-            - listitem [ref=e86]:
-              - link "棣栭〉" [disabled] [ref=e87]
-        - generic [ref=e91]:
-          - generic [ref=e93] [cursor=pointer]:
-            - generic [ref=e97]: 鎼滅储
-            - generic [ref=e98]: Ctrl K
-          - button [ref=e100] [cursor=pointer]
-          - button "dark" [ref=e105] [cursor=pointer]
-          - button [ref=e114] [cursor=pointer]
-          - button [ref=e120] [cursor=pointer]
-          - button [ref=e122] [cursor=pointer]
-          - button [ref=e128] [cursor=pointer]:
-            - button [ref=e130]
-          - button "宸ヤ綔鍙�" [ref=e134] [cursor=pointer]
-          - button "鐞嗗憳" [ref=e137] [cursor=pointer]
-      - generic [ref=e144]:
-        - generic [ref=e145]: 棣栭〉
-        - generic [ref=e163]:
-          - button [ref=e164] [cursor=pointer]
-          - generic [ref=e171] [cursor=pointer]
-          - generic [ref=e175] [cursor=pointer]
-    - main [ref=e182]:
-      - generic [ref=e185]:
-        - generic [ref=e186]:
-          - generic [ref=e193] [cursor=pointer]:
-            - generic [ref=e194]: 鍝佺鎬绘暟
-            - generic [ref=e195]: "1"
-          - generic [ref=e203] [cursor=pointer]:
-            - generic [ref=e204]: MES 鍝佺
-            - generic [ref=e205]: "0"
-          - generic [ref=e213] [cursor=pointer]:
-            - generic [ref=e214]: 鍝佺鍒嗙被
-            - generic [ref=e215]: "1"
-          - generic [ref=e223] [cursor=pointer]:
-            - generic [ref=e224]: 璁¢噺鍗曚綅
-            - generic [ref=e225]: "1"
-        - generic [ref=e227]:
-          - generic [ref=e234] [cursor=pointer]:
-            - generic [ref=e235]: 浜х嚎
-            - generic [ref=e236]: "1"
-          - generic [ref=e244] [cursor=pointer]:
-            - generic [ref=e245]: 鐢熶骇鎵规
-            - generic [ref=e246]: "2"
-          - generic [ref=e254] [cursor=pointer]:
-            - generic [ref=e255]: 琚嬬爜
-            - generic [ref=e256]: 1,101
-          - generic [ref=e264] [cursor=pointer]:
-            - generic [ref=e265]: 鎵樼洏鐮�
-            - generic [ref=e266]: "10"
-        - generic [ref=e268]:
-          - generic [ref=e272]:
-            - generic [ref=e273]: 琚嬬爜鐢熸垚瓒嬪娍
-            - generic [ref=e275]:
-              - generic [ref=e276] [cursor=pointer]:
-                - generic [ref=e277]:
-                  - radio "杩� 7 澶�" [checked]
-                - generic [ref=e278]: 杩� 7 澶�
-              - generic [ref=e279] [cursor=pointer]:
-                - generic [ref=e280]:
-                  - radio "杩� 30 澶�"
-                - generic [ref=e281]: 杩� 30 澶�
-          - generic [ref=e284]: 鎵规鐘舵�佸垎甯�
-          - generic [ref=e291]: 琚嬬爜鐘舵�佸垎甯�
-        - generic [ref=e298]:
-          - generic [ref=e299]: 蹇嵎鍏ュ彛
-          - generic [ref=e303]:
-            - generic [ref=e304]: 鍝佺绠$悊
-            - generic [ref=e309]: 鍝佺鍒嗙被
-            - generic [ref=e314]: 鎵规鐢熶骇
-            - generic [ref=e319]: 璧嬬爜绠$悊
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T07-30-00-661Z.yml b/.playwright-mcp/page-2026-08-28T07-30-00-661Z.yml
deleted file mode 100644
index 7e5d7f0..0000000
--- a/.playwright-mcp/page-2026-08-28T07-30-00-661Z.yml
+++ /dev/null
@@ -1,110 +0,0 @@
-- generic [ref=e7]:
-  - complementary [ref=e9]:
-    - generic [ref=e10]:
-      - generic [ref=e11] [cursor=pointer]
-      - link "娴嬭瘯鍏徃鍝堝搱 娴嬭瘯鍏徃鍝堝搱" [ref=e16] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "娴嬭瘯鍏徃鍝堝搱" [ref=e19]
-        - generic [ref=e20]: 娴嬭瘯鍏徃鍝堝搱
-      - menu [ref=e23]:
-        - menuitem "棣栭〉" [ref=e24] [cursor=pointer]
-        - listitem [ref=e28]:
-          - generic [ref=e29] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=e37]:
-          - generic [ref=e38] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=e46]:
-          - generic [ref=e47] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-          - list [ref=e341]:
-            - menuitem "鎵规鐢熶骇绠$悊" [active] [ref=e342] [cursor=pointer]
-            - menuitem "璧嬬爜绠$悊" [ref=e347] [cursor=pointer]
-            - menuitem "鎵樼洏鐮佺鐞�" [ref=e353] [cursor=pointer]
-            - menuitem "浜х嚎缁存姢" [ref=e360] [cursor=pointer]
-            - menuitem "鐢熶骇绾挎壂鐮佸叆搴�" [ref=e367] [cursor=pointer]
-        - listitem [ref=e53]:
-          - generic [ref=e54] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=e60]:
-          - generic [ref=e61] [cursor=pointer]: 绯荤粺绠$悊
-      - generic [ref=e68] [cursor=pointer]
-  - generic [ref=e73]:
-    - generic [ref=e74]:
-      - banner [ref=e75]:
-        - button [ref=e76] [cursor=pointer]
-        - button [ref=e79] [cursor=pointer]
-        - navigation "breadcrumb" [ref=e84]:
-          - list [ref=e85]:
-            - listitem [ref=e412]:
-              - link "涓�琚嬩竴鐮佺鐞�" [ref=e413] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=e417]
-            - listitem [ref=e420]:
-              - link "鎵规鐢熶骇绠$悊" [disabled] [ref=e421]
-        - generic [ref=e91]:
-          - generic [ref=e93] [cursor=pointer]:
-            - generic [ref=e97]: 鎼滅储
-            - generic [ref=e98]: Ctrl K
-          - button [ref=e100] [cursor=pointer]
-          - button "dark" [ref=e105] [cursor=pointer]
-          - button [ref=e114] [cursor=pointer]
-          - button [ref=e120] [cursor=pointer]
-          - button [ref=e122] [cursor=pointer]
-          - button [ref=e128] [cursor=pointer]:
-            - button [ref=e130]
-          - button "宸ヤ綔鍙�" [ref=e134] [cursor=pointer]
-          - button "鐞嗗憳" [ref=e137] [cursor=pointer]
-      - generic [ref=e144]:
-        - generic [ref=e149]:
-          - generic [ref=e150] [cursor=pointer]: 棣栭〉
-          - generic [ref=e428] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-        - generic [ref=e163]:
-          - button [ref=e164] [cursor=pointer]
-          - generic [ref=e171] [cursor=pointer]
-          - generic [ref=e175] [cursor=pointer]
-    - main [ref=e182]:
-      - generic [ref=e185]:
-        - generic [ref=e186]:
-          - generic [ref=e193] [cursor=pointer]:
-            - generic [ref=e194]: 鍝佺鎬绘暟
-            - generic [ref=e195]: "1"
-          - generic [ref=e203] [cursor=pointer]:
-            - generic [ref=e204]: MES 鍝佺
-            - generic [ref=e205]: "0"
-          - generic [ref=e213] [cursor=pointer]:
-            - generic [ref=e214]: 鍝佺鍒嗙被
-            - generic [ref=e215]: "1"
-          - generic [ref=e223] [cursor=pointer]:
-            - generic [ref=e224]: 璁¢噺鍗曚綅
-            - generic [ref=e225]: "1"
-        - generic [ref=e227]:
-          - generic [ref=e234] [cursor=pointer]:
-            - generic [ref=e235]: 浜х嚎
-            - generic [ref=e236]: "1"
-          - generic [ref=e244] [cursor=pointer]:
-            - generic [ref=e245]: 鐢熶骇鎵规
-            - generic [ref=e246]: "2"
-          - generic [ref=e254] [cursor=pointer]:
-            - generic [ref=e255]: 琚嬬爜
-            - generic [ref=e256]: 1,101
-          - generic [ref=e264] [cursor=pointer]:
-            - generic [ref=e265]: 鎵樼洏鐮�
-            - generic [ref=e266]: "10"
-        - generic [ref=e268]:
-          - generic [ref=e272]:
-            - generic [ref=e273]: 琚嬬爜鐢熸垚瓒嬪娍
-            - generic [ref=e275]:
-              - generic [ref=e276] [cursor=pointer]:
-                - generic [ref=e277]:
-                  - radio "杩� 7 澶�" [checked]
-                - generic [ref=e278]: 杩� 7 澶�
-              - generic [ref=e279] [cursor=pointer]:
-                - generic [ref=e280]:
-                  - radio "杩� 30 澶�"
-                - generic [ref=e281]: 杩� 30 澶�
-          - generic [ref=e284]: 鎵规鐘舵�佸垎甯�
-          - generic [ref=e291]: 琚嬬爜鐘舵�佸垎甯�
-        - generic [ref=e298]:
-          - generic [ref=e299]: 蹇嵎鍏ュ彛
-          - generic [ref=e303]:
-            - generic [ref=e304]: 鍝佺绠$悊
-            - generic [ref=e309]: 鍝佺鍒嗙被
-            - generic [ref=e314]: 鎵规鐢熶骇
-            - generic [ref=e319]: 璧嬬爜绠$悊
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T07-30-23-438Z.yml b/.playwright-mcp/page-2026-08-28T07-30-23-438Z.yml
deleted file mode 100644
index 70132ed..0000000
--- a/.playwright-mcp/page-2026-08-28T07-30-23-438Z.yml
+++ /dev/null
@@ -1,214 +0,0 @@
-- generic [ref=e7]:
-  - complementary [ref=e9]:
-    - generic [ref=e10]:
-      - generic [ref=e11] [cursor=pointer]
-      - link "娴嬭瘯鍏徃鍝堝搱 娴嬭瘯鍏徃鍝堝搱" [ref=e16] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "娴嬭瘯鍏徃鍝堝搱" [ref=e19]
-        - generic [ref=e20]: 娴嬭瘯鍏徃鍝堝搱
-      - menu [ref=e23]:
-        - menuitem "棣栭〉" [ref=e24] [cursor=pointer]
-        - listitem [ref=e28]:
-          - generic [ref=e29] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=e37]:
-          - generic [ref=e38] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=e46]:
-          - generic [ref=e47] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-          - list [ref=e341]:
-            - menuitem "鎵规鐢熶骇绠$悊" [ref=e342] [cursor=pointer]
-            - menuitem "璧嬬爜绠$悊" [ref=e347] [cursor=pointer]
-            - menuitem "鎵樼洏鐮佺鐞�" [ref=e353] [cursor=pointer]
-            - menuitem "浜х嚎缁存姢" [ref=e360] [cursor=pointer]
-            - menuitem "鐢熶骇绾挎壂鐮佸叆搴�" [ref=e367] [cursor=pointer]
-        - listitem [ref=e53]:
-          - generic [ref=e54] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=e60]:
-          - generic [ref=e61] [cursor=pointer]: 绯荤粺绠$悊
-      - generic [ref=e68] [cursor=pointer]
-  - generic [ref=e73]:
-    - generic [ref=e74]:
-      - banner [ref=e75]:
-        - button [ref=e76] [cursor=pointer]
-        - button [ref=e79] [cursor=pointer]
-        - navigation "breadcrumb" [ref=e84]:
-          - list [ref=e85]:
-            - listitem [ref=e412]:
-              - link "涓�琚嬩竴鐮佺鐞�" [ref=e413] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=e417]
-            - listitem [ref=e420]:
-              - link "鎵规鐢熶骇绠$悊" [disabled] [ref=e421]
-        - generic [ref=e91]:
-          - generic [ref=e93] [cursor=pointer]:
-            - generic [ref=e97]: 鎼滅储
-            - generic [ref=e98]: Ctrl K
-          - button [ref=e100] [cursor=pointer]
-          - button "dark" [ref=e105] [cursor=pointer]
-          - button [ref=e114] [cursor=pointer]
-          - button [ref=e120] [cursor=pointer]
-          - button [ref=e122] [cursor=pointer]
-          - button [ref=e128] [cursor=pointer]:
-            - button [ref=e130]
-          - button "宸ヤ綔鍙�" [ref=e134] [cursor=pointer]
-          - button "鐞嗗憳" [ref=e137] [cursor=pointer]
-      - generic [ref=e144]:
-        - generic [ref=e149]:
-          - generic [ref=e150] [cursor=pointer]: 棣栭〉
-          - generic [ref=e428] [cursor=pointer]: 鎵规鐢熶骇绠$悊
-        - generic [ref=e163]:
-          - button [ref=e164] [cursor=pointer]
-          - generic [ref=e171] [cursor=pointer]
-          - generic [ref=e175] [cursor=pointer]
-    - main [ref=e182]:
-      - generic [ref=e448]:
-        - generic [ref=e453]:
-          - generic [ref=e454]:
-            - generic [ref=e455]: 鎵规鍙�
-            - textbox "鎵规鍙�" [ref=e461]:
-              - /placeholder: 璇疯緭鍏ユ壒娆″彿
-          - generic [ref=e463]:
-            - generic [ref=e464]: 鍝佺
-            - textbox "璇烽�夋嫨鍝佺" [ref=e471]
-          - generic [ref=e477]:
-            - generic [ref=e478]: 浜х嚎缂栫爜
-            - textbox "浜х嚎缂栫爜" [ref=e484]:
-              - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-          - generic [ref=e486]:
-            - generic [ref=e487]: 浜х嚎鍚嶇О
-            - textbox "浜х嚎鍚嶇О" [ref=e493]:
-              - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-          - generic [ref=e495]:
-            - generic [ref=e496]: 璐d换浜�
-            - textbox "璇烽�夋嫨璐d换浜�" [ref=e503]
-          - generic [ref=e509]:
-            - generic [ref=e510]: 鎵规鐘舵��
-            - generic [ref=e516] [cursor=pointer]:
-              - combobox "鎵规鐘舵��" [ref=e518]
-              - generic: 璇烽�夋嫨鎵规鐘舵��
-          - generic [ref=e519]:
-            - generic [ref=e520]: 鐢熶骇鏃ユ湡
-            - generic [ref=e525]:
-              - textbox "鐢熶骇鏃ユ湡" [ref=e527]:
-                - /placeholder: 寮�濮嬫椂闂�
-              - generic "to" [ref=e529]:
-                - img "swap-right" [ref=e530]
-              - textbox "缁撴潫鏃堕棿" [ref=e534]
-              - generic:
-                - img "calendar"
-          - generic [ref=e535]:
-            - generic [ref=e536]: 鍒涘缓鏃堕棿
-            - generic [ref=e541]:
-              - textbox "鍒涘缓鏃堕棿" [ref=e543]:
-                - /placeholder: 寮�濮嬫椂闂�
-              - generic "to" [ref=e545]:
-                - img "swap-right" [ref=e546]
-              - textbox "缁撴潫鏃堕棿" [ref=e550]
-              - generic:
-                - img "calendar"
-          - generic [ref=e551]:
-            - button "閲� 缃�" [ref=e552] [cursor=pointer]
-            - button "鎼� 绱�" [ref=e554] [cursor=pointer]
-            - generic [ref=e556] [cursor=pointer]: 鏀惰捣
-        - generic [ref=e563]:
-          - generic [ref=e565]:
-            - generic [ref=e566]: 鐢熶骇鎵规鍒楄〃
-            - generic [ref=e570]:
-              - generic [ref=e572]:
-                - button "棰勭敓鎴愪簩缁寸爜" [active] [ref=e574] [cursor=pointer]
-                - button "鏂板鎵规" [ref=e579] [cursor=pointer]
-                - button "鎵爜杩芥函" [ref=e584] [cursor=pointer]
-                - button "瀵煎嚭" [ref=e591] [cursor=pointer]
-              - button "顫�" [ref=e597] [cursor=pointer]
-            - generic [ref=e599]:
-              - button "瞟�" [ref=e600] [cursor=pointer]
-              - button "顪�" [ref=e602] [cursor=pointer]
-              - button "顦�" [ref=e604] [cursor=pointer]
-          - generic [ref=e611]:
-            - generic [ref=e612]:
-              - table [ref=e616]:
-                - rowgroup [ref=e631]:
-                  - row [ref=e632]:
-                    - columnheader "鍝佺缂栫爜" [ref=e633]
-                    - columnheader "鍝佺鍚嶇О" [ref=e638]
-                    - columnheader "浜х嚎缂栫爜" [ref=e643]
-                    - columnheader "浜х嚎鍚嶇О" [ref=e648]
-                    - columnheader "鐢熶骇鏃ユ湡" [ref=e653]
-                    - columnheader "璁″垝鏁伴噺" [ref=e658]
-                    - columnheader "璐d换浜�" [ref=e663]
-                    - columnheader "琚嬬爜鏁伴噺" [ref=e668]
-                    - columnheader "鎵樼洏鐮佹暟閲�" [ref=e673]
-                    - columnheader "鎵规鐘舵��" [ref=e678]
-                    - columnheader "鍒涘缓鏃堕棿" [ref=e683]
-              - table [ref=e691]:
-                - rowgroup [ref=e706]:
-                  - row [ref=e707]:
-                    - cell "ITEM_20260819003" [ref=e708]
-                    - cell "娴嬭瘯" [ref=e712]
-                    - cell "two" [ref=e716]
-                    - cell "浜х嚎浜�" [ref=e720]
-                    - cell "2026-08-21 13:39:56" [ref=e724]
-                    - cell "100" [ref=e728]
-                    - cell "鐙楄泲" [ref=e732]
-                    - cell "0" [ref=e736]
-                    - cell "0" [ref=e740]
-                    - cell "鑽夌" [ref=e744]
-                    - cell "2026-08-21 13:40:10" [ref=e748]
-                  - row [ref=e752]:
-                    - cell "ITEM_20260819003" [ref=e753]
-                    - cell "娴嬭瘯" [ref=e757]
-                    - cell "two" [ref=e761]
-                    - cell "浜х嚎浜�" [ref=e765]
-                    - cell "2026-08-19 10:48:02" [ref=e769]
-                    - cell "10000" [ref=e773]
-                    - cell "瓒呯骇绠$悊鍛�" [ref=e777]
-                    - cell "100" [ref=e781]
-                    - cell "10" [ref=e785]
-                    - cell "宸插畬鎴�" [ref=e789]
-                    - cell "2026-08-19 10:48:22" [ref=e793]
-            - generic:
-              - generic [ref=e797]:
-                - table [ref=e800]:
-                  - rowgroup [ref=e815]:
-                    - row [ref=e816]:
-                      - columnheader "鎵规鍙�" [ref=e817]
-                - table [ref=e824]:
-                  - rowgroup [ref=e827]:
-                    - row [ref=e828]:
-                      - cell [ref=e829]:
-                        - button "PC20260821twoITEM_001" [ref=e832] [cursor=pointer]
-                    - row [ref=e834]:
-                      - cell [ref=e835]:
-                        - button "PC20260819twoITEM_001" [ref=e838] [cursor=pointer]
-              - generic [ref=e840]:
-                - table [ref=e843]:
-                  - rowgroup [ref=e858]:
-                    - row [ref=e859]:
-                      - columnheader "鎿嶄綔" [ref=e860]
-                - table [ref=e867]:
-                  - rowgroup [ref=e870]:
-                    - row [ref=e871]:
-                      - cell [ref=e872]:
-                        - generic [ref=e875]:
-                          - generic [ref=e876]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=e878] [cursor=pointer]
-                            - button "淇敼" [ref=e881] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=e888] [cursor=pointer]
-                          - button "鏇村" [ref=e892] [cursor=pointer]
-                    - row [ref=e898]:
-                      - cell [ref=e899]:
-                        - generic [ref=e902]:
-                          - button "鏌ョ湅浜岀淮鐮�" [ref=e905] [cursor=pointer]
-                          - button "鏇村" [ref=e907] [cursor=pointer]
-          - generic [ref=e919]:
-            - generic [ref=e920]: 鍏� 2 鏉¤褰�
-            - generic [ref=e922] [cursor=pointer]:
-              - generic "20鏉�/椤�" [ref=e923]:
-                - textbox "璇烽�夋嫨" [ref=e924]: 20鏉�/椤�
-              - generic [ref=e925]: 睿�
-            - button "飱�" [ref=e928]
-            - button "顧�" [ref=e930]
-            - button "顫�" [ref=e932]
-            - button "1" [ref=e935] [cursor=pointer]
-            - button "顫�" [ref=e936]
-            - button "顧�" [ref=e938]
-            - button "顦�" [ref=e940]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T07-33-08-854Z.yml b/.playwright-mcp/page-2026-08-28T07-33-08-854Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-28T07-33-08-854Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T07-33-35-681Z.yml b/.playwright-mcp/page-2026-08-28T07-33-35-681Z.yml
deleted file mode 100644
index 9c8c758..0000000
--- a/.playwright-mcp/page-2026-08-28T07-33-35-681Z.yml
+++ /dev/null
@@ -1,212 +0,0 @@
-- generic [ref=f1e7]:
-  - complementary [ref=f1e9]:
-    - generic [ref=f1e10]:
-      - generic [ref=f1e11] [cursor=pointer]
-      - link "娴嬭瘯鍏徃鍝堝搱 娴嬭瘯鍏徃鍝堝搱" [ref=f1e16] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "娴嬭瘯鍏徃鍝堝搱" [ref=f1e19]
-        - generic [ref=f1e20]: 娴嬭瘯鍏徃鍝堝搱
-      - menu [ref=f1e23]:
-        - menuitem "棣栭〉" [ref=f1e24] [cursor=pointer]
-        - listitem [ref=f1e29]:
-          - generic [ref=f1e30] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=f1e38]:
-          - generic [ref=f1e39] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=f1e47]:
-          - generic [ref=f1e48] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-          - list [ref=f1e54]:
-            - menuitem "鎵规鐢熶骇绠$悊" [ref=f1e55] [cursor=pointer]
-            - menuitem "璧嬬爜绠$悊" [ref=f1e60] [cursor=pointer]
-            - menuitem "鎵樼洏鐮佺鐞�" [ref=f1e66] [cursor=pointer]
-            - menuitem "浜х嚎缁存姢" [ref=f1e73] [cursor=pointer]
-            - menuitem "鐢熶骇绾挎壂鐮佸叆搴�" [ref=f1e80] [cursor=pointer]
-        - listitem [ref=f1e85]:
-          - generic [ref=f1e86] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=f1e92]:
-          - generic [ref=f1e93] [cursor=pointer]: 绯荤粺绠$悊
-      - generic [ref=f1e100] [cursor=pointer]
-  - generic [ref=f1e105]:
-    - generic [ref=f1e106]:
-      - banner [ref=f1e107]:
-        - button [ref=f1e108] [cursor=pointer]
-        - button [ref=f1e111] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f1e116]:
-          - list [ref=f1e117]:
-            - listitem [ref=f1e118]:
-              - link "涓�琚嬩竴鐮佺鐞�" [ref=f1e119] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=f1e123]
-            - listitem [ref=f1e126]:
-              - link "鎵规鐢熶骇绠$悊" [disabled] [ref=f1e127]
-        - generic [ref=f1e132]:
-          - generic [ref=f1e134] [cursor=pointer]:
-            - generic [ref=f1e138]: 鎼滅储
-            - generic [ref=f1e139]: Ctrl K
-          - button [ref=f1e141] [cursor=pointer]
-          - button "dark" [ref=f1e146] [cursor=pointer]
-          - button [ref=f1e155] [cursor=pointer]
-          - button [ref=f1e161] [cursor=pointer]
-          - button [ref=f1e164] [cursor=pointer]
-          - button [ref=f1e170] [cursor=pointer]:
-            - button [ref=f1e172]
-          - button "宸ヤ綔鍙�" [ref=f1e176] [cursor=pointer]
-          - button "鐞嗗憳" [ref=f1e180] [cursor=pointer]
-      - generic [ref=f1e187]:
-        - generic [ref=f1e188]: 鎵规鐢熶骇绠$悊
-        - generic [ref=f1e207]:
-          - button [ref=f1e208] [cursor=pointer]
-          - generic [ref=f1e215] [cursor=pointer]
-          - generic [ref=f1e219] [cursor=pointer]
-    - main [ref=f1e226]:
-      - generic [ref=f1e231]:
-        - generic [ref=f1e236]:
-          - generic [ref=f1e237]:
-            - generic [ref=f1e238]: 鎵规鍙�
-            - textbox "鎵规鍙�" [ref=f1e244]:
-              - /placeholder: 璇疯緭鍏ユ壒娆″彿
-          - generic [ref=f1e246]:
-            - generic [ref=f1e247]: 鍝佺
-            - textbox "璇烽�夋嫨鍝佺" [ref=f1e254]
-          - generic [ref=f1e260]:
-            - generic [ref=f1e261]: 浜х嚎缂栫爜
-            - textbox "浜х嚎缂栫爜" [ref=f1e267]:
-              - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-          - generic [ref=f1e269]:
-            - generic [ref=f1e270]: 浜х嚎鍚嶇О
-            - textbox "浜х嚎鍚嶇О" [ref=f1e276]:
-              - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-          - generic [ref=f1e278]:
-            - generic [ref=f1e279]: 璐d换浜�
-            - textbox "璇烽�夋嫨璐d换浜�" [ref=f1e286]
-          - generic [ref=f1e292]:
-            - generic [ref=f1e293]: 鎵规鐘舵��
-            - generic [ref=f1e299] [cursor=pointer]:
-              - combobox "鎵规鐘舵��" [ref=f1e301]
-              - generic: 璇烽�夋嫨鎵规鐘舵��
-          - generic [ref=f1e302]:
-            - generic [ref=f1e303]: 鐢熶骇鏃ユ湡
-            - generic [ref=f1e308]:
-              - textbox "鐢熶骇鏃ユ湡" [ref=f1e310]:
-                - /placeholder: 寮�濮嬫椂闂�
-              - generic "to" [ref=f1e312]:
-                - img "swap-right" [ref=f1e313]
-              - textbox "缁撴潫鏃堕棿" [ref=f1e317]
-              - generic:
-                - img "calendar"
-          - generic [ref=f1e318]:
-            - generic [ref=f1e319]: 鍒涘缓鏃堕棿
-            - generic [ref=f1e324]:
-              - textbox "鍒涘缓鏃堕棿" [ref=f1e326]:
-                - /placeholder: 寮�濮嬫椂闂�
-              - generic "to" [ref=f1e328]:
-                - img "swap-right" [ref=f1e329]
-              - textbox "缁撴潫鏃堕棿" [ref=f1e333]
-              - generic:
-                - img "calendar"
-          - generic [ref=f1e334]:
-            - button "閲� 缃�" [ref=f1e335] [cursor=pointer]
-            - button "鎼� 绱�" [ref=f1e337] [cursor=pointer]
-            - generic [ref=f1e339] [cursor=pointer]: 鏀惰捣
-        - generic [ref=f1e346]:
-          - generic [ref=f1e348]:
-            - generic [ref=f1e349]: 鐢熶骇鎵规鍒楄〃
-            - generic [ref=f1e353]:
-              - generic [ref=f1e355]:
-                - button "棰勭敓鎴愪簩缁寸爜" [active] [ref=f1e357] [cursor=pointer]
-                - button "鏂板鎵规" [ref=f1e362] [cursor=pointer]
-                - button "鎵爜杩芥函" [ref=f1e367] [cursor=pointer]
-                - button "瀵煎嚭" [ref=f1e374] [cursor=pointer]
-              - button "顫�" [ref=f1e380] [cursor=pointer]
-            - generic [ref=f1e382]:
-              - button "瞟�" [ref=f1e383] [cursor=pointer]
-              - button "顪�" [ref=f1e385] [cursor=pointer]
-              - button "顦�" [ref=f1e387] [cursor=pointer]
-          - generic [ref=f1e394]:
-            - generic [ref=f1e395]:
-              - table [ref=f1e399]:
-                - rowgroup [ref=f1e414]:
-                  - row [ref=f1e415]:
-                    - columnheader "鍝佺缂栫爜" [ref=f1e416]
-                    - columnheader "鍝佺鍚嶇О" [ref=f1e421]
-                    - columnheader "浜х嚎缂栫爜" [ref=f1e426]
-                    - columnheader "浜х嚎鍚嶇О" [ref=f1e431]
-                    - columnheader "鐢熶骇鏃ユ湡" [ref=f1e436]
-                    - columnheader "璁″垝鏁伴噺" [ref=f1e441]
-                    - columnheader "璐d换浜�" [ref=f1e446]
-                    - columnheader "琚嬬爜鏁伴噺" [ref=f1e451]
-                    - columnheader "鎵樼洏鐮佹暟閲�" [ref=f1e456]
-                    - columnheader "鎵规鐘舵��" [ref=f1e461]
-                    - columnheader "鍒涘缓鏃堕棿" [ref=f1e466]
-              - table [ref=f1e474]:
-                - rowgroup [ref=f1e489]:
-                  - row [ref=f1e490]:
-                    - cell "ITEM_20260819003" [ref=f1e491]
-                    - cell "娴嬭瘯" [ref=f1e495]
-                    - cell "two" [ref=f1e499]
-                    - cell "浜х嚎浜�" [ref=f1e503]
-                    - cell "2026-08-21 13:39:56" [ref=f1e507]
-                    - cell "100" [ref=f1e511]
-                    - cell "鐙楄泲" [ref=f1e515]
-                    - cell "0" [ref=f1e519]
-                    - cell "0" [ref=f1e523]
-                    - cell "鑽夌" [ref=f1e527]
-                    - cell "2026-08-21 13:40:10" [ref=f1e531]
-                  - row [ref=f1e535]:
-                    - cell "ITEM_20260819003" [ref=f1e536]
-                    - cell "娴嬭瘯" [ref=f1e540]
-                    - cell "two" [ref=f1e544]
-                    - cell "浜х嚎浜�" [ref=f1e548]
-                    - cell "2026-08-19 10:48:02" [ref=f1e552]
-                    - cell "10000" [ref=f1e556]
-                    - cell "瓒呯骇绠$悊鍛�" [ref=f1e560]
-                    - cell "100" [ref=f1e564]
-                    - cell "10" [ref=f1e568]
-                    - cell "宸插畬鎴�" [ref=f1e572]
-                    - cell "2026-08-19 10:48:22" [ref=f1e576]
-            - generic:
-              - generic [ref=f1e580]:
-                - table [ref=f1e583]:
-                  - rowgroup [ref=f1e598]:
-                    - row [ref=f1e599]:
-                      - columnheader "鎵规鍙�" [ref=f1e600]
-                - table [ref=f1e607]:
-                  - rowgroup [ref=f1e610]:
-                    - row [ref=f1e611]:
-                      - cell [ref=f1e612]:
-                        - button "PC20260821twoITEM_001" [ref=f1e615] [cursor=pointer]
-                    - row [ref=f1e617]:
-                      - cell [ref=f1e618]:
-                        - button "PC20260819twoITEM_001" [ref=f1e621] [cursor=pointer]
-              - generic [ref=f1e623]:
-                - table [ref=f1e626]:
-                  - rowgroup [ref=f1e641]:
-                    - row [ref=f1e642]:
-                      - columnheader "鎿嶄綔" [ref=f1e643]
-                - table [ref=f1e650]:
-                  - rowgroup [ref=f1e653]:
-                    - row [ref=f1e654]:
-                      - cell [ref=f1e655]:
-                        - generic [ref=f1e658]:
-                          - generic [ref=f1e659]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f1e661] [cursor=pointer]
-                            - button "淇敼" [ref=f1e664] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f1e671] [cursor=pointer]
-                          - button "鏇村" [ref=f1e675] [cursor=pointer]
-                    - row [ref=f1e681]:
-                      - cell [ref=f1e682]:
-                        - generic [ref=f1e685]:
-                          - button "鏌ョ湅浜岀淮鐮�" [ref=f1e688] [cursor=pointer]
-                          - button "鏇村" [ref=f1e690] [cursor=pointer]
-          - generic [ref=f1e702]:
-            - generic [ref=f1e703]: 鍏� 2 鏉¤褰�
-            - generic [ref=f1e705] [cursor=pointer]:
-              - generic "20鏉�/椤�" [ref=f1e706]:
-                - textbox "璇烽�夋嫨" [ref=f1e707]: 20鏉�/椤�
-              - generic [ref=f1e708]: 睿�
-            - button "飱�" [ref=f1e711]
-            - button "顧�" [ref=f1e713]
-            - button "顫�" [ref=f1e715]
-            - button "1" [ref=f1e718] [cursor=pointer]
-            - button "顫�" [ref=f1e719]
-            - button "顧�" [ref=f1e721]
-            - button "顦�" [ref=f1e723]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T07-41-21-761Z.yml b/.playwright-mcp/page-2026-08-28T07-41-21-761Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-28T07-41-21-761Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T07-41-44-827Z.yml b/.playwright-mcp/page-2026-08-28T07-41-44-827Z.yml
deleted file mode 100644
index 454dbeb..0000000
--- a/.playwright-mcp/page-2026-08-28T07-41-44-827Z.yml
+++ /dev/null
@@ -1,212 +0,0 @@
-- generic [ref=f3e4]:
-  - complementary [ref=f3e6]:
-    - generic [ref=f3e7]:
-      - generic [ref=f3e8] [cursor=pointer]
-      - link "娴嬭瘯鍏徃鍝堝搱 娴嬭瘯鍏徃鍝堝搱" [ref=f3e13] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "娴嬭瘯鍏徃鍝堝搱" [ref=f3e16]
-        - generic [ref=f3e17]: 娴嬭瘯鍏徃鍝堝搱
-      - menu [ref=f3e20]:
-        - menuitem "棣栭〉" [ref=f3e21] [cursor=pointer]
-        - listitem [ref=f3e26]:
-          - generic [ref=f3e27] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=f3e35]:
-          - generic [ref=f3e36] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=f3e44]:
-          - generic [ref=f3e45] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-          - list [ref=f3e51]:
-            - menuitem "鎵规鐢熶骇绠$悊" [ref=f3e52] [cursor=pointer]
-            - menuitem "璧嬬爜绠$悊" [ref=f3e57] [cursor=pointer]
-            - menuitem "鎵樼洏鐮佺鐞�" [ref=f3e63] [cursor=pointer]
-            - menuitem "浜х嚎缁存姢" [ref=f3e70] [cursor=pointer]
-            - menuitem "鐢熶骇绾挎壂鐮佸叆搴�" [ref=f3e77] [cursor=pointer]
-        - listitem [ref=f3e82]:
-          - generic [ref=f3e83] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=f3e89]:
-          - generic [ref=f3e90] [cursor=pointer]: 绯荤粺绠$悊
-      - generic [ref=f3e97] [cursor=pointer]
-  - generic [ref=f3e102]:
-    - generic [ref=f3e103]:
-      - banner [ref=f3e104]:
-        - button [ref=f3e105] [cursor=pointer]
-        - button [ref=f3e108] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f3e113]:
-          - list [ref=f3e114]:
-            - listitem [ref=f3e115]:
-              - link "涓�琚嬩竴鐮佺鐞�" [ref=f3e116] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=f3e120]
-            - listitem [ref=f3e123]:
-              - link "鎵规鐢熶骇绠$悊" [disabled] [ref=f3e124]
-        - generic [ref=f3e129]:
-          - generic [ref=f3e131] [cursor=pointer]:
-            - generic [ref=f3e135]: 鎼滅储
-            - generic [ref=f3e136]: Ctrl K
-          - button [ref=f3e138] [cursor=pointer]
-          - button "dark" [ref=f3e143] [cursor=pointer]
-          - button [ref=f3e152] [cursor=pointer]
-          - button [ref=f3e158] [cursor=pointer]
-          - button [ref=f3e161] [cursor=pointer]
-          - button [ref=f3e167] [cursor=pointer]:
-            - button [ref=f3e169]
-          - button "宸ヤ綔鍙�" [ref=f3e173] [cursor=pointer]
-          - button "鐞嗗憳" [ref=f3e177] [cursor=pointer]
-      - generic [ref=f3e184]:
-        - generic [ref=f3e185]: 鎵规鐢熶骇绠$悊
-        - generic [ref=f3e204]:
-          - button [ref=f3e205] [cursor=pointer]
-          - generic [ref=f3e212] [cursor=pointer]
-          - generic [ref=f3e216] [cursor=pointer]
-    - main [ref=f3e223]:
-      - generic [ref=f3e228]:
-        - generic [ref=f3e233]:
-          - generic [ref=f3e234]:
-            - generic [ref=f3e235]: 鎵规鍙�
-            - textbox "鎵规鍙�" [ref=f3e241]:
-              - /placeholder: 璇疯緭鍏ユ壒娆″彿
-          - generic [ref=f3e243]:
-            - generic [ref=f3e244]: 鍝佺
-            - textbox "璇烽�夋嫨鍝佺" [ref=f3e251]
-          - generic [ref=f3e257]:
-            - generic [ref=f3e258]: 浜х嚎缂栫爜
-            - textbox "浜х嚎缂栫爜" [ref=f3e264]:
-              - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-          - generic [ref=f3e266]:
-            - generic [ref=f3e267]: 浜х嚎鍚嶇О
-            - textbox "浜х嚎鍚嶇О" [ref=f3e273]:
-              - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-          - generic [ref=f3e275]:
-            - generic [ref=f3e276]: 璐d换浜�
-            - textbox "璇烽�夋嫨璐d换浜�" [ref=f3e283]
-          - generic [ref=f3e289]:
-            - generic [ref=f3e290]: 鎵规鐘舵��
-            - generic [ref=f3e296] [cursor=pointer]:
-              - combobox "鎵规鐘舵��" [ref=f3e298]
-              - generic: 璇烽�夋嫨鎵规鐘舵��
-          - generic [ref=f3e299]:
-            - generic [ref=f3e300]: 鐢熶骇鏃ユ湡
-            - generic [ref=f3e305]:
-              - textbox "鐢熶骇鏃ユ湡" [ref=f3e307]:
-                - /placeholder: 寮�濮嬫椂闂�
-              - generic "to" [ref=f3e309]:
-                - img "swap-right" [ref=f3e310]
-              - textbox "缁撴潫鏃堕棿" [ref=f3e314]
-              - generic:
-                - img "calendar"
-          - generic [ref=f3e315]:
-            - generic [ref=f3e316]: 鍒涘缓鏃堕棿
-            - generic [ref=f3e321]:
-              - textbox "鍒涘缓鏃堕棿" [ref=f3e323]:
-                - /placeholder: 寮�濮嬫椂闂�
-              - generic "to" [ref=f3e325]:
-                - img "swap-right" [ref=f3e326]
-              - textbox "缁撴潫鏃堕棿" [ref=f3e330]
-              - generic:
-                - img "calendar"
-          - generic [ref=f3e331]:
-            - button "閲� 缃�" [ref=f3e332] [cursor=pointer]
-            - button "鎼� 绱�" [ref=f3e334] [cursor=pointer]
-            - generic [ref=f3e336] [cursor=pointer]: 鏀惰捣
-        - generic [ref=f3e343]:
-          - generic [ref=f3e345]:
-            - generic [ref=f3e346]: 鐢熶骇鎵规鍒楄〃
-            - generic [ref=f3e350]:
-              - generic [ref=f3e352]:
-                - button "棰勭敓鎴愪簩缁寸爜" [active] [ref=f3e354] [cursor=pointer]
-                - button "鏂板鎵规" [ref=f3e359] [cursor=pointer]
-                - button "鎵爜杩芥函" [ref=f3e364] [cursor=pointer]
-                - button "瀵煎嚭" [ref=f3e371] [cursor=pointer]
-              - button "顫�" [ref=f3e377] [cursor=pointer]
-            - generic [ref=f3e379]:
-              - button "瞟�" [ref=f3e380] [cursor=pointer]
-              - button "顪�" [ref=f3e382] [cursor=pointer]
-              - button "顦�" [ref=f3e384] [cursor=pointer]
-          - generic [ref=f3e391]:
-            - generic [ref=f3e392]:
-              - table [ref=f3e396]:
-                - rowgroup [ref=f3e411]:
-                  - row [ref=f3e412]:
-                    - columnheader "鍝佺缂栫爜" [ref=f3e413]
-                    - columnheader "鍝佺鍚嶇О" [ref=f3e418]
-                    - columnheader "浜х嚎缂栫爜" [ref=f3e423]
-                    - columnheader "浜х嚎鍚嶇О" [ref=f3e428]
-                    - columnheader "鐢熶骇鏃ユ湡" [ref=f3e433]
-                    - columnheader "璁″垝鏁伴噺" [ref=f3e438]
-                    - columnheader "璐d换浜�" [ref=f3e443]
-                    - columnheader "琚嬬爜鏁伴噺" [ref=f3e448]
-                    - columnheader "鎵樼洏鐮佹暟閲�" [ref=f3e453]
-                    - columnheader "鎵规鐘舵��" [ref=f3e458]
-                    - columnheader "鍒涘缓鏃堕棿" [ref=f3e463]
-              - table [ref=f3e471]:
-                - rowgroup [ref=f3e486]:
-                  - row [ref=f3e487]:
-                    - cell "ITEM_20260819003" [ref=f3e488]
-                    - cell "娴嬭瘯" [ref=f3e492]
-                    - cell "two" [ref=f3e496]
-                    - cell "浜х嚎浜�" [ref=f3e500]
-                    - cell "2026-08-21 13:39:56" [ref=f3e504]
-                    - cell "100" [ref=f3e508]
-                    - cell "鐙楄泲" [ref=f3e512]
-                    - cell "0" [ref=f3e516]
-                    - cell "0" [ref=f3e520]
-                    - cell "鑽夌" [ref=f3e524]
-                    - cell "2026-08-21 13:40:10" [ref=f3e528]
-                  - row [ref=f3e532]:
-                    - cell "ITEM_20260819003" [ref=f3e533]
-                    - cell "娴嬭瘯" [ref=f3e537]
-                    - cell "two" [ref=f3e541]
-                    - cell "浜х嚎浜�" [ref=f3e545]
-                    - cell "2026-08-19 10:48:02" [ref=f3e549]
-                    - cell "10000" [ref=f3e553]
-                    - cell "瓒呯骇绠$悊鍛�" [ref=f3e557]
-                    - cell "100" [ref=f3e561]
-                    - cell "10" [ref=f3e565]
-                    - cell "宸插畬鎴�" [ref=f3e569]
-                    - cell "2026-08-19 10:48:22" [ref=f3e573]
-            - generic:
-              - generic [ref=f3e577]:
-                - table [ref=f3e580]:
-                  - rowgroup [ref=f3e595]:
-                    - row [ref=f3e596]:
-                      - columnheader "鎵规鍙�" [ref=f3e597]
-                - table [ref=f3e604]:
-                  - rowgroup [ref=f3e607]:
-                    - row [ref=f3e608]:
-                      - cell [ref=f3e609]:
-                        - button "PC20260821twoITEM_001" [ref=f3e612] [cursor=pointer]
-                    - row [ref=f3e614]:
-                      - cell [ref=f3e615]:
-                        - button "PC20260819twoITEM_001" [ref=f3e618] [cursor=pointer]
-              - generic [ref=f3e620]:
-                - table [ref=f3e623]:
-                  - rowgroup [ref=f3e638]:
-                    - row [ref=f3e639]:
-                      - columnheader "鎿嶄綔" [ref=f3e640]
-                - table [ref=f3e647]:
-                  - rowgroup [ref=f3e650]:
-                    - row [ref=f3e651]:
-                      - cell [ref=f3e652]:
-                        - generic [ref=f3e655]:
-                          - generic [ref=f3e656]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f3e658] [cursor=pointer]
-                            - button "淇敼" [ref=f3e661] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f3e668] [cursor=pointer]
-                          - button "鏇村" [ref=f3e672] [cursor=pointer]
-                    - row [ref=f3e678]:
-                      - cell [ref=f3e679]:
-                        - generic [ref=f3e682]:
-                          - button "鏌ョ湅浜岀淮鐮�" [ref=f3e685] [cursor=pointer]
-                          - button "鏇村" [ref=f3e687] [cursor=pointer]
-          - generic [ref=f3e699]:
-            - generic [ref=f3e700]: 鍏� 2 鏉¤褰�
-            - generic [ref=f3e702] [cursor=pointer]:
-              - generic "20鏉�/椤�" [ref=f3e703]:
-                - textbox "璇烽�夋嫨" [ref=f3e704]: 20鏉�/椤�
-              - generic [ref=f3e705]: 睿�
-            - button "飱�" [ref=f3e708]
-            - button "顧�" [ref=f3e710]
-            - button "顫�" [ref=f3e712]
-            - button "1" [ref=f3e715] [cursor=pointer]
-            - button "顫�" [ref=f3e716]
-            - button "顧�" [ref=f3e718]
-            - button "顦�" [ref=f3e720]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T07-42-08-037Z.yml b/.playwright-mcp/page-2026-08-28T07-42-08-037Z.yml
deleted file mode 100644
index bcb0d80..0000000
--- a/.playwright-mcp/page-2026-08-28T07-42-08-037Z.yml
+++ /dev/null
@@ -1,285 +0,0 @@
-- generic [ref=f3e1]:
-  - generic [ref=f3e4]:
-    - complementary [ref=f3e6]:
-      - generic [ref=f3e7]:
-        - generic [ref=f3e8] [cursor=pointer]
-        - link "娴嬭瘯鍏徃鍝堝搱 娴嬭瘯鍏徃鍝堝搱" [ref=f3e13] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "娴嬭瘯鍏徃鍝堝搱" [ref=f3e16]
-          - generic [ref=f3e17]: 娴嬭瘯鍏徃鍝堝搱
-        - menu [ref=f3e20]:
-          - menuitem "棣栭〉" [ref=f3e21] [cursor=pointer]
-          - listitem [ref=f3e26]:
-            - generic [ref=f3e27] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f3e35]:
-            - generic [ref=f3e36] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f3e44]:
-            - generic [ref=f3e45] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f3e51]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f3e52] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f3e57] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f3e63] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f3e70] [cursor=pointer]
-              - menuitem "鐢熶骇绾挎壂鐮佸叆搴�" [ref=f3e77] [cursor=pointer]
-          - listitem [ref=f3e82]:
-            - generic [ref=f3e83] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f3e89]:
-            - generic [ref=f3e90] [cursor=pointer]: 绯荤粺绠$悊
-        - generic [ref=f3e97] [cursor=pointer]
-    - generic [ref=f3e102]:
-      - generic [ref=f3e103]:
-        - banner [ref=f3e104]:
-          - button [ref=f3e105] [cursor=pointer]
-          - button [ref=f3e108] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f3e113]:
-            - list [ref=f3e114]:
-              - listitem [ref=f3e115]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f3e116] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f3e120]
-              - listitem [ref=f3e123]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=f3e124]
-          - generic [ref=f3e129]:
-            - generic [ref=f3e131] [cursor=pointer]:
-              - generic [ref=f3e135]: 鎼滅储
-              - generic [ref=f3e136]: Ctrl K
-            - button [ref=f3e138] [cursor=pointer]
-            - button "dark" [ref=f3e143] [cursor=pointer]
-            - button [ref=f3e152] [cursor=pointer]
-            - button [ref=f3e158] [cursor=pointer]
-            - button [ref=f3e161] [cursor=pointer]
-            - button [ref=f3e167] [cursor=pointer]:
-              - button [ref=f3e169]
-            - button "宸ヤ綔鍙�" [ref=f3e173] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f3e177] [cursor=pointer]
-        - generic [ref=f3e184]:
-          - generic [ref=f3e185]: 鎵规鐢熶骇绠$悊
-          - generic [ref=f3e204]:
-            - button [ref=f3e205] [cursor=pointer]
-            - generic [ref=f3e212] [cursor=pointer]
-            - generic [ref=f3e216] [cursor=pointer]
-      - main [ref=f3e223]:
-        - generic [ref=f3e228]:
-          - generic [ref=f3e233]:
-            - generic [ref=f3e234]:
-              - generic [ref=f3e235]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f3e241]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f3e243]:
-              - generic [ref=f3e244]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=f3e251]
-            - generic [ref=f3e257]:
-              - generic [ref=f3e258]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=f3e264]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=f3e266]:
-              - generic [ref=f3e267]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=f3e273]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=f3e275]:
-              - generic [ref=f3e276]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=f3e283]
-            - generic [ref=f3e289]:
-              - generic [ref=f3e290]: 鎵规鐘舵��
-              - generic [ref=f3e296] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=f3e298]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=f3e299]:
-              - generic [ref=f3e300]: 鐢熶骇鏃ユ湡
-              - generic [ref=f3e305]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=f3e307]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f3e309]:
-                  - img "swap-right" [ref=f3e310]
-                - textbox "缁撴潫鏃堕棿" [ref=f3e314]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f3e315]:
-              - generic [ref=f3e316]: 鍒涘缓鏃堕棿
-              - generic [ref=f3e321]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f3e323]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f3e325]:
-                  - img "swap-right" [ref=f3e326]
-                - textbox "缁撴潫鏃堕棿" [ref=f3e330]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f3e331]:
-              - button "閲� 缃�" [ref=f3e332] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f3e334] [cursor=pointer]
-              - generic [ref=f3e336] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f3e343]:
-            - generic [ref=f3e345]:
-              - generic [ref=f3e346]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=f3e350]:
-                - generic [ref=f3e352]:
-                  - button "棰勭敓鎴愪簩缁寸爜" [ref=f3e354] [cursor=pointer]
-                  - button "鏂板鎵规" [active] [ref=f3e359] [cursor=pointer]
-                  - button "鎵爜杩芥函" [ref=f3e364] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f3e371] [cursor=pointer]
-                - button "顫�" [ref=f3e377] [cursor=pointer]
-              - generic [ref=f3e379]:
-                - button "瞟�" [ref=f3e380] [cursor=pointer]
-                - button "顪�" [ref=f3e382] [cursor=pointer]
-                - button "顦�" [ref=f3e384] [cursor=pointer]
-            - generic [ref=f3e391]:
-              - generic [ref=f3e392]:
-                - table [ref=f3e396]:
-                  - rowgroup [ref=f3e411]:
-                    - row [ref=f3e412]:
-                      - columnheader "鍝佺缂栫爜" [ref=f3e413]
-                      - columnheader "鍝佺鍚嶇О" [ref=f3e418]
-                      - columnheader "浜х嚎缂栫爜" [ref=f3e423]
-                      - columnheader "浜х嚎鍚嶇О" [ref=f3e428]
-                      - columnheader "鐢熶骇鏃ユ湡" [ref=f3e433]
-                      - columnheader "璁″垝鏁伴噺" [ref=f3e438]
-                      - columnheader "璐d换浜�" [ref=f3e443]
-                      - columnheader "琚嬬爜鏁伴噺" [ref=f3e448]
-                      - columnheader "鎵樼洏鐮佹暟閲�" [ref=f3e453]
-                      - columnheader "鎵规鐘舵��" [ref=f3e458]
-                      - columnheader "鍒涘缓鏃堕棿" [ref=f3e463]
-                - table [ref=f3e471]:
-                  - rowgroup [ref=f3e486]:
-                    - row [ref=f3e487]:
-                      - cell "ITEM_20260819003" [ref=f3e488]
-                      - cell "娴嬭瘯" [ref=f3e492]
-                      - cell "two" [ref=f3e496]
-                      - cell "浜х嚎浜�" [ref=f3e500]
-                      - cell "2026-08-21 13:39:56" [ref=f3e504]
-                      - cell "100" [ref=f3e508]
-                      - cell "鐙楄泲" [ref=f3e512]
-                      - cell "0" [ref=f3e516]
-                      - cell "0" [ref=f3e520]
-                      - cell "鑽夌" [ref=f3e524]
-                      - cell "2026-08-21 13:40:10" [ref=f3e528]
-                    - row [ref=f3e532]:
-                      - cell "ITEM_20260819003" [ref=f3e533]
-                      - cell "娴嬭瘯" [ref=f3e537]
-                      - cell "two" [ref=f3e541]
-                      - cell "浜х嚎浜�" [ref=f3e545]
-                      - cell "2026-08-19 10:48:02" [ref=f3e549]
-                      - cell "10000" [ref=f3e553]
-                      - cell "瓒呯骇绠$悊鍛�" [ref=f3e557]
-                      - cell "100" [ref=f3e561]
-                      - cell "10" [ref=f3e565]
-                      - cell "宸插畬鎴�" [ref=f3e569]
-                      - cell "2026-08-19 10:48:22" [ref=f3e573]
-              - generic:
-                - generic [ref=f3e577]:
-                  - table [ref=f3e580]:
-                    - rowgroup [ref=f3e595]:
-                      - row [ref=f3e596]:
-                        - columnheader "鎵规鍙�" [ref=f3e597]
-                  - table [ref=f3e604]:
-                    - rowgroup [ref=f3e607]:
-                      - row [ref=f3e608]:
-                        - cell [ref=f3e609]:
-                          - button "PC20260821twoITEM_001" [ref=f3e612] [cursor=pointer]
-                      - row [ref=f3e614]:
-                        - cell [ref=f3e615]:
-                          - button "PC20260819twoITEM_001" [ref=f3e618] [cursor=pointer]
-                - generic [ref=f3e620]:
-                  - table [ref=f3e623]:
-                    - rowgroup [ref=f3e638]:
-                      - row [ref=f3e639]:
-                        - columnheader "鎿嶄綔" [ref=f3e640]
-                  - table [ref=f3e647]:
-                    - rowgroup [ref=f3e650]:
-                      - row [ref=f3e651]:
-                        - cell [ref=f3e652]:
-                          - generic [ref=f3e655]:
-                            - generic [ref=f3e656]:
-                              - button "鏌ョ湅浜岀淮鐮�" [ref=f3e658] [cursor=pointer]
-                              - button "淇敼" [ref=f3e661] [cursor=pointer]
-                              - button "鍒犻櫎" [ref=f3e668] [cursor=pointer]
-                            - button "鏇村" [ref=f3e672] [cursor=pointer]
-                      - row [ref=f3e678]:
-                        - cell [ref=f3e679]:
-                          - generic [ref=f3e682]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f3e685] [cursor=pointer]
-                            - button "鏇村" [ref=f3e687] [cursor=pointer]
-            - generic [ref=f3e699]:
-              - generic [ref=f3e700]: 鍏� 2 鏉¤褰�
-              - generic [ref=f3e702] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f3e703]:
-                  - textbox "璇烽�夋嫨" [ref=f3e704]: 20鏉�/椤�
-                - generic [ref=f3e705]: 睿�
-              - button "飱�" [ref=f3e708]
-              - button "顧�" [ref=f3e710]
-              - button "顫�" [ref=f3e712]
-              - button "1" [ref=f3e715] [cursor=pointer]
-              - button "顫�" [ref=f3e716]
-              - button "顧�" [ref=f3e718]
-              - button "顦�" [ref=f3e720]
-  - dialog [ref=f3e723]:
-    - heading "鏂板鐢熶骇鎵规" [level=2] [ref=f3e725]
-    - generic [ref=f3e727]:
-      - generic [ref=f3e729]:
-        - generic [ref=f3e730]:
-          - generic [ref=f3e731]:
-            - generic [ref=f3e732]: "*"
-            - text: 鍖呰琚嬪瀷
-          - generic [ref=f3e738] [cursor=pointer]:
-            - combobox "* 鍖呰琚嬪瀷" [ref=f3e740]
-            - generic: 璇烽�夋嫨鍖呰琚嬪瀷
-        - generic [ref=f3e741]:
-          - generic [ref=f3e742]:
-            - generic [ref=f3e743]: "*"
-            - text: 鍝佺
-          - textbox "璇烽�夋嫨鍝佺锛堜骇鍝佸搧绉嶏級" [ref=f3e750]
-        - generic [ref=f3e756]:
-          - generic [ref=f3e757]:
-            - generic [ref=f3e758]: "*"
-            - text: 浜х嚎
-          - generic [ref=f3e764]:
-            - combobox "* 浜х嚎" [ref=f3e766]
-            - generic: 璇烽�夋嫨浜х嚎
-        - generic [ref=f3e767]:
-          - generic [ref=f3e768]:
-            - generic [ref=f3e769]: "*"
-            - text: 鐢熶骇鏃ユ湡
-          - generic [ref=f3e775]:
-            - textbox "* 鐢熶骇鏃ユ湡" [ref=f3e776]:
-              - /placeholder: 璇烽�夋嫨鐢熶骇鏃ユ湡
-            - generic:
-              - img "calendar"
-        - generic [ref=f3e777]:
-          - generic [ref=f3e778]: 璁″垝鏁伴噺
-          - generic [ref=f3e783]:
-            - generic [ref=f3e784]:
-              - button "Increase Value" [ref=f3e785] [cursor=pointer]:
-                - img "up" [ref=f3e786]
-              - button "Decrease Value" [ref=f3e789] [cursor=pointer]:
-                - img "down" [ref=f3e790]
-            - spinbutton "璁″垝鏁伴噺" [ref=f3e794]
-        - generic [ref=f3e795]:
-          - generic [ref=f3e796]:
-            - generic [ref=f3e797]: "*"
-            - text: 璐d换浜�
-          - textbox "璇烽�夋嫨璐d换浜�" [ref=f3e804]
-        - generic [ref=f3e810]:
-          - generic [ref=f3e811]: 澶囨敞
-          - textbox "澶囨敞" [ref=f3e816]:
-            - /placeholder: 璇疯緭鍏ュ娉�
-      - generic [ref=f3e817]:
-        - generic [ref=f3e818]:
-          - generic [ref=f3e819]: 鐢熶骇浜哄憳閰嶇疆
-          - button "娣诲姞浜哄憳" [ref=f3e820] [cursor=pointer]
-        - generic [ref=f3e828]:
-          - generic [ref=f3e832]:
-            - table [ref=f3e836]:
-              - rowgroup [ref=f3e842]:
-                - row [ref=f3e843]:
-                  - columnheader "鐢熶骇浜哄憳" [ref=f3e844]
-                  - columnheader "宀椾綅绫诲瀷" [ref=f3e849]
-                  - columnheader "澶囨敞" [ref=f3e854]
-                  - columnheader "鎿嶄綔" [ref=f3e859]
-            - generic [ref=f3e865]:
-              - table:
-                - rowgroup
-          - generic: 鏆傛棤鏁版嵁
-    - button [ref=f3e875] [cursor=pointer]
-    - generic [ref=f3e885]:
-      - button "纭� 璁�" [ref=f3e886] [cursor=pointer]
-      - button "鍙� 娑�" [ref=f3e889] [cursor=pointer]
-    - button [ref=f3e891] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T07-48-07-459Z.yml b/.playwright-mcp/page-2026-08-28T07-48-07-459Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-28T07-48-07-459Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T07-48-24-872Z.yml b/.playwright-mcp/page-2026-08-28T07-48-24-872Z.yml
deleted file mode 100644
index 53574c0..0000000
--- a/.playwright-mcp/page-2026-08-28T07-48-24-872Z.yml
+++ /dev/null
@@ -1,236 +0,0 @@
-- generic [ref=f4e4]:
-  - generic [ref=f4e7]:
-    - complementary [ref=f4e9]:
-      - generic [ref=f4e10]:
-        - generic [ref=f4e11] [cursor=pointer]
-        - link "娴嬭瘯鍏徃鍝堝搱 娴嬭瘯鍏徃鍝堝搱" [ref=f4e16] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "娴嬭瘯鍏徃鍝堝搱" [ref=f4e19]
-          - generic [ref=f4e20]: 娴嬭瘯鍏徃鍝堝搱
-        - menu [ref=f4e23]:
-          - menuitem "棣栭〉" [ref=f4e24] [cursor=pointer]
-          - listitem [ref=f4e29]:
-            - generic [ref=f4e30] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f4e38]:
-            - generic [ref=f4e39] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f4e47]:
-            - generic [ref=f4e48] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f4e54]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f4e55] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f4e60] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f4e66] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f4e73] [cursor=pointer]
-              - menuitem "鐢熶骇绾挎壂鐮佸叆搴�" [ref=f4e80] [cursor=pointer]
-          - listitem [ref=f4e85]:
-            - generic [ref=f4e86] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f4e92]:
-            - generic [ref=f4e93] [cursor=pointer]: 绯荤粺绠$悊
-        - generic [ref=f4e100] [cursor=pointer]
-    - generic [ref=f4e105]:
-      - generic [ref=f4e106]:
-        - banner [ref=f4e107]:
-          - button [ref=f4e108] [cursor=pointer]
-          - button [ref=f4e111] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f4e116]:
-            - list [ref=f4e117]:
-              - listitem [ref=f4e118]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f4e119] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f4e123]
-              - listitem [ref=f4e126]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=f4e127]
-          - generic [ref=f4e132]:
-            - generic [ref=f4e134] [cursor=pointer]:
-              - generic [ref=f4e138]: 鎼滅储
-              - generic [ref=f4e139]: Ctrl K
-            - button [ref=f4e141] [cursor=pointer]
-            - button "dark" [ref=f4e146] [cursor=pointer]
-            - button [ref=f4e155] [cursor=pointer]
-            - button [ref=f4e161] [cursor=pointer]
-            - button [ref=f4e164] [cursor=pointer]
-            - button [ref=f4e170] [cursor=pointer]:
-              - button [ref=f4e172]
-            - button "宸ヤ綔鍙�" [ref=f4e176] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f4e180] [cursor=pointer]
-        - generic [ref=f4e187]:
-          - generic [ref=f4e188]: 鎵规鐢熶骇绠$悊
-          - generic [ref=f4e207]:
-            - button [ref=f4e208] [cursor=pointer]
-            - generic [ref=f4e215] [cursor=pointer]
-            - generic [ref=f4e219] [cursor=pointer]
-      - main [ref=f4e226]:
-        - generic [ref=f4e231]:
-          - generic [ref=f4e236]:
-            - generic [ref=f4e237]:
-              - generic [ref=f4e238]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f4e244]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f4e246]:
-              - generic [ref=f4e247]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=f4e254]
-            - generic [ref=f4e260]:
-              - generic [ref=f4e261]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=f4e267]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=f4e269]:
-              - generic [ref=f4e270]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=f4e276]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=f4e278]:
-              - generic [ref=f4e279]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=f4e286]
-            - generic [ref=f4e292]:
-              - generic [ref=f4e293]: 鎵规鐘舵��
-              - generic [ref=f4e299] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=f4e301]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=f4e302]:
-              - generic [ref=f4e303]: 鐢熶骇鏃ユ湡
-              - generic [ref=f4e308]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=f4e310]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f4e312]:
-                  - img "swap-right" [ref=f4e313]
-                - textbox "缁撴潫鏃堕棿" [ref=f4e317]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f4e318]:
-              - generic [ref=f4e319]: 鍒涘缓鏃堕棿
-              - generic [ref=f4e324]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f4e326]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f4e328]:
-                  - img "swap-right" [ref=f4e329]
-                - textbox "缁撴潫鏃堕棿" [ref=f4e333]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f4e334]:
-              - button "閲� 缃�" [ref=f4e335] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f4e337] [cursor=pointer]
-              - generic [ref=f4e339] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f4e346]:
-            - generic [ref=f4e348]:
-              - generic [ref=f4e349]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=f4e353]:
-                - generic [ref=f4e355]:
-                  - button "棰勭敓鎴愪簩缁寸爜" [active] [ref=f4e357] [cursor=pointer]
-                  - button "鏂板鎵规" [ref=f4e362] [cursor=pointer]
-                  - button "鎵爜杩芥函" [ref=f4e367] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f4e374] [cursor=pointer]
-                - button "顫�" [ref=f4e380] [cursor=pointer]
-              - generic [ref=f4e382]:
-                - button "瞟�" [ref=f4e383] [cursor=pointer]
-                - button "顪�" [ref=f4e385] [cursor=pointer]
-                - button "顦�" [ref=f4e387] [cursor=pointer]
-            - generic [ref=f4e394]:
-              - generic [ref=f4e395]:
-                - table [ref=f4e399]:
-                  - rowgroup [ref=f4e414]:
-                    - row [ref=f4e415]:
-                      - columnheader "鍝佺缂栫爜" [ref=f4e416]
-                      - columnheader "鍝佺鍚嶇О" [ref=f4e421]
-                      - columnheader "浜х嚎缂栫爜" [ref=f4e426]
-                      - columnheader "浜х嚎鍚嶇О" [ref=f4e431]
-                      - columnheader "鐢熶骇鏃ユ湡" [ref=f4e436]
-                      - columnheader "璁″垝鏁伴噺" [ref=f4e441]
-                      - columnheader "璐d换浜�" [ref=f4e446]
-                      - columnheader "琚嬬爜鏁伴噺" [ref=f4e451]
-                      - columnheader "鎵樼洏鐮佹暟閲�" [ref=f4e456]
-                      - columnheader "鎵规鐘舵��" [ref=f4e461]
-                      - columnheader "鍒涘缓鏃堕棿" [ref=f4e466]
-                - table [ref=f4e474]:
-                  - rowgroup [ref=f4e489]:
-                    - row [ref=f4e490]:
-                      - cell "ITEM_20260819003" [ref=f4e491]
-                      - cell "娴嬭瘯" [ref=f4e495]
-                      - cell "two" [ref=f4e499]
-                      - cell "浜х嚎浜�" [ref=f4e503]
-                      - cell "2026-08-21 13:39:56" [ref=f4e507]
-                      - cell "100" [ref=f4e511]
-                      - cell "鐙楄泲" [ref=f4e515]
-                      - cell "0" [ref=f4e519]
-                      - cell "0" [ref=f4e523]
-                      - cell "鑽夌" [ref=f4e527]
-                      - cell "2026-08-21 13:40:10" [ref=f4e531]
-                    - row [ref=f4e535]:
-                      - cell "ITEM_20260819003" [ref=f4e536]
-                      - cell "娴嬭瘯" [ref=f4e540]
-                      - cell "two" [ref=f4e544]
-                      - cell "浜х嚎浜�" [ref=f4e548]
-                      - cell "2026-08-19 10:48:02" [ref=f4e552]
-                      - cell "10000" [ref=f4e556]
-                      - cell "瓒呯骇绠$悊鍛�" [ref=f4e560]
-                      - cell "100" [ref=f4e564]
-                      - cell "10" [ref=f4e568]
-                      - cell "宸插畬鎴�" [ref=f4e572]
-                      - cell "2026-08-19 10:48:22" [ref=f4e576]
-              - generic:
-                - generic [ref=f4e580]:
-                  - table [ref=f4e583]:
-                    - rowgroup [ref=f4e598]:
-                      - row [ref=f4e599]:
-                        - columnheader "鎵规鍙�" [ref=f4e600]
-                  - table [ref=f4e607]:
-                    - rowgroup [ref=f4e610]:
-                      - row [ref=f4e611]:
-                        - cell [ref=f4e612]:
-                          - button "PC20260821twoITEM_001" [ref=f4e615] [cursor=pointer]
-                      - row [ref=f4e617]:
-                        - cell [ref=f4e618]:
-                          - button "PC20260819twoITEM_001" [ref=f4e621] [cursor=pointer]
-                - generic [ref=f4e623]:
-                  - table [ref=f4e626]:
-                    - rowgroup [ref=f4e641]:
-                      - row [ref=f4e642]:
-                        - columnheader "鎿嶄綔" [ref=f4e643]
-                  - table [ref=f4e650]:
-                    - rowgroup [ref=f4e653]:
-                      - row [ref=f4e654]:
-                        - cell [ref=f4e655]:
-                          - generic [ref=f4e658]:
-                            - generic [ref=f4e659]:
-                              - button "鏌ョ湅浜岀淮鐮�" [ref=f4e661] [cursor=pointer]
-                              - button "淇敼" [ref=f4e664] [cursor=pointer]
-                              - button "鍒犻櫎" [ref=f4e671] [cursor=pointer]
-                            - button "鏇村" [ref=f4e675] [cursor=pointer]
-                      - row [ref=f4e681]:
-                        - cell [ref=f4e682]:
-                          - generic [ref=f4e685]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f4e688] [cursor=pointer]
-                            - button "鏇村" [ref=f4e690] [cursor=pointer]
-            - generic [ref=f4e702]:
-              - generic [ref=f4e703]: 鍏� 2 鏉¤褰�
-              - generic [ref=f4e705] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f4e706]:
-                  - textbox "璇烽�夋嫨" [ref=f4e707]: 20鏉�/椤�
-                - generic [ref=f4e708]: 睿�
-              - button "飱�" [ref=f4e711]
-              - button "顧�" [ref=f4e713]
-              - button "顫�" [ref=f4e715]
-              - button "1" [ref=f4e718] [cursor=pointer]
-              - button "顫�" [ref=f4e719]
-              - button "顧�" [ref=f4e721]
-              - button "顦�" [ref=f4e723]
-  - dialog [ref=f4e726]:
-    - heading "棰勭敓鎴愭壒娆′簩缁寸爜" [level=2] [ref=f4e728]
-    - generic [ref=f4e732]:
-      - generic [ref=f4e733]:
-        - generic [ref=f4e734]:
-          - generic [ref=f4e735]: "*"
-          - text: 鐢熸垚涓暟
-        - generic [ref=f4e740]:
-          - generic [ref=f4e741]:
-            - button "Increase Value" [ref=f4e742] [cursor=pointer]:
-              - img "up" [ref=f4e743]
-            - button "Decrease Value" [ref=f4e746] [cursor=pointer]:
-              - img "down" [ref=f4e747]
-          - spinbutton "* 鐢熸垚涓暟" [ref=f4e751]
-      - generic [ref=f4e752]:
-        - generic [ref=f4e753]: 澶囨敞
-        - textbox "澶囨敞" [ref=f4e758]:
-          - /placeholder: 璇疯緭鍏ュ娉�
-    - button [ref=f4e759] [cursor=pointer]
-    - generic [ref=f4e769]:
-      - button "鍙� 娑�" [ref=f4e770] [cursor=pointer]
-      - button "纭� 璁�" [ref=f4e772] [cursor=pointer]
-    - button [ref=f4e774] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T07-48-51-155Z.yml b/.playwright-mcp/page-2026-08-28T07-48-51-155Z.yml
deleted file mode 100644
index d803fea..0000000
--- a/.playwright-mcp/page-2026-08-28T07-48-51-155Z.yml
+++ /dev/null
@@ -1,239 +0,0 @@
-- generic [ref=f4e4]:
-  - generic [ref=f4e7]:
-    - complementary [ref=f4e9]:
-      - generic [ref=f4e10]:
-        - generic [ref=f4e11] [cursor=pointer]
-        - link "娴嬭瘯鍏徃鍝堝搱 娴嬭瘯鍏徃鍝堝搱" [ref=f4e16] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "娴嬭瘯鍏徃鍝堝搱" [ref=f4e19]
-          - generic [ref=f4e20]: 娴嬭瘯鍏徃鍝堝搱
-        - menu [ref=f4e23]:
-          - menuitem "棣栭〉" [ref=f4e24] [cursor=pointer]
-          - listitem [ref=f4e29]:
-            - generic [ref=f4e30] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f4e38]:
-            - generic [ref=f4e39] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f4e47]:
-            - generic [ref=f4e48] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f4e54]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f4e55] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f4e60] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f4e66] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f4e73] [cursor=pointer]
-              - menuitem "鐢熶骇绾挎壂鐮佸叆搴�" [ref=f4e80] [cursor=pointer]
-          - listitem [ref=f4e85]:
-            - generic [ref=f4e86] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f4e92]:
-            - generic [ref=f4e93] [cursor=pointer]: 绯荤粺绠$悊
-        - generic [ref=f4e100] [cursor=pointer]
-    - generic [ref=f4e105]:
-      - generic [ref=f4e106]:
-        - banner [ref=f4e107]:
-          - button [ref=f4e108] [cursor=pointer]
-          - button [ref=f4e111] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f4e116]:
-            - list [ref=f4e117]:
-              - listitem [ref=f4e118]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f4e119] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f4e123]
-              - listitem [ref=f4e126]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=f4e127]
-          - generic [ref=f4e132]:
-            - generic [ref=f4e134] [cursor=pointer]:
-              - generic [ref=f4e138]: 鎼滅储
-              - generic [ref=f4e139]: Ctrl K
-            - button [ref=f4e141] [cursor=pointer]
-            - button "dark" [ref=f4e146] [cursor=pointer]
-            - button [ref=f4e155] [cursor=pointer]
-            - button [ref=f4e161] [cursor=pointer]
-            - button [ref=f4e164] [cursor=pointer]
-            - button [ref=f4e170] [cursor=pointer]:
-              - button [ref=f4e172]
-            - button "宸ヤ綔鍙�" [ref=f4e176] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f4e180] [cursor=pointer]
-        - generic [ref=f4e187]:
-          - generic [ref=f4e188]: 鎵规鐢熶骇绠$悊
-          - generic [ref=f4e207]:
-            - button [ref=f4e208] [cursor=pointer]
-            - generic [ref=f4e215] [cursor=pointer]
-            - generic [ref=f4e219] [cursor=pointer]
-      - main [ref=f4e226]:
-        - generic [ref=f4e231]:
-          - generic [ref=f4e236]:
-            - generic [ref=f4e237]:
-              - generic [ref=f4e238]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f4e244]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f4e246]:
-              - generic [ref=f4e247]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=f4e254]
-            - generic [ref=f4e260]:
-              - generic [ref=f4e261]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=f4e267]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=f4e269]:
-              - generic [ref=f4e270]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=f4e276]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=f4e278]:
-              - generic [ref=f4e279]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=f4e286]
-            - generic [ref=f4e292]:
-              - generic [ref=f4e293]: 鎵规鐘舵��
-              - generic [ref=f4e299] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=f4e301]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=f4e302]:
-              - generic [ref=f4e303]: 鐢熶骇鏃ユ湡
-              - generic [ref=f4e308]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=f4e310]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f4e312]:
-                  - img "swap-right" [ref=f4e313]
-                - textbox "缁撴潫鏃堕棿" [ref=f4e317]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f4e318]:
-              - generic [ref=f4e319]: 鍒涘缓鏃堕棿
-              - generic [ref=f4e324]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f4e326]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f4e328]:
-                  - img "swap-right" [ref=f4e329]
-                - textbox "缁撴潫鏃堕棿" [ref=f4e333]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f4e334]:
-              - button "閲� 缃�" [ref=f4e335] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f4e337] [cursor=pointer]
-              - generic [ref=f4e339] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f4e346]:
-            - generic [ref=f4e348]:
-              - generic [ref=f4e349]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=f4e353]:
-                - generic [ref=f4e355]:
-                  - button "棰勭敓鎴愪簩缁寸爜" [ref=f4e357] [cursor=pointer]
-                  - button "鏂板鎵规" [ref=f4e362] [cursor=pointer]
-                  - button "鎵爜杩芥函" [ref=f4e367] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f4e374] [cursor=pointer]
-                - button "顫�" [ref=f4e380] [cursor=pointer]
-              - generic [ref=f4e382]:
-                - button "瞟�" [ref=f4e383] [cursor=pointer]
-                - button "顪�" [ref=f4e385] [cursor=pointer]
-                - button "顦�" [ref=f4e387] [cursor=pointer]
-            - generic [ref=f4e394]:
-              - generic [ref=f4e395]:
-                - table [ref=f4e399]:
-                  - rowgroup [ref=f4e414]:
-                    - row [ref=f4e415]:
-                      - columnheader "鍝佺缂栫爜" [ref=f4e416]
-                      - columnheader "鍝佺鍚嶇О" [ref=f4e421]
-                      - columnheader "浜х嚎缂栫爜" [ref=f4e426]
-                      - columnheader "浜х嚎鍚嶇О" [ref=f4e431]
-                      - columnheader "鐢熶骇鏃ユ湡" [ref=f4e436]
-                      - columnheader "璁″垝鏁伴噺" [ref=f4e441]
-                      - columnheader "璐d换浜�" [ref=f4e446]
-                      - columnheader "琚嬬爜鏁伴噺" [ref=f4e451]
-                      - columnheader "鎵樼洏鐮佹暟閲�" [ref=f4e456]
-                      - columnheader "鎵规鐘舵��" [ref=f4e461]
-                      - columnheader "鍒涘缓鏃堕棿" [ref=f4e466]
-                - table [ref=f4e474]:
-                  - rowgroup [ref=f4e489]:
-                    - row [ref=f4e490]:
-                      - cell "ITEM_20260819003" [ref=f4e491]
-                      - cell "娴嬭瘯" [ref=f4e495]
-                      - cell "two" [ref=f4e499]
-                      - cell "浜х嚎浜�" [ref=f4e503]
-                      - cell "2026-08-21 13:39:56" [ref=f4e507]
-                      - cell "100" [ref=f4e511]
-                      - cell "鐙楄泲" [ref=f4e515]
-                      - cell "0" [ref=f4e519]
-                      - cell "0" [ref=f4e523]
-                      - cell "鑽夌" [ref=f4e527]
-                      - cell "2026-08-21 13:40:10" [ref=f4e531]
-                    - row [ref=f4e535]:
-                      - cell "ITEM_20260819003" [ref=f4e536]
-                      - cell "娴嬭瘯" [ref=f4e540]
-                      - cell "two" [ref=f4e544]
-                      - cell "浜х嚎浜�" [ref=f4e548]
-                      - cell "2026-08-19 10:48:02" [ref=f4e552]
-                      - cell "10000" [ref=f4e556]
-                      - cell "瓒呯骇绠$悊鍛�" [ref=f4e560]
-                      - cell "100" [ref=f4e564]
-                      - cell "10" [ref=f4e568]
-                      - cell "宸插畬鎴�" [ref=f4e572]
-                      - cell "2026-08-19 10:48:22" [ref=f4e576]
-              - generic:
-                - generic [ref=f4e580]:
-                  - table [ref=f4e583]:
-                    - rowgroup [ref=f4e598]:
-                      - row [ref=f4e599]:
-                        - columnheader "鎵规鍙�" [ref=f4e600]
-                  - table [ref=f4e607]:
-                    - rowgroup [ref=f4e610]:
-                      - row [ref=f4e611]:
-                        - cell [ref=f4e612]:
-                          - button "PC20260821twoITEM_001" [ref=f4e615] [cursor=pointer]
-                      - row [ref=f4e617]:
-                        - cell [ref=f4e618]:
-                          - button "PC20260819twoITEM_001" [ref=f4e621] [cursor=pointer]
-                - generic [ref=f4e623]:
-                  - table [ref=f4e626]:
-                    - rowgroup [ref=f4e641]:
-                      - row [ref=f4e642]:
-                        - columnheader "鎿嶄綔" [ref=f4e643]
-                  - table [ref=f4e650]:
-                    - rowgroup [ref=f4e653]:
-                      - row [ref=f4e654]:
-                        - cell [ref=f4e655]:
-                          - generic [ref=f4e658]:
-                            - generic [ref=f4e659]:
-                              - button "鏌ョ湅浜岀淮鐮�" [ref=f4e661] [cursor=pointer]
-                              - button "淇敼" [ref=f4e664] [cursor=pointer]
-                              - button "鍒犻櫎" [ref=f4e671] [cursor=pointer]
-                            - button "鏇村" [ref=f4e675] [cursor=pointer]
-                      - row [ref=f4e681]:
-                        - cell [ref=f4e682]:
-                          - generic [ref=f4e685]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f4e688] [cursor=pointer]
-                            - button "鏇村" [ref=f4e690] [cursor=pointer]
-            - generic [ref=f4e702]:
-              - generic [ref=f4e703]: 鍏� 2 鏉¤褰�
-              - generic [ref=f4e705] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f4e706]:
-                  - textbox "璇烽�夋嫨" [ref=f4e707]: 20鏉�/椤�
-                - generic [ref=f4e708]: 睿�
-              - button "飱�" [ref=f4e711]
-              - button "顧�" [ref=f4e713]
-              - button "顫�" [ref=f4e715]
-              - button "1" [ref=f4e718] [cursor=pointer]
-              - button "顫�" [ref=f4e719]
-              - button "顧�" [ref=f4e721]
-              - button "顦�" [ref=f4e723]
-  - generic [ref=f4e779]:
-    - img "close-circle" [ref=f4e780]
-    - text: 璇锋眰鍦板潃涓嶅瓨鍦�:admin-api/mes/pro/batch/pre-generate
-  - dialog [ref=f4e726]:
-    - heading "棰勭敓鎴愭壒娆′簩缁寸爜" [level=2] [ref=f4e728]
-    - generic [ref=f4e732]:
-      - generic [ref=f4e733]:
-        - generic [ref=f4e734]:
-          - generic [ref=f4e735]: "*"
-          - text: 鐢熸垚涓暟
-        - generic [ref=f4e740]:
-          - generic [ref=f4e741]:
-            - button "Increase Value" [ref=f4e742] [cursor=pointer]:
-              - img "up" [ref=f4e743]
-            - button "Decrease Value" [ref=f4e746] [cursor=pointer]:
-              - img "down" [ref=f4e747]
-          - spinbutton "* 鐢熸垚涓暟" [ref=f4e751]: "3"
-      - generic [ref=f4e752]:
-        - generic [ref=f4e753]: 澶囨敞
-        - textbox "澶囨敞" [ref=f4e758]:
-          - /placeholder: 璇疯緭鍏ュ娉�
-    - button [ref=f4e759] [cursor=pointer]
-    - generic [ref=f4e769]:
-      - button "鍙� 娑�" [ref=f4e770] [cursor=pointer]
-      - button "纭� 璁�" [active] [ref=f4e772] [cursor=pointer]
-    - button [ref=f4e774] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T07-49-26-431Z.yml b/.playwright-mcp/page-2026-08-28T07-49-26-431Z.yml
deleted file mode 100644
index 364d985..0000000
--- a/.playwright-mcp/page-2026-08-28T07-49-26-431Z.yml
+++ /dev/null
@@ -1,236 +0,0 @@
-- generic [ref=f4e4]:
-  - generic [ref=f4e7]:
-    - complementary [ref=f4e9]:
-      - generic [ref=f4e10]:
-        - generic [ref=f4e11] [cursor=pointer]
-        - link "娴嬭瘯鍏徃鍝堝搱 娴嬭瘯鍏徃鍝堝搱" [ref=f4e16] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "娴嬭瘯鍏徃鍝堝搱" [ref=f4e19]
-          - generic [ref=f4e20]: 娴嬭瘯鍏徃鍝堝搱
-        - menu [ref=f4e23]:
-          - menuitem "棣栭〉" [ref=f4e24] [cursor=pointer]
-          - listitem [ref=f4e29]:
-            - generic [ref=f4e30] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f4e38]:
-            - generic [ref=f4e39] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f4e47]:
-            - generic [ref=f4e48] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f4e54]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f4e55] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f4e60] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f4e66] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f4e73] [cursor=pointer]
-              - menuitem "鐢熶骇绾挎壂鐮佸叆搴�" [ref=f4e80] [cursor=pointer]
-          - listitem [ref=f4e85]:
-            - generic [ref=f4e86] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f4e92]:
-            - generic [ref=f4e93] [cursor=pointer]: 绯荤粺绠$悊
-        - generic [ref=f4e100] [cursor=pointer]
-    - generic [ref=f4e105]:
-      - generic [ref=f4e106]:
-        - banner [ref=f4e107]:
-          - button [ref=f4e108] [cursor=pointer]
-          - button [ref=f4e111] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f4e116]:
-            - list [ref=f4e117]:
-              - listitem [ref=f4e118]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f4e119] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f4e123]
-              - listitem [ref=f4e126]:
-                - link "鎵规鐢熶骇绠$悊" [disabled] [ref=f4e127]
-          - generic [ref=f4e132]:
-            - generic [ref=f4e134] [cursor=pointer]:
-              - generic [ref=f4e138]: 鎼滅储
-              - generic [ref=f4e139]: Ctrl K
-            - button [ref=f4e141] [cursor=pointer]
-            - button "dark" [ref=f4e146] [cursor=pointer]
-            - button [ref=f4e155] [cursor=pointer]
-            - button [ref=f4e161] [cursor=pointer]
-            - button [ref=f4e164] [cursor=pointer]
-            - button [ref=f4e170] [cursor=pointer]:
-              - button [ref=f4e172]
-            - button "宸ヤ綔鍙�" [ref=f4e176] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f4e180] [cursor=pointer]
-        - generic [ref=f4e187]:
-          - generic [ref=f4e188]: 鎵规鐢熶骇绠$悊
-          - generic [ref=f4e207]:
-            - button [ref=f4e208] [cursor=pointer]
-            - generic [ref=f4e215] [cursor=pointer]
-            - generic [ref=f4e219] [cursor=pointer]
-      - main [ref=f4e226]:
-        - generic [ref=f4e231]:
-          - generic [ref=f4e236]:
-            - generic [ref=f4e237]:
-              - generic [ref=f4e238]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f4e244]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f4e246]:
-              - generic [ref=f4e247]: 鍝佺
-              - textbox "璇烽�夋嫨鍝佺" [ref=f4e254]
-            - generic [ref=f4e260]:
-              - generic [ref=f4e261]: 浜х嚎缂栫爜
-              - textbox "浜х嚎缂栫爜" [ref=f4e267]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾跨紪鐮�
-            - generic [ref=f4e269]:
-              - generic [ref=f4e270]: 浜х嚎鍚嶇О
-              - textbox "浜х嚎鍚嶇О" [ref=f4e276]:
-                - /placeholder: 璇疯緭鍏ヤ骇绾垮悕绉�
-            - generic [ref=f4e278]:
-              - generic [ref=f4e279]: 璐d换浜�
-              - textbox "璇烽�夋嫨璐d换浜�" [ref=f4e286]
-            - generic [ref=f4e292]:
-              - generic [ref=f4e293]: 鎵规鐘舵��
-              - generic [ref=f4e299] [cursor=pointer]:
-                - combobox "鎵规鐘舵��" [ref=f4e301]
-                - generic: 璇烽�夋嫨鎵规鐘舵��
-            - generic [ref=f4e302]:
-              - generic [ref=f4e303]: 鐢熶骇鏃ユ湡
-              - generic [ref=f4e308]:
-                - textbox "鐢熶骇鏃ユ湡" [ref=f4e310]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f4e312]:
-                  - img "swap-right" [ref=f4e313]
-                - textbox "缁撴潫鏃堕棿" [ref=f4e317]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f4e318]:
-              - generic [ref=f4e319]: 鍒涘缓鏃堕棿
-              - generic [ref=f4e324]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f4e326]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f4e328]:
-                  - img "swap-right" [ref=f4e329]
-                - textbox "缁撴潫鏃堕棿" [ref=f4e333]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f4e334]:
-              - button "閲� 缃�" [ref=f4e335] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f4e337] [cursor=pointer]
-              - generic [ref=f4e339] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f4e346]:
-            - generic [ref=f4e348]:
-              - generic [ref=f4e349]: 鐢熶骇鎵规鍒楄〃
-              - generic [ref=f4e353]:
-                - generic [ref=f4e355]:
-                  - button "棰勭敓鎴愪簩缁寸爜" [ref=f4e357] [cursor=pointer]
-                  - button "鏂板鎵规" [ref=f4e362] [cursor=pointer]
-                  - button "鎵爜杩芥函" [ref=f4e367] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f4e374] [cursor=pointer]
-                - button "顫�" [ref=f4e380] [cursor=pointer]
-              - generic [ref=f4e382]:
-                - button "瞟�" [ref=f4e383] [cursor=pointer]
-                - button "顪�" [ref=f4e385] [cursor=pointer]
-                - button "顦�" [ref=f4e387] [cursor=pointer]
-            - generic [ref=f4e394]:
-              - generic [ref=f4e395]:
-                - table [ref=f4e399]:
-                  - rowgroup [ref=f4e414]:
-                    - row [ref=f4e415]:
-                      - columnheader "鍝佺缂栫爜" [ref=f4e416]
-                      - columnheader "鍝佺鍚嶇О" [ref=f4e421]
-                      - columnheader "浜х嚎缂栫爜" [ref=f4e426]
-                      - columnheader "浜х嚎鍚嶇О" [ref=f4e431]
-                      - columnheader "鐢熶骇鏃ユ湡" [ref=f4e436]
-                      - columnheader "璁″垝鏁伴噺" [ref=f4e441]
-                      - columnheader "璐d换浜�" [ref=f4e446]
-                      - columnheader "琚嬬爜鏁伴噺" [ref=f4e451]
-                      - columnheader "鎵樼洏鐮佹暟閲�" [ref=f4e456]
-                      - columnheader "鎵规鐘舵��" [ref=f4e461]
-                      - columnheader "鍒涘缓鏃堕棿" [ref=f4e466]
-                - table [ref=f4e474]:
-                  - rowgroup [ref=f4e489]:
-                    - row [ref=f4e490]:
-                      - cell "ITEM_20260819003" [ref=f4e491]
-                      - cell "娴嬭瘯" [ref=f4e495]
-                      - cell "two" [ref=f4e499]
-                      - cell "浜х嚎浜�" [ref=f4e503]
-                      - cell "2026-08-21 13:39:56" [ref=f4e507]
-                      - cell "100" [ref=f4e511]
-                      - cell "鐙楄泲" [ref=f4e515]
-                      - cell "0" [ref=f4e519]
-                      - cell "0" [ref=f4e523]
-                      - cell "鑽夌" [ref=f4e527]
-                      - cell "2026-08-21 13:40:10" [ref=f4e531]
-                    - row [ref=f4e535]:
-                      - cell "ITEM_20260819003" [ref=f4e536]
-                      - cell "娴嬭瘯" [ref=f4e540]
-                      - cell "two" [ref=f4e544]
-                      - cell "浜х嚎浜�" [ref=f4e548]
-                      - cell "2026-08-19 10:48:02" [ref=f4e552]
-                      - cell "10000" [ref=f4e556]
-                      - cell "瓒呯骇绠$悊鍛�" [ref=f4e560]
-                      - cell "100" [ref=f4e564]
-                      - cell "10" [ref=f4e568]
-                      - cell "宸插畬鎴�" [ref=f4e572]
-                      - cell "2026-08-19 10:48:22" [ref=f4e576]
-              - generic:
-                - generic [ref=f4e580]:
-                  - table [ref=f4e583]:
-                    - rowgroup [ref=f4e598]:
-                      - row [ref=f4e599]:
-                        - columnheader "鎵规鍙�" [ref=f4e600]
-                  - table [ref=f4e607]:
-                    - rowgroup [ref=f4e610]:
-                      - row [ref=f4e611]:
-                        - cell [ref=f4e612]:
-                          - button "PC20260821twoITEM_001" [ref=f4e615] [cursor=pointer]
-                      - row [ref=f4e617]:
-                        - cell [ref=f4e618]:
-                          - button "PC20260819twoITEM_001" [ref=f4e621] [cursor=pointer]
-                - generic [ref=f4e623]:
-                  - table [ref=f4e626]:
-                    - rowgroup [ref=f4e641]:
-                      - row [ref=f4e642]:
-                        - columnheader "鎿嶄綔" [ref=f4e643]
-                  - table [ref=f4e650]:
-                    - rowgroup [ref=f4e653]:
-                      - row [ref=f4e654]:
-                        - cell [ref=f4e655]:
-                          - generic [ref=f4e658]:
-                            - generic [ref=f4e659]:
-                              - button "鏌ョ湅浜岀淮鐮�" [ref=f4e661] [cursor=pointer]
-                              - button "淇敼" [ref=f4e664] [cursor=pointer]
-                              - button "鍒犻櫎" [ref=f4e671] [cursor=pointer]
-                            - button "鏇村" [ref=f4e675] [cursor=pointer]
-                      - row [ref=f4e681]:
-                        - cell [ref=f4e682]:
-                          - generic [ref=f4e685]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f4e688] [cursor=pointer]
-                            - button "鏇村" [ref=f4e690] [cursor=pointer]
-            - generic [ref=f4e702]:
-              - generic [ref=f4e703]: 鍏� 2 鏉¤褰�
-              - generic [ref=f4e705] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f4e706]:
-                  - textbox "璇烽�夋嫨" [ref=f4e707]: 20鏉�/椤�
-                - generic [ref=f4e708]: 睿�
-              - button "飱�" [ref=f4e711]
-              - button "顧�" [ref=f4e713]
-              - button "顫�" [ref=f4e715]
-              - button "1" [ref=f4e718] [cursor=pointer]
-              - button "顫�" [ref=f4e719]
-              - button "顧�" [ref=f4e721]
-              - button "顦�" [ref=f4e723]
-  - dialog [ref=f4e726]:
-    - heading "棰勭敓鎴愭壒娆′簩缁寸爜" [level=2] [ref=f4e728]
-    - generic [ref=f4e732]:
-      - generic [ref=f4e733]:
-        - generic [ref=f4e734]:
-          - generic [ref=f4e735]: "*"
-          - text: 鐢熸垚涓暟
-        - generic [ref=f4e740]:
-          - generic [ref=f4e741]:
-            - button "Increase Value" [ref=f4e742] [cursor=pointer]:
-              - img "up" [ref=f4e743]
-            - button "Decrease Value" [ref=f4e746] [cursor=pointer]:
-              - img "down" [ref=f4e747]
-          - spinbutton "* 鐢熸垚涓暟" [ref=f4e751]: "3"
-      - generic [ref=f4e752]:
-        - generic [ref=f4e753]: 澶囨敞
-        - textbox "澶囨敞" [ref=f4e758]:
-          - /placeholder: 璇疯緭鍏ュ娉�
-    - button [ref=f4e759] [cursor=pointer]
-    - generic [ref=f4e769]:
-      - button "鍙� 娑�" [ref=f4e770] [cursor=pointer]
-      - button "纭� 璁�" [active] [ref=f4e772] [cursor=pointer]
-    - button [ref=f4e774] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T08-59-32-379Z.yml b/.playwright-mcp/page-2026-08-28T08-59-32-379Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-28T08-59-32-379Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T08-59-49-723Z.yml b/.playwright-mcp/page-2026-08-28T08-59-49-723Z.yml
deleted file mode 100644
index ddb6c93..0000000
--- a/.playwright-mcp/page-2026-08-28T08-59-49-723Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active] [ref=f7e1]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T09-00-00-757Z.yml b/.playwright-mcp/page-2026-08-28T09-00-00-757Z.yml
deleted file mode 100644
index 0b72361..0000000
--- a/.playwright-mcp/page-2026-08-28T09-00-00-757Z.yml
+++ /dev/null
@@ -1,104 +0,0 @@
-- generic [ref=f7e7]:
-  - complementary [ref=f7e9]:
-    - generic [ref=f7e10]:
-      - generic [ref=f7e11] [cursor=pointer]
-      - link "娴嬭瘯鍏徃鍝堝搱 娴嬭瘯鍏徃鍝堝搱" [ref=f7e16] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "娴嬭瘯鍏徃鍝堝搱" [ref=f7e19]
-        - generic [ref=f7e20]: 娴嬭瘯鍏徃鍝堝搱
-      - menu [ref=f7e23]:
-        - menuitem "棣栭〉" [ref=f7e24] [cursor=pointer]
-        - listitem [ref=f7e29]:
-          - generic [ref=f7e30] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=f7e38]:
-          - generic [ref=f7e39] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=f7e47]:
-          - generic [ref=f7e48] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-          - list:
-            - menuitem "鎵规鐢熶骇绠$悊" [ref=f7e365] [cursor=pointer]
-            - menuitem "璧嬬爜绠$悊" [ref=f7e370] [cursor=pointer]
-            - menuitem "鎵樼洏鐮佺鐞�" [ref=f7e376] [cursor=pointer]
-            - menuitem "浜х嚎缁存姢" [ref=f7e383] [cursor=pointer]
-            - menuitem "鐢熶骇绾挎壂鐮佸叆搴�" [ref=f7e390] [cursor=pointer]
-        - listitem [ref=f7e54]:
-          - generic [ref=f7e55] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=f7e61]:
-          - generic [ref=f7e62] [cursor=pointer]: 绯荤粺绠$悊
-      - generic [ref=f7e69] [cursor=pointer]
-  - generic [ref=f7e74]:
-    - generic [ref=f7e75]:
-      - banner [ref=f7e76]:
-        - button [ref=f7e77] [cursor=pointer]
-        - button [ref=f7e80] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f7e85]:
-          - list [ref=f7e86]:
-            - listitem [ref=f7e87]:
-              - link "棣栭〉" [disabled] [ref=f7e88]
-        - generic [ref=f7e93]:
-          - generic [ref=f7e95] [cursor=pointer]:
-            - generic [ref=f7e99]: 鎼滅储
-            - generic [ref=f7e100]: Ctrl K
-          - button [ref=f7e102] [cursor=pointer]
-          - button "dark" [ref=f7e107] [cursor=pointer]
-          - button [ref=f7e116] [cursor=pointer]
-          - button [ref=f7e122] [cursor=pointer]
-          - button [ref=f7e125] [cursor=pointer]
-          - button [ref=f7e131] [cursor=pointer]:
-            - button [ref=f7e133]
-          - button "宸ヤ綔鍙�" [ref=f7e137] [cursor=pointer]
-          - button "鐞嗗憳" [ref=f7e141] [cursor=pointer]
-      - generic [ref=f7e148]:
-        - generic [ref=f7e149]: 棣栭〉
-        - generic [ref=f7e168]:
-          - button [ref=f7e169] [cursor=pointer]
-          - generic [ref=f7e176] [cursor=pointer]
-          - generic [ref=f7e180] [cursor=pointer]
-    - main [ref=f7e187]:
-      - generic [ref=f7e190]:
-        - generic [ref=f7e191]:
-          - generic [ref=f7e201] [cursor=pointer]:
-            - generic [ref=f7e202]: 鍝佺鎬绘暟
-            - generic [ref=f7e203]: "1"
-          - generic [ref=f7e214] [cursor=pointer]:
-            - generic [ref=f7e215]: MES 鍝佺
-            - generic [ref=f7e216]: "0"
-          - generic [ref=f7e227] [cursor=pointer]:
-            - generic [ref=f7e228]: 鍝佺鍒嗙被
-            - generic [ref=f7e229]: "1"
-          - generic [ref=f7e238] [cursor=pointer]:
-            - generic [ref=f7e239]: 璁¢噺鍗曚綅
-            - generic [ref=f7e240]: "1"
-        - generic [ref=f7e242]:
-          - generic [ref=f7e250] [cursor=pointer]:
-            - generic [ref=f7e251]: 浜х嚎
-            - generic [ref=f7e252]: "1"
-          - generic [ref=f7e264] [cursor=pointer]:
-            - generic [ref=f7e265]: 鐢熶骇鎵规
-            - generic [ref=f7e266]: "102"
-          - generic [ref=f7e275] [cursor=pointer]:
-            - generic [ref=f7e276]: 琚嬬爜
-            - generic [ref=f7e277]: 1,101
-          - generic [ref=f7e288] [cursor=pointer]:
-            - generic [ref=f7e289]: 鎵樼洏鐮�
-            - generic [ref=f7e290]: "11"
-        - generic [ref=f7e292]:
-          - generic [ref=f7e296]:
-            - generic [ref=f7e297]: 琚嬬爜鐢熸垚瓒嬪娍
-            - generic [ref=f7e299]:
-              - generic [ref=f7e300] [cursor=pointer]:
-                - generic [ref=f7e301]:
-                  - radio "杩� 7 澶�" [checked]
-                - generic [ref=f7e302]: 杩� 7 澶�
-              - generic [ref=f7e303] [cursor=pointer]:
-                - generic [ref=f7e304]:
-                  - radio "杩� 30 澶�"
-                - generic [ref=f7e305]: 杩� 30 澶�
-          - generic [ref=f7e310]: 鎵规鐘舵�佸垎甯�
-          - generic [ref=f7e319]: 琚嬬爜鐘舵�佸垎甯�
-        - generic [ref=f7e328]:
-          - generic [ref=f7e329]: 蹇嵎鍏ュ彛
-          - generic [ref=f7e333]:
-            - generic [ref=f7e334]: 鍝佺绠$悊
-            - generic [ref=f7e342]: 鍝佺鍒嗙被
-            - generic [ref=f7e350]: 鎵规鐢熶骇
-            - generic [ref=f7e359]: 璧嬬爜绠$悊
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T09-00-15-736Z.yml b/.playwright-mcp/page-2026-08-28T09-00-15-736Z.yml
deleted file mode 100644
index dc7e064..0000000
--- a/.playwright-mcp/page-2026-08-28T09-00-15-736Z.yml
+++ /dev/null
@@ -1,110 +0,0 @@
-- generic [ref=f7e7]:
-  - complementary [ref=f7e9]:
-    - generic [ref=f7e10]:
-      - generic [ref=f7e11] [cursor=pointer]
-      - link "娴嬭瘯鍏徃鍝堝搱 娴嬭瘯鍏徃鍝堝搱" [ref=f7e16] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "娴嬭瘯鍏徃鍝堝搱" [ref=f7e19]
-        - generic [ref=f7e20]: 娴嬭瘯鍏徃鍝堝搱
-      - menu [ref=f7e23]:
-        - menuitem "棣栭〉" [ref=f7e24] [cursor=pointer]
-        - listitem [ref=f7e29]:
-          - generic [ref=f7e30] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=f7e38]:
-          - generic [ref=f7e39] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=f7e47]:
-          - generic [ref=f7e48] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-          - list [ref=f7e395]:
-            - menuitem "鎵规鐢熶骇绠$悊" [ref=f7e365] [cursor=pointer]
-            - menuitem "璧嬬爜绠$悊" [ref=f7e370] [cursor=pointer]
-            - menuitem "鎵樼洏鐮佺鐞�" [active] [ref=f7e376] [cursor=pointer]
-            - menuitem "浜х嚎缁存姢" [ref=f7e383] [cursor=pointer]
-            - menuitem "鐢熶骇绾挎壂鐮佸叆搴�" [ref=f7e390] [cursor=pointer]
-        - listitem [ref=f7e54]:
-          - generic [ref=f7e55] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=f7e61]:
-          - generic [ref=f7e62] [cursor=pointer]: 绯荤粺绠$悊
-      - generic [ref=f7e69] [cursor=pointer]
-  - generic [ref=f7e74]:
-    - generic [ref=f7e75]:
-      - banner [ref=f7e76]:
-        - button [ref=f7e77] [cursor=pointer]
-        - button [ref=f7e80] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f7e85]:
-          - list [ref=f7e86]:
-            - listitem [ref=f7e396]:
-              - link "涓�琚嬩竴鐮佺鐞�" [ref=f7e397] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=f7e401]
-            - listitem [ref=f7e404]:
-              - link "鎵樼洏鐮佺鐞�" [disabled] [ref=f7e405]
-        - generic [ref=f7e93]:
-          - generic [ref=f7e95] [cursor=pointer]:
-            - generic [ref=f7e99]: 鎼滅储
-            - generic [ref=f7e100]: Ctrl K
-          - button [ref=f7e102] [cursor=pointer]
-          - button "dark" [ref=f7e107] [cursor=pointer]
-          - button [ref=f7e116] [cursor=pointer]
-          - button [ref=f7e122] [cursor=pointer]
-          - button [ref=f7e125] [cursor=pointer]
-          - button [ref=f7e131] [cursor=pointer]:
-            - button [ref=f7e133]
-          - button "宸ヤ綔鍙�" [ref=f7e137] [cursor=pointer]
-          - button "鐞嗗憳" [ref=f7e141] [cursor=pointer]
-      - generic [ref=f7e148]:
-        - generic [ref=f7e153]:
-          - generic [ref=f7e154] [cursor=pointer]: 棣栭〉
-          - generic [ref=f7e414] [cursor=pointer]: 鎵樼洏鐮佺鐞�
-        - generic [ref=f7e168]:
-          - button [ref=f7e169] [cursor=pointer]
-          - generic [ref=f7e176] [cursor=pointer]
-          - generic [ref=f7e180] [cursor=pointer]
-    - main [ref=f7e187]:
-      - generic [ref=f7e190]:
-        - generic [ref=f7e191]:
-          - generic [ref=f7e201] [cursor=pointer]:
-            - generic [ref=f7e202]: 鍝佺鎬绘暟
-            - generic [ref=f7e203]: "1"
-          - generic [ref=f7e214] [cursor=pointer]:
-            - generic [ref=f7e215]: MES 鍝佺
-            - generic [ref=f7e216]: "0"
-          - generic [ref=f7e227] [cursor=pointer]:
-            - generic [ref=f7e228]: 鍝佺鍒嗙被
-            - generic [ref=f7e229]: "1"
-          - generic [ref=f7e238] [cursor=pointer]:
-            - generic [ref=f7e239]: 璁¢噺鍗曚綅
-            - generic [ref=f7e240]: "1"
-        - generic [ref=f7e242]:
-          - generic [ref=f7e250] [cursor=pointer]:
-            - generic [ref=f7e251]: 浜х嚎
-            - generic [ref=f7e252]: "1"
-          - generic [ref=f7e264] [cursor=pointer]:
-            - generic [ref=f7e265]: 鐢熶骇鎵规
-            - generic [ref=f7e266]: "102"
-          - generic [ref=f7e275] [cursor=pointer]:
-            - generic [ref=f7e276]: 琚嬬爜
-            - generic [ref=f7e277]: 1,101
-          - generic [ref=f7e288] [cursor=pointer]:
-            - generic [ref=f7e289]: 鎵樼洏鐮�
-            - generic [ref=f7e290]: "11"
-        - generic [ref=f7e292]:
-          - generic [ref=f7e296]:
-            - generic [ref=f7e297]: 琚嬬爜鐢熸垚瓒嬪娍
-            - generic [ref=f7e299]:
-              - generic [ref=f7e300] [cursor=pointer]:
-                - generic [ref=f7e301]:
-                  - radio "杩� 7 澶�" [checked]
-                - generic [ref=f7e302]: 杩� 7 澶�
-              - generic [ref=f7e303] [cursor=pointer]:
-                - generic [ref=f7e304]:
-                  - radio "杩� 30 澶�"
-                - generic [ref=f7e305]: 杩� 30 澶�
-          - generic [ref=f7e310]: 鎵规鐘舵�佸垎甯�
-          - generic [ref=f7e319]: 琚嬬爜鐘舵�佸垎甯�
-        - generic [ref=f7e328]:
-          - generic [ref=f7e329]: 蹇嵎鍏ュ彛
-          - generic [ref=f7e333]:
-            - generic [ref=f7e334]: 鍝佺绠$悊
-            - generic [ref=f7e342]: 鍝佺鍒嗙被
-            - generic [ref=f7e350]: 鎵规鐢熶骇
-            - generic [ref=f7e359]: 璧嬬爜绠$悊
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T09-02-56-093Z.yml b/.playwright-mcp/page-2026-08-28T09-02-56-093Z.yml
deleted file mode 100644
index 6adf37e..0000000
--- a/.playwright-mcp/page-2026-08-28T09-02-56-093Z.yml
+++ /dev/null
@@ -1 +0,0 @@
-- generic [active]: 宸ヤ笟AI鏅洪�犲钩鍙�
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T09-03-07-573Z.yml b/.playwright-mcp/page-2026-08-28T09-03-07-573Z.yml
deleted file mode 100644
index 40fed56..0000000
--- a/.playwright-mcp/page-2026-08-28T09-03-07-573Z.yml
+++ /dev/null
@@ -1,336 +0,0 @@
-- generic [ref=f9e7]:
-  - complementary [ref=f9e9]:
-    - generic [ref=f9e10]:
-      - generic [ref=f9e11] [cursor=pointer]
-      - link "娴嬭瘯鍏徃鍝堝搱 娴嬭瘯鍏徃鍝堝搱" [ref=f9e16] [cursor=pointer]:
-        - /url: javascript:void 0
-        - img "娴嬭瘯鍏徃鍝堝搱" [ref=f9e19]
-        - generic [ref=f9e20]: 娴嬭瘯鍏徃鍝堝搱
-      - menu [ref=f9e23]:
-        - menuitem "棣栭〉" [ref=f9e24] [cursor=pointer]
-        - listitem [ref=f9e29]:
-          - generic [ref=f9e30] [cursor=pointer]: 鍩虹鏁版嵁
-        - listitem [ref=f9e38]:
-          - generic [ref=f9e39] [cursor=pointer]: 浠撳偍鐗╂祦
-        - listitem [ref=f9e47]:
-          - generic [ref=f9e48] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-          - list [ref=f9e54]:
-            - menuitem "鎵规鐢熶骇绠$悊" [ref=f9e55] [cursor=pointer]
-            - menuitem "璧嬬爜绠$悊" [ref=f9e60] [cursor=pointer]
-            - menuitem "鎵樼洏鐮佺鐞�" [ref=f9e66] [cursor=pointer]
-            - menuitem "浜х嚎缁存姢" [ref=f9e73] [cursor=pointer]
-            - menuitem "鐢熶骇绾挎壂鐮佸叆搴�" [ref=f9e80] [cursor=pointer]
-        - listitem [ref=f9e85]:
-          - generic [ref=f9e86] [cursor=pointer]: 璐ㄩ噺绠$悊
-        - listitem [ref=f9e92]:
-          - generic [ref=f9e93] [cursor=pointer]: 绯荤粺绠$悊
-      - generic [ref=f9e100] [cursor=pointer]
-  - generic [ref=f9e105]:
-    - generic [ref=f9e106]:
-      - banner [ref=f9e107]:
-        - button [ref=f9e108] [cursor=pointer]
-        - button [ref=f9e111] [cursor=pointer]
-        - navigation "breadcrumb" [ref=f9e116]:
-          - list [ref=f9e117]:
-            - listitem [ref=f9e118]:
-              - link "涓�琚嬩竴鐮佺鐞�" [ref=f9e119] [cursor=pointer]:
-                - /url: javascript:void 0
-              - listitem [ref=f9e123]
-            - listitem [ref=f9e126]:
-              - link "鎵樼洏鐮佺鐞�" [disabled] [ref=f9e127]
-        - generic [ref=f9e134]:
-          - generic [ref=f9e136] [cursor=pointer]:
-            - generic [ref=f9e140]: 鎼滅储
-            - generic [ref=f9e141]: Ctrl K
-          - button [ref=f9e143] [cursor=pointer]
-          - button "dark" [ref=f9e148] [cursor=pointer]
-          - button [ref=f9e157] [cursor=pointer]
-          - button [ref=f9e163] [cursor=pointer]
-          - button [ref=f9e166] [cursor=pointer]
-          - button [ref=f9e172] [cursor=pointer]:
-            - button [ref=f9e174]
-          - button "宸ヤ綔鍙�" [ref=f9e178] [cursor=pointer]
-          - button "鐞嗗憳" [ref=f9e182] [cursor=pointer]
-      - generic [ref=f9e189]:
-        - generic [ref=f9e190]: 鎵樼洏鐮佺鐞�
-        - generic [ref=f9e211]:
-          - button [ref=f9e212] [cursor=pointer]
-          - generic [ref=f9e219] [cursor=pointer]
-          - generic [ref=f9e223] [cursor=pointer]
-    - main [ref=f9e230]:
-      - generic [ref=f9e235]:
-        - generic [ref=f9e240]:
-          - generic [ref=f9e241]:
-            - generic [ref=f9e242]: 鎵樼洏鐮�
-            - textbox "鎵樼洏鐮�" [ref=f9e248]:
-              - /placeholder: 璇疯緭鍏ユ墭鐩樼爜
-          - generic [ref=f9e250]:
-            - generic [ref=f9e251]: 鎵规鍙�
-            - textbox "鎵规鍙�" [ref=f9e257]:
-              - /placeholder: 璇疯緭鍏ユ壒娆″彿
-          - generic [ref=f9e259]:
-            - generic [ref=f9e260]: 鎵樼洏鐘舵��
-            - generic [ref=f9e266] [cursor=pointer]:
-              - combobox "鎵樼洏鐘舵��" [ref=f9e268]
-              - generic: 璇烽�夋嫨鎵樼洏鐘舵��
-          - generic [ref=f9e269]:
-            - generic [ref=f9e270]: 鍒涘缓鏃堕棿
-            - generic [ref=f9e275]:
-              - textbox "鍒涘缓鏃堕棿" [ref=f9e277]:
-                - /placeholder: 寮�濮嬫椂闂�
-              - generic "to" [ref=f9e279]:
-                - img "swap-right" [ref=f9e280]
-              - textbox "缁撴潫鏃堕棿" [ref=f9e284]
-              - generic:
-                - img "calendar"
-          - generic [ref=f9e285]:
-            - button "閲� 缃�" [ref=f9e286] [cursor=pointer]
-            - button "鎼� 绱�" [ref=f9e288] [cursor=pointer]
-            - generic [ref=f9e290] [cursor=pointer]: 鏀惰捣
-        - generic [ref=f9e297]:
-          - generic [ref=f9e299]:
-            - generic [ref=f9e300]: 鎵樼洏鐮佸垪琛�
-            - generic [ref=f9e304]:
-              - generic [ref=f9e306]:
-                - button "棰勭敓鎴愪簩缁寸爜" [ref=f9e308] [cursor=pointer]
-                - button "缁戝畾鎵规" [ref=f9e313] [cursor=pointer]
-                - button "鎵爜杩芥函" [ref=f9e320] [cursor=pointer]
-                - button "瀵煎嚭浜岀淮鐮�" [ref=f9e327] [cursor=pointer]
-                - button "瀵煎嚭" [ref=f9e334] [cursor=pointer]
-              - button "顫�" [ref=f9e340] [cursor=pointer]
-            - generic [ref=f9e342]:
-              - button "瞟�" [ref=f9e343] [cursor=pointer]
-              - button "顪�" [ref=f9e345] [cursor=pointer]
-              - button "顦�" [ref=f9e347] [cursor=pointer]
-          - generic [ref=f9e354]:
-            - generic [ref=f9e355]:
-              - table [ref=f9e359]:
-                - rowgroup [ref=f9e371]:
-                  - row [ref=f9e1147]:
-                    - columnheader "睿�" [ref=f9e1148]:
-                      - generic "鍏ㄩ��/鍙栨秷" [ref=f9e378] [cursor=pointer]: 睿�
-                    - columnheader "鎵樼洏搴忓彿" [ref=f9e381]
-                    - columnheader "鎵规鍙�" [ref=f9e386]
-                    - columnheader "鍙琚嬫暟锛堣/鎵樼洏锛�" [ref=f9e391]
-                    - columnheader "宸茬粦琚嬬爜鏁伴噺" [ref=f9e396]
-                    - columnheader "鎵樼洏鐘舵��" [ref=f9e401]
-                    - columnheader "澶囨敞" [ref=f9e406]
-                    - columnheader "鍒涘缓鏃堕棿" [ref=f9e411]
-              - table [ref=f9e419]:
-                - rowgroup [ref=f9e431]:
-                  - row "顧� 鏈粦瀹氭壒娆� 100 0 鍚敤 2026-08-28 16:28:05" [ref=f9e1149]:
-                    - cell "顧�" [ref=f9e1150]
-                    - cell [ref=f9e438]
-                    - cell "鏈粦瀹氭壒娆�" [ref=f9e442]
-                    - cell "100" [ref=f9e446]
-                    - cell "0" [ref=f9e450]
-                    - cell "鍚敤" [ref=f9e454]
-                    - cell [ref=f9e458]
-                    - cell "2026-08-28 16:28:05" [ref=f9e462]
-                  - row "顪� 10 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e466]:
-                    - cell "顪�" [ref=f9e467]
-                    - cell "10" [ref=f9e472]
-                    - cell "PC20260819twoITEM_001" [ref=f9e476]
-                    - cell "1000" [ref=f9e479]
-                    - cell "0" [ref=f9e483]
-                    - cell "鍚敤" [ref=f9e487]
-                    - cell [ref=f9e491]
-                    - cell "2026-08-19 10:53:29" [ref=f9e495]
-                  - row "顪� 9 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e499]:
-                    - cell "顪�" [ref=f9e500]
-                    - cell "9" [ref=f9e505]
-                    - cell "PC20260819twoITEM_001" [ref=f9e509]
-                    - cell "1000" [ref=f9e512]
-                    - cell "0" [ref=f9e516]
-                    - cell "鍚敤" [ref=f9e520]
-                    - cell [ref=f9e524]
-                    - cell "2026-08-19 10:53:29" [ref=f9e528]
-                  - row "顪� 8 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e532]:
-                    - cell "顪�" [ref=f9e533]
-                    - cell "8" [ref=f9e538]
-                    - cell "PC20260819twoITEM_001" [ref=f9e542]
-                    - cell "1000" [ref=f9e545]
-                    - cell "0" [ref=f9e549]
-                    - cell "鍚敤" [ref=f9e553]
-                    - cell [ref=f9e557]
-                    - cell "2026-08-19 10:53:29" [ref=f9e561]
-                  - row "顪� 7 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e565]:
-                    - cell "顪�" [ref=f9e566]
-                    - cell "7" [ref=f9e571]
-                    - cell "PC20260819twoITEM_001" [ref=f9e575]
-                    - cell "1000" [ref=f9e578]
-                    - cell "0" [ref=f9e582]
-                    - cell "鍚敤" [ref=f9e586]
-                    - cell [ref=f9e590]
-                    - cell "2026-08-19 10:53:29" [ref=f9e594]
-                  - row "顪� 6 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e598]:
-                    - cell "顪�" [ref=f9e599]
-                    - cell "6" [ref=f9e604]
-                    - cell "PC20260819twoITEM_001" [ref=f9e608]
-                    - cell "1000" [ref=f9e611]
-                    - cell "0" [ref=f9e615]
-                    - cell "鍚敤" [ref=f9e619]
-                    - cell [ref=f9e623]
-                    - cell "2026-08-19 10:53:29" [ref=f9e627]
-                  - row "顪� 5 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e631]:
-                    - cell "顪�" [ref=f9e632]
-                    - cell "5" [ref=f9e637]
-                    - cell "PC20260819twoITEM_001" [ref=f9e641]
-                    - cell "1000" [ref=f9e644]
-                    - cell "0" [ref=f9e648]
-                    - cell "鍚敤" [ref=f9e652]
-                    - cell [ref=f9e656]
-                    - cell "2026-08-19 10:53:29" [ref=f9e660]
-                  - row "顪� 4 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e664]:
-                    - cell "顪�" [ref=f9e665]
-                    - cell "4" [ref=f9e670]
-                    - cell "PC20260819twoITEM_001" [ref=f9e674]
-                    - cell "1000" [ref=f9e677]
-                    - cell "0" [ref=f9e681]
-                    - cell "鍚敤" [ref=f9e685]
-                    - cell [ref=f9e689]
-                    - cell "2026-08-19 10:53:29" [ref=f9e693]
-                  - row "顪� 3 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e697]:
-                    - cell "顪�" [ref=f9e698]
-                    - cell "3" [ref=f9e703]
-                    - cell "PC20260819twoITEM_001" [ref=f9e707]
-                    - cell "1000" [ref=f9e710]
-                    - cell "0" [ref=f9e714]
-                    - cell "鍚敤" [ref=f9e718]
-                    - cell [ref=f9e722]
-                    - cell "2026-08-19 10:53:29" [ref=f9e726]
-                  - row "顪� 2 PC20260819twoITEM_001 1000 20 鍚敤 2026-08-19 10:53:29" [ref=f9e730]:
-                    - cell "顪�" [ref=f9e731]
-                    - cell "2" [ref=f9e736]
-                    - cell "PC20260819twoITEM_001" [ref=f9e740]
-                    - cell "1000" [ref=f9e743]
-                    - cell "20" [ref=f9e747]
-                    - cell "鍚敤" [ref=f9e751]
-                    - cell [ref=f9e755]
-                    - cell "2026-08-19 10:53:29" [ref=f9e759]
-                  - row "顪� 1 PC20260819twoITEM_001 1000 40 鍚敤 2026-08-19 10:53:29" [ref=f9e763]:
-                    - cell "顪�" [ref=f9e764]
-                    - cell "1" [ref=f9e769]
-                    - cell "PC20260819twoITEM_001" [ref=f9e773]
-                    - cell "1000" [ref=f9e776]
-                    - cell "40" [ref=f9e780]
-                    - cell "鍚敤" [ref=f9e784]
-                    - cell [ref=f9e788]
-                    - cell "2026-08-19 10:53:29" [ref=f9e792]
-            - generic:
-              - generic [ref=f9e796]:
-                - table [ref=f9e799]:
-                  - rowgroup [ref=f9e811]:
-                    - row [ref=f9e812]:
-                      - columnheader "鎵樼洏鐮�" [ref=f9e813]
-                - table [ref=f9e820]:
-                  - rowgroup [ref=f9e823]:
-                    - row [ref=f9e824]:
-                      - cell "PL-00000001 鏈粦瀹氭壒娆�" [ref=f9e825]:
-                        - generic [ref=f9e827]:
-                          - text: PL-00000001
-                          - generic [ref=f9e828]: 鏈粦瀹氭壒娆�
-                    - row [ref=f9e829]:
-                      - cell "PC20260819twoITEM_001-P10" [ref=f9e830]
-                    - row [ref=f9e833]:
-                      - cell "PC20260819twoITEM_001-P09" [ref=f9e834]
-                    - row [ref=f9e837]:
-                      - cell "PC20260819twoITEM_001-P08" [ref=f9e838]
-                    - row [ref=f9e841]:
-                      - cell "PC20260819twoITEM_001-P07" [ref=f9e842]
-                    - row [ref=f9e845]:
-                      - cell "PC20260819twoITEM_001-P06" [ref=f9e846]
-                    - row [ref=f9e849]:
-                      - cell "PC20260819twoITEM_001-P05" [ref=f9e850]
-                    - row [ref=f9e853]:
-                      - cell "PC20260819twoITEM_001-P04" [ref=f9e854]
-                    - row [ref=f9e857]:
-                      - cell "PC20260819twoITEM_001-P03" [ref=f9e858]
-                    - row [ref=f9e861]:
-                      - cell "PC20260819twoITEM_001-P02" [ref=f9e862]
-                    - row [ref=f9e865]:
-                      - cell "PC20260819twoITEM_001-P01" [ref=f9e866]
-              - generic [ref=f9e869]:
-                - table [ref=f9e872]:
-                  - rowgroup [ref=f9e884]:
-                    - row [ref=f9e885]:
-                      - columnheader "鎿嶄綔" [ref=f9e886]
-                - table [ref=f9e893]:
-                  - rowgroup [ref=f9e896]:
-                    - row [ref=f9e897]:
-                      - cell [ref=f9e898]:
-                        - generic [ref=f9e902]:
-                          - button "鏌ョ湅浜岀淮鐮�" [ref=f9e904] [cursor=pointer]
-                          - button "瀵煎嚭浜岀淮鐮�" [ref=f9e907] [cursor=pointer]
-                          - button "鍒犻櫎" [ref=f9e914] [cursor=pointer]
-                    - row [ref=f9e918]:
-                      - cell [ref=f9e919]:
-                        - generic [ref=f9e923]:
-                          - button "鏌ョ湅浜岀淮鐮�" [ref=f9e925] [cursor=pointer]
-                          - button "瀵煎嚭浜岀淮鐮�" [ref=f9e928] [cursor=pointer]
-                          - button "鍒犻櫎" [ref=f9e935] [cursor=pointer]
-                    - row [ref=f9e939]:
-                      - cell [ref=f9e940]:
-                        - generic [ref=f9e944]:
-                          - button "鏌ョ湅浜岀淮鐮�" [ref=f9e946] [cursor=pointer]
-                          - button "瀵煎嚭浜岀淮鐮�" [ref=f9e949] [cursor=pointer]
-                          - button "鍒犻櫎" [ref=f9e956] [cursor=pointer]
-                    - row [ref=f9e960]:
-                      - cell [ref=f9e961]:
-                        - generic [ref=f9e965]:
-                          - button "鏌ョ湅浜岀淮鐮�" [ref=f9e967] [cursor=pointer]
-                          - button "瀵煎嚭浜岀淮鐮�" [ref=f9e970] [cursor=pointer]
-                          - button "鍒犻櫎" [ref=f9e977] [cursor=pointer]
-                    - row [ref=f9e981]:
-                      - cell [ref=f9e982]:
-                        - generic [ref=f9e986]:
-                          - button "鏌ョ湅浜岀淮鐮�" [ref=f9e988] [cursor=pointer]
-                          - button "瀵煎嚭浜岀淮鐮�" [ref=f9e991] [cursor=pointer]
-                          - button "鍒犻櫎" [ref=f9e998] [cursor=pointer]
-                    - row [ref=f9e1002]:
-                      - cell [ref=f9e1003]:
-                        - generic [ref=f9e1007]:
-                          - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1009] [cursor=pointer]
-                          - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1012] [cursor=pointer]
-                          - button "鍒犻櫎" [ref=f9e1019] [cursor=pointer]
-                    - row [ref=f9e1023]:
-                      - cell [ref=f9e1024]:
-                        - generic [ref=f9e1028]:
-                          - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1030] [cursor=pointer]
-                          - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1033] [cursor=pointer]
-                          - button "鍒犻櫎" [ref=f9e1040] [cursor=pointer]
-                    - row [ref=f9e1044]:
-                      - cell [ref=f9e1045]:
-                        - generic [ref=f9e1049]:
-                          - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1051] [cursor=pointer]
-                          - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1054] [cursor=pointer]
-                          - button "鍒犻櫎" [ref=f9e1061] [cursor=pointer]
-                    - row [ref=f9e1065]:
-                      - cell [ref=f9e1066]:
-                        - generic [ref=f9e1070]:
-                          - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1072] [cursor=pointer]
-                          - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1075] [cursor=pointer]
-                          - button "鍒犻櫎" [ref=f9e1082] [cursor=pointer]
-                    - row [ref=f9e1086]:
-                      - cell [ref=f9e1087]:
-                        - generic [ref=f9e1091]:
-                          - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1093] [cursor=pointer]
-                          - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1096] [cursor=pointer]
-                    - row [ref=f9e1102]:
-                      - cell [ref=f9e1103]:
-                        - generic [ref=f9e1107]:
-                          - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1109] [cursor=pointer]
-                          - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1112] [cursor=pointer]
-          - generic [ref=f9e1124]:
-            - generic [ref=f9e1125]: 鍏� 11 鏉¤褰�
-            - generic [ref=f9e1127] [cursor=pointer]:
-              - generic "20鏉�/椤�" [ref=f9e1128]:
-                - textbox "璇烽�夋嫨" [ref=f9e1129]: 20鏉�/椤�
-              - generic [ref=f9e1130]: 睿�
-            - button "飱�" [ref=f9e1133]
-            - button "顧�" [ref=f9e1135]
-            - button "顫�" [ref=f9e1137]
-            - button "1" [ref=f9e1140] [cursor=pointer]
-            - button "顫�" [ref=f9e1141]
-            - button "顧�" [ref=f9e1143]
-            - button "顦�" [ref=f9e1145]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T09-03-14-535Z.yml b/.playwright-mcp/page-2026-08-28T09-03-14-535Z.yml
deleted file mode 100644
index 989050c..0000000
--- a/.playwright-mcp/page-2026-08-28T09-03-14-535Z.yml
+++ /dev/null
@@ -1,351 +0,0 @@
-- generic [ref=f9e4]:
-  - generic [ref=f9e7]:
-    - complementary [ref=f9e9]:
-      - generic [ref=f9e10]:
-        - generic [ref=f9e11] [cursor=pointer]
-        - link "娴嬭瘯鍏徃鍝堝搱 娴嬭瘯鍏徃鍝堝搱" [ref=f9e16] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "娴嬭瘯鍏徃鍝堝搱" [ref=f9e19]
-          - generic [ref=f9e20]: 娴嬭瘯鍏徃鍝堝搱
-        - menu [ref=f9e23]:
-          - menuitem "棣栭〉" [ref=f9e24] [cursor=pointer]
-          - listitem [ref=f9e29]:
-            - generic [ref=f9e30] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f9e38]:
-            - generic [ref=f9e39] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f9e47]:
-            - generic [ref=f9e48] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f9e54]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f9e55] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f9e60] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f9e66] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f9e73] [cursor=pointer]
-              - menuitem "鐢熶骇绾挎壂鐮佸叆搴�" [ref=f9e80] [cursor=pointer]
-          - listitem [ref=f9e85]:
-            - generic [ref=f9e86] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f9e92]:
-            - generic [ref=f9e93] [cursor=pointer]: 绯荤粺绠$悊
-        - generic [ref=f9e100] [cursor=pointer]
-    - generic [ref=f9e105]:
-      - generic [ref=f9e106]:
-        - banner [ref=f9e107]:
-          - button [ref=f9e108] [cursor=pointer]
-          - button [ref=f9e111] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f9e116]:
-            - list [ref=f9e117]:
-              - listitem [ref=f9e118]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f9e119] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f9e123]
-              - listitem [ref=f9e126]:
-                - link "鎵樼洏鐮佺鐞�" [disabled] [ref=f9e127]
-          - generic [ref=f9e134]:
-            - generic [ref=f9e136] [cursor=pointer]:
-              - generic [ref=f9e140]: 鎼滅储
-              - generic [ref=f9e141]: Ctrl K
-            - button [ref=f9e143] [cursor=pointer]
-            - button "dark" [ref=f9e148] [cursor=pointer]
-            - button [ref=f9e157] [cursor=pointer]
-            - button [ref=f9e163] [cursor=pointer]
-            - button [ref=f9e166] [cursor=pointer]
-            - button [ref=f9e172] [cursor=pointer]:
-              - button [ref=f9e174]
-            - button "宸ヤ綔鍙�" [ref=f9e178] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f9e182] [cursor=pointer]
-        - generic [ref=f9e189]:
-          - generic [ref=f9e190]: 鎵樼洏鐮佺鐞�
-          - generic [ref=f9e211]:
-            - button [ref=f9e212] [cursor=pointer]
-            - generic [ref=f9e219] [cursor=pointer]
-            - generic [ref=f9e223] [cursor=pointer]
-      - main [ref=f9e230]:
-        - generic [ref=f9e235]:
-          - generic [ref=f9e240]:
-            - generic [ref=f9e241]:
-              - generic [ref=f9e242]: 鎵樼洏鐮�
-              - textbox "鎵樼洏鐮�" [ref=f9e248]:
-                - /placeholder: 璇疯緭鍏ユ墭鐩樼爜
-            - generic [ref=f9e250]:
-              - generic [ref=f9e251]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f9e257]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f9e259]:
-              - generic [ref=f9e260]: 鎵樼洏鐘舵��
-              - generic [ref=f9e266] [cursor=pointer]:
-                - combobox "鎵樼洏鐘舵��" [ref=f9e268]
-                - generic: 璇烽�夋嫨鎵樼洏鐘舵��
-            - generic [ref=f9e269]:
-              - generic [ref=f9e270]: 鍒涘缓鏃堕棿
-              - generic [ref=f9e275]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f9e277]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f9e279]:
-                  - img "swap-right" [ref=f9e280]
-                - textbox "缁撴潫鏃堕棿" [ref=f9e284]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f9e285]:
-              - button "閲� 缃�" [ref=f9e286] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f9e288] [cursor=pointer]
-              - generic [ref=f9e290] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f9e297]:
-            - generic [ref=f9e299]:
-              - generic [ref=f9e300]: 鎵樼洏鐮佸垪琛�
-              - generic [ref=f9e304]:
-                - generic [ref=f9e306]:
-                  - button "棰勭敓鎴愪簩缁寸爜" [ref=f9e308] [cursor=pointer]
-                  - button "缁戝畾鎵规" [active] [ref=f9e313] [cursor=pointer]
-                  - button "鎵爜杩芥函" [ref=f9e320] [cursor=pointer]
-                  - button "瀵煎嚭浜岀淮鐮�" [ref=f9e327] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f9e334] [cursor=pointer]
-                - button "顫�" [ref=f9e340] [cursor=pointer]
-              - generic [ref=f9e342]:
-                - button "瞟�" [ref=f9e343] [cursor=pointer]
-                - button "顪�" [ref=f9e345] [cursor=pointer]
-                - button "顦�" [ref=f9e347] [cursor=pointer]
-            - generic [ref=f9e354]:
-              - generic [ref=f9e355]:
-                - table [ref=f9e359]:
-                  - rowgroup [ref=f9e371]:
-                    - row [ref=f9e1147]:
-                      - columnheader "睿�" [ref=f9e1148]:
-                        - generic "鍏ㄩ��/鍙栨秷" [ref=f9e378] [cursor=pointer]: 睿�
-                      - columnheader "鎵樼洏搴忓彿" [ref=f9e381]
-                      - columnheader "鎵规鍙�" [ref=f9e386]
-                      - columnheader "鍙琚嬫暟锛堣/鎵樼洏锛�" [ref=f9e391]
-                      - columnheader "宸茬粦琚嬬爜鏁伴噺" [ref=f9e396]
-                      - columnheader "鎵樼洏鐘舵��" [ref=f9e401]
-                      - columnheader "澶囨敞" [ref=f9e406]
-                      - columnheader "鍒涘缓鏃堕棿" [ref=f9e411]
-                - table [ref=f9e419]:
-                  - rowgroup [ref=f9e431]:
-                    - row "顧� 鏈粦瀹氭壒娆� 100 0 鍚敤 2026-08-28 16:28:05" [ref=f9e1149]:
-                      - cell "顧�" [ref=f9e1150]
-                      - cell [ref=f9e438]
-                      - cell "鏈粦瀹氭壒娆�" [ref=f9e442]
-                      - cell "100" [ref=f9e446]
-                      - cell "0" [ref=f9e450]
-                      - cell "鍚敤" [ref=f9e454]
-                      - cell [ref=f9e458]
-                      - cell "2026-08-28 16:28:05" [ref=f9e462]
-                    - row "顪� 10 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e466]:
-                      - cell "顪�" [ref=f9e467]
-                      - cell "10" [ref=f9e472]
-                      - cell "PC20260819twoITEM_001" [ref=f9e476]
-                      - cell "1000" [ref=f9e479]
-                      - cell "0" [ref=f9e483]
-                      - cell "鍚敤" [ref=f9e487]
-                      - cell [ref=f9e491]
-                      - cell "2026-08-19 10:53:29" [ref=f9e495]
-                    - row "顪� 9 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e499]:
-                      - cell "顪�" [ref=f9e500]
-                      - cell "9" [ref=f9e505]
-                      - cell "PC20260819twoITEM_001" [ref=f9e509]
-                      - cell "1000" [ref=f9e512]
-                      - cell "0" [ref=f9e516]
-                      - cell "鍚敤" [ref=f9e520]
-                      - cell [ref=f9e524]
-                      - cell "2026-08-19 10:53:29" [ref=f9e528]
-                    - row "顪� 8 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e532]:
-                      - cell "顪�" [ref=f9e533]
-                      - cell "8" [ref=f9e538]
-                      - cell "PC20260819twoITEM_001" [ref=f9e542]
-                      - cell "1000" [ref=f9e545]
-                      - cell "0" [ref=f9e549]
-                      - cell "鍚敤" [ref=f9e553]
-                      - cell [ref=f9e557]
-                      - cell "2026-08-19 10:53:29" [ref=f9e561]
-                    - row "顪� 7 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e565]:
-                      - cell "顪�" [ref=f9e566]
-                      - cell "7" [ref=f9e571]
-                      - cell "PC20260819twoITEM_001" [ref=f9e575]
-                      - cell "1000" [ref=f9e578]
-                      - cell "0" [ref=f9e582]
-                      - cell "鍚敤" [ref=f9e586]
-                      - cell [ref=f9e590]
-                      - cell "2026-08-19 10:53:29" [ref=f9e594]
-                    - row "顪� 6 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e598]:
-                      - cell "顪�" [ref=f9e599]
-                      - cell "6" [ref=f9e604]
-                      - cell "PC20260819twoITEM_001" [ref=f9e608]
-                      - cell "1000" [ref=f9e611]
-                      - cell "0" [ref=f9e615]
-                      - cell "鍚敤" [ref=f9e619]
-                      - cell [ref=f9e623]
-                      - cell "2026-08-19 10:53:29" [ref=f9e627]
-                    - row "顪� 5 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e631]:
-                      - cell "顪�" [ref=f9e632]
-                      - cell "5" [ref=f9e637]
-                      - cell "PC20260819twoITEM_001" [ref=f9e641]
-                      - cell "1000" [ref=f9e644]
-                      - cell "0" [ref=f9e648]
-                      - cell "鍚敤" [ref=f9e652]
-                      - cell [ref=f9e656]
-                      - cell "2026-08-19 10:53:29" [ref=f9e660]
-                    - row "顪� 4 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e664]:
-                      - cell "顪�" [ref=f9e665]
-                      - cell "4" [ref=f9e670]
-                      - cell "PC20260819twoITEM_001" [ref=f9e674]
-                      - cell "1000" [ref=f9e677]
-                      - cell "0" [ref=f9e681]
-                      - cell "鍚敤" [ref=f9e685]
-                      - cell [ref=f9e689]
-                      - cell "2026-08-19 10:53:29" [ref=f9e693]
-                    - row "顪� 3 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e697]:
-                      - cell "顪�" [ref=f9e698]
-                      - cell "3" [ref=f9e703]
-                      - cell "PC20260819twoITEM_001" [ref=f9e707]
-                      - cell "1000" [ref=f9e710]
-                      - cell "0" [ref=f9e714]
-                      - cell "鍚敤" [ref=f9e718]
-                      - cell [ref=f9e722]
-                      - cell "2026-08-19 10:53:29" [ref=f9e726]
-                    - row "顪� 2 PC20260819twoITEM_001 1000 20 鍚敤 2026-08-19 10:53:29" [ref=f9e730]:
-                      - cell "顪�" [ref=f9e731]
-                      - cell "2" [ref=f9e736]
-                      - cell "PC20260819twoITEM_001" [ref=f9e740]
-                      - cell "1000" [ref=f9e743]
-                      - cell "20" [ref=f9e747]
-                      - cell "鍚敤" [ref=f9e751]
-                      - cell [ref=f9e755]
-                      - cell "2026-08-19 10:53:29" [ref=f9e759]
-                    - row "顪� 1 PC20260819twoITEM_001 1000 40 鍚敤 2026-08-19 10:53:29" [ref=f9e763]:
-                      - cell "顪�" [ref=f9e764]
-                      - cell "1" [ref=f9e769]
-                      - cell "PC20260819twoITEM_001" [ref=f9e773]
-                      - cell "1000" [ref=f9e776]
-                      - cell "40" [ref=f9e780]
-                      - cell "鍚敤" [ref=f9e784]
-                      - cell [ref=f9e788]
-                      - cell "2026-08-19 10:53:29" [ref=f9e792]
-              - generic:
-                - generic [ref=f9e796]:
-                  - table [ref=f9e799]:
-                    - rowgroup [ref=f9e811]:
-                      - row [ref=f9e812]:
-                        - columnheader "鎵樼洏鐮�" [ref=f9e813]
-                  - table [ref=f9e820]:
-                    - rowgroup [ref=f9e823]:
-                      - row [ref=f9e824]:
-                        - cell "PL-00000001 鏈粦瀹氭壒娆�" [ref=f9e825]:
-                          - generic [ref=f9e827]:
-                            - text: PL-00000001
-                            - generic [ref=f9e828]: 鏈粦瀹氭壒娆�
-                      - row [ref=f9e829]:
-                        - cell "PC20260819twoITEM_001-P10" [ref=f9e830]
-                      - row [ref=f9e833]:
-                        - cell "PC20260819twoITEM_001-P09" [ref=f9e834]
-                      - row [ref=f9e837]:
-                        - cell "PC20260819twoITEM_001-P08" [ref=f9e838]
-                      - row [ref=f9e841]:
-                        - cell "PC20260819twoITEM_001-P07" [ref=f9e842]
-                      - row [ref=f9e845]:
-                        - cell "PC20260819twoITEM_001-P06" [ref=f9e846]
-                      - row [ref=f9e849]:
-                        - cell "PC20260819twoITEM_001-P05" [ref=f9e850]
-                      - row [ref=f9e853]:
-                        - cell "PC20260819twoITEM_001-P04" [ref=f9e854]
-                      - row [ref=f9e857]:
-                        - cell "PC20260819twoITEM_001-P03" [ref=f9e858]
-                      - row [ref=f9e861]:
-                        - cell "PC20260819twoITEM_001-P02" [ref=f9e862]
-                      - row [ref=f9e865]:
-                        - cell "PC20260819twoITEM_001-P01" [ref=f9e866]
-                - generic [ref=f9e869]:
-                  - table [ref=f9e872]:
-                    - rowgroup [ref=f9e884]:
-                      - row [ref=f9e885]:
-                        - columnheader "鎿嶄綔" [ref=f9e886]
-                  - table [ref=f9e893]:
-                    - rowgroup [ref=f9e896]:
-                      - row [ref=f9e897]:
-                        - cell [ref=f9e898]:
-                          - generic [ref=f9e902]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e904] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e907] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e914] [cursor=pointer]
-                      - row [ref=f9e918]:
-                        - cell [ref=f9e919]:
-                          - generic [ref=f9e923]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e925] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e928] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e935] [cursor=pointer]
-                      - row [ref=f9e939]:
-                        - cell [ref=f9e940]:
-                          - generic [ref=f9e944]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e946] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e949] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e956] [cursor=pointer]
-                      - row [ref=f9e960]:
-                        - cell [ref=f9e961]:
-                          - generic [ref=f9e965]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e967] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e970] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e977] [cursor=pointer]
-                      - row [ref=f9e981]:
-                        - cell [ref=f9e982]:
-                          - generic [ref=f9e986]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e988] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e991] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e998] [cursor=pointer]
-                      - row [ref=f9e1002]:
-                        - cell [ref=f9e1003]:
-                          - generic [ref=f9e1007]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1009] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1012] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e1019] [cursor=pointer]
-                      - row [ref=f9e1023]:
-                        - cell [ref=f9e1024]:
-                          - generic [ref=f9e1028]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1030] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1033] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e1040] [cursor=pointer]
-                      - row [ref=f9e1044]:
-                        - cell [ref=f9e1045]:
-                          - generic [ref=f9e1049]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1051] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1054] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e1061] [cursor=pointer]
-                      - row [ref=f9e1065]:
-                        - cell [ref=f9e1066]:
-                          - generic [ref=f9e1070]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1072] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1075] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e1082] [cursor=pointer]
-                      - row [ref=f9e1086]:
-                        - cell [ref=f9e1087]:
-                          - generic [ref=f9e1091]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1093] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1096] [cursor=pointer]
-                      - row [ref=f9e1102]:
-                        - cell [ref=f9e1103]:
-                          - generic [ref=f9e1107]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1109] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1112] [cursor=pointer]
-            - generic [ref=f9e1124]:
-              - generic [ref=f9e1125]: 鍏� 11 鏉¤褰�
-              - generic [ref=f9e1127] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f9e1128]:
-                  - textbox "璇烽�夋嫨" [ref=f9e1129]: 20鏉�/椤�
-                - generic [ref=f9e1130]: 睿�
-              - button "飱�" [ref=f9e1133]
-              - button "顧�" [ref=f9e1135]
-              - button "顫�" [ref=f9e1137]
-              - button "1" [ref=f9e1140] [cursor=pointer]
-              - button "顫�" [ref=f9e1141]
-              - button "顧�" [ref=f9e1143]
-              - button "顦�" [ref=f9e1145]
-  - dialog [ref=f9e1152]:
-    - heading "鎵樼洏鐮佺粦瀹氱敓浜ф壒娆�" [level=2] [ref=f9e1154]
-    - generic [ref=f9e1159]:
-      - generic [ref=f9e1160]:
-        - generic [ref=f9e1161]: "*"
-        - text: 鐢熶骇鎵规
-      - generic [ref=f9e1167]:
-        - combobox "* 鐢熶骇鎵规" [ref=f9e1169]
-        - generic: 璇烽�夋嫨宸茶ˉ褰曚笖鐢熶骇涓殑鎵规
-    - button [ref=f9e1170] [cursor=pointer]
-    - generic [ref=f9e1180]:
-      - button "鍙� 娑�" [ref=f9e1181] [cursor=pointer]
-      - button "纭� 璁�" [ref=f9e1183] [cursor=pointer]
-    - button [ref=f9e1185] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T09-04-30-577Z.yml b/.playwright-mcp/page-2026-08-28T09-04-30-577Z.yml
deleted file mode 100644
index 6b82cb1..0000000
--- a/.playwright-mcp/page-2026-08-28T09-04-30-577Z.yml
+++ /dev/null
@@ -1,354 +0,0 @@
-- generic [ref=f9e4]:
-  - generic [ref=f9e7]:
-    - complementary [ref=f9e9]:
-      - generic [ref=f9e10]:
-        - generic [ref=f9e11] [cursor=pointer]
-        - link "娴嬭瘯鍏徃鍝堝搱 娴嬭瘯鍏徃鍝堝搱" [ref=f9e16] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "娴嬭瘯鍏徃鍝堝搱" [ref=f9e19]
-          - generic [ref=f9e20]: 娴嬭瘯鍏徃鍝堝搱
-        - menu [ref=f9e23]:
-          - menuitem "棣栭〉" [ref=f9e24] [cursor=pointer]
-          - listitem [ref=f9e29]:
-            - generic [ref=f9e30] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f9e38]:
-            - generic [ref=f9e39] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f9e47]:
-            - generic [ref=f9e48] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f9e54]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f9e55] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f9e60] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f9e66] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f9e73] [cursor=pointer]
-              - menuitem "鐢熶骇绾挎壂鐮佸叆搴�" [ref=f9e80] [cursor=pointer]
-          - listitem [ref=f9e85]:
-            - generic [ref=f9e86] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f9e92]:
-            - generic [ref=f9e93] [cursor=pointer]: 绯荤粺绠$悊
-        - generic [ref=f9e100] [cursor=pointer]
-    - generic [ref=f9e105]:
-      - generic [ref=f9e106]:
-        - banner [ref=f9e107]:
-          - button [ref=f9e108] [cursor=pointer]
-          - button [ref=f9e111] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f9e116]:
-            - list [ref=f9e117]:
-              - listitem [ref=f9e118]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f9e119] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f9e123]
-              - listitem [ref=f9e126]:
-                - link "鎵樼洏鐮佺鐞�" [disabled] [ref=f9e127]
-          - generic [ref=f9e134]:
-            - generic [ref=f9e136] [cursor=pointer]:
-              - generic [ref=f9e140]: 鎼滅储
-              - generic [ref=f9e141]: Ctrl K
-            - button [ref=f9e143] [cursor=pointer]
-            - button "dark" [ref=f9e148] [cursor=pointer]
-            - button [ref=f9e157] [cursor=pointer]
-            - button [ref=f9e163] [cursor=pointer]
-            - button [ref=f9e166] [cursor=pointer]
-            - button [ref=f9e172] [cursor=pointer]:
-              - button [ref=f9e174]
-            - button "宸ヤ綔鍙�" [ref=f9e178] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f9e182] [cursor=pointer]
-        - generic [ref=f9e189]:
-          - generic [ref=f9e190]: 鎵樼洏鐮佺鐞�
-          - generic [ref=f9e211]:
-            - button [ref=f9e212] [cursor=pointer]
-            - generic [ref=f9e219] [cursor=pointer]
-            - generic [ref=f9e223] [cursor=pointer]
-      - main [ref=f9e230]:
-        - generic [ref=f9e235]:
-          - generic [ref=f9e240]:
-            - generic [ref=f9e241]:
-              - generic [ref=f9e242]: 鎵樼洏鐮�
-              - textbox "鎵樼洏鐮�" [ref=f9e248]:
-                - /placeholder: 璇疯緭鍏ユ墭鐩樼爜
-            - generic [ref=f9e250]:
-              - generic [ref=f9e251]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f9e257]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f9e259]:
-              - generic [ref=f9e260]: 鎵樼洏鐘舵��
-              - generic [ref=f9e266] [cursor=pointer]:
-                - combobox "鎵樼洏鐘舵��" [ref=f9e268]
-                - generic: 璇烽�夋嫨鎵樼洏鐘舵��
-            - generic [ref=f9e269]:
-              - generic [ref=f9e270]: 鍒涘缓鏃堕棿
-              - generic [ref=f9e275]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f9e277]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f9e279]:
-                  - img "swap-right" [ref=f9e280]
-                - textbox "缁撴潫鏃堕棿" [ref=f9e284]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f9e285]:
-              - button "閲� 缃�" [ref=f9e286] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f9e288] [cursor=pointer]
-              - generic [ref=f9e290] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f9e297]:
-            - generic [ref=f9e299]:
-              - generic [ref=f9e300]: 鎵樼洏鐮佸垪琛�
-              - generic [ref=f9e304]:
-                - generic [ref=f9e306]:
-                  - button "棰勭敓鎴愪簩缁寸爜" [ref=f9e308] [cursor=pointer]
-                  - button "缁戝畾鎵规" [ref=f9e313] [cursor=pointer]
-                  - button "鎵爜杩芥函" [ref=f9e320] [cursor=pointer]
-                  - button "瀵煎嚭浜岀淮鐮�" [ref=f9e327] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f9e334] [cursor=pointer]
-                - button "顫�" [ref=f9e340] [cursor=pointer]
-              - generic [ref=f9e342]:
-                - button "瞟�" [ref=f9e343] [cursor=pointer]
-                - button "顪�" [ref=f9e345] [cursor=pointer]
-                - button "顦�" [ref=f9e347] [cursor=pointer]
-            - generic [ref=f9e354]:
-              - generic [ref=f9e355]:
-                - table [ref=f9e359]:
-                  - rowgroup [ref=f9e371]:
-                    - row [ref=f9e1147]:
-                      - columnheader "睿�" [ref=f9e1148]:
-                        - generic "鍏ㄩ��/鍙栨秷" [ref=f9e378] [cursor=pointer]: 睿�
-                      - columnheader "鎵樼洏搴忓彿" [ref=f9e381]
-                      - columnheader "鎵规鍙�" [ref=f9e386]
-                      - columnheader "鍙琚嬫暟锛堣/鎵樼洏锛�" [ref=f9e391]
-                      - columnheader "宸茬粦琚嬬爜鏁伴噺" [ref=f9e396]
-                      - columnheader "鎵樼洏鐘舵��" [ref=f9e401]
-                      - columnheader "澶囨敞" [ref=f9e406]
-                      - columnheader "鍒涘缓鏃堕棿" [ref=f9e411]
-                - table [ref=f9e419]:
-                  - rowgroup [ref=f9e431]:
-                    - row "顧� 鏈粦瀹氭壒娆� 100 0 鍚敤 2026-08-28 16:28:05" [ref=f9e1149]:
-                      - cell "顧�" [ref=f9e1150]
-                      - cell [ref=f9e438]
-                      - cell "鏈粦瀹氭壒娆�" [ref=f9e442]
-                      - cell "100" [ref=f9e446]
-                      - cell "0" [ref=f9e450]
-                      - cell "鍚敤" [ref=f9e454]
-                      - cell [ref=f9e458]
-                      - cell "2026-08-28 16:28:05" [ref=f9e462]
-                    - row "顪� 10 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e466]:
-                      - cell "顪�" [ref=f9e467]
-                      - cell "10" [ref=f9e472]
-                      - cell "PC20260819twoITEM_001" [ref=f9e476]
-                      - cell "1000" [ref=f9e479]
-                      - cell "0" [ref=f9e483]
-                      - cell "鍚敤" [ref=f9e487]
-                      - cell [ref=f9e491]
-                      - cell "2026-08-19 10:53:29" [ref=f9e495]
-                    - row "顪� 9 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e499]:
-                      - cell "顪�" [ref=f9e500]
-                      - cell "9" [ref=f9e505]
-                      - cell "PC20260819twoITEM_001" [ref=f9e509]
-                      - cell "1000" [ref=f9e512]
-                      - cell "0" [ref=f9e516]
-                      - cell "鍚敤" [ref=f9e520]
-                      - cell [ref=f9e524]
-                      - cell "2026-08-19 10:53:29" [ref=f9e528]
-                    - row "顪� 8 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e532]:
-                      - cell "顪�" [ref=f9e533]
-                      - cell "8" [ref=f9e538]
-                      - cell "PC20260819twoITEM_001" [ref=f9e542]
-                      - cell "1000" [ref=f9e545]
-                      - cell "0" [ref=f9e549]
-                      - cell "鍚敤" [ref=f9e553]
-                      - cell [ref=f9e557]
-                      - cell "2026-08-19 10:53:29" [ref=f9e561]
-                    - row "顪� 7 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e565]:
-                      - cell "顪�" [ref=f9e566]
-                      - cell "7" [ref=f9e571]
-                      - cell "PC20260819twoITEM_001" [ref=f9e575]
-                      - cell "1000" [ref=f9e578]
-                      - cell "0" [ref=f9e582]
-                      - cell "鍚敤" [ref=f9e586]
-                      - cell [ref=f9e590]
-                      - cell "2026-08-19 10:53:29" [ref=f9e594]
-                    - row "顪� 6 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e598]:
-                      - cell "顪�" [ref=f9e599]
-                      - cell "6" [ref=f9e604]
-                      - cell "PC20260819twoITEM_001" [ref=f9e608]
-                      - cell "1000" [ref=f9e611]
-                      - cell "0" [ref=f9e615]
-                      - cell "鍚敤" [ref=f9e619]
-                      - cell [ref=f9e623]
-                      - cell "2026-08-19 10:53:29" [ref=f9e627]
-                    - row "顪� 5 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e631]:
-                      - cell "顪�" [ref=f9e632]
-                      - cell "5" [ref=f9e637]
-                      - cell "PC20260819twoITEM_001" [ref=f9e641]
-                      - cell "1000" [ref=f9e644]
-                      - cell "0" [ref=f9e648]
-                      - cell "鍚敤" [ref=f9e652]
-                      - cell [ref=f9e656]
-                      - cell "2026-08-19 10:53:29" [ref=f9e660]
-                    - row "顪� 4 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e664]:
-                      - cell "顪�" [ref=f9e665]
-                      - cell "4" [ref=f9e670]
-                      - cell "PC20260819twoITEM_001" [ref=f9e674]
-                      - cell "1000" [ref=f9e677]
-                      - cell "0" [ref=f9e681]
-                      - cell "鍚敤" [ref=f9e685]
-                      - cell [ref=f9e689]
-                      - cell "2026-08-19 10:53:29" [ref=f9e693]
-                    - row "顪� 3 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e697]:
-                      - cell "顪�" [ref=f9e698]
-                      - cell "3" [ref=f9e703]
-                      - cell "PC20260819twoITEM_001" [ref=f9e707]
-                      - cell "1000" [ref=f9e710]
-                      - cell "0" [ref=f9e714]
-                      - cell "鍚敤" [ref=f9e718]
-                      - cell [ref=f9e722]
-                      - cell "2026-08-19 10:53:29" [ref=f9e726]
-                    - row "顪� 2 PC20260819twoITEM_001 1000 20 鍚敤 2026-08-19 10:53:29" [ref=f9e730]:
-                      - cell "顪�" [ref=f9e731]
-                      - cell "2" [ref=f9e736]
-                      - cell "PC20260819twoITEM_001" [ref=f9e740]
-                      - cell "1000" [ref=f9e743]
-                      - cell "20" [ref=f9e747]
-                      - cell "鍚敤" [ref=f9e751]
-                      - cell [ref=f9e755]
-                      - cell "2026-08-19 10:53:29" [ref=f9e759]
-                    - row "顪� 1 PC20260819twoITEM_001 1000 40 鍚敤 2026-08-19 10:53:29" [ref=f9e763]:
-                      - cell "顪�" [ref=f9e764]
-                      - cell "1" [ref=f9e769]
-                      - cell "PC20260819twoITEM_001" [ref=f9e773]
-                      - cell "1000" [ref=f9e776]
-                      - cell "40" [ref=f9e780]
-                      - cell "鍚敤" [ref=f9e784]
-                      - cell [ref=f9e788]
-                      - cell "2026-08-19 10:53:29" [ref=f9e792]
-              - generic:
-                - generic [ref=f9e796]:
-                  - table [ref=f9e799]:
-                    - rowgroup [ref=f9e811]:
-                      - row [ref=f9e812]:
-                        - columnheader "鎵樼洏鐮�" [ref=f9e813]
-                  - table [ref=f9e820]:
-                    - rowgroup [ref=f9e823]:
-                      - row [ref=f9e824]:
-                        - cell "PL-00000001 鏈粦瀹氭壒娆�" [ref=f9e825]:
-                          - generic [ref=f9e827]:
-                            - text: PL-00000001
-                            - generic [ref=f9e828]: 鏈粦瀹氭壒娆�
-                      - row [ref=f9e829]:
-                        - cell "PC20260819twoITEM_001-P10" [ref=f9e830]
-                      - row [ref=f9e833]:
-                        - cell "PC20260819twoITEM_001-P09" [ref=f9e834]
-                      - row [ref=f9e837]:
-                        - cell "PC20260819twoITEM_001-P08" [ref=f9e838]
-                      - row [ref=f9e841]:
-                        - cell "PC20260819twoITEM_001-P07" [ref=f9e842]
-                      - row [ref=f9e845]:
-                        - cell "PC20260819twoITEM_001-P06" [ref=f9e846]
-                      - row [ref=f9e849]:
-                        - cell "PC20260819twoITEM_001-P05" [ref=f9e850]
-                      - row [ref=f9e853]:
-                        - cell "PC20260819twoITEM_001-P04" [ref=f9e854]
-                      - row [ref=f9e857]:
-                        - cell "PC20260819twoITEM_001-P03" [ref=f9e858]
-                      - row [ref=f9e861]:
-                        - cell "PC20260819twoITEM_001-P02" [ref=f9e862]
-                      - row [ref=f9e865]:
-                        - cell "PC20260819twoITEM_001-P01" [ref=f9e866]
-                - generic [ref=f9e869]:
-                  - table [ref=f9e872]:
-                    - rowgroup [ref=f9e884]:
-                      - row [ref=f9e885]:
-                        - columnheader "鎿嶄綔" [ref=f9e886]
-                  - table [ref=f9e893]:
-                    - rowgroup [ref=f9e896]:
-                      - row [ref=f9e897]:
-                        - cell [ref=f9e898]:
-                          - generic [ref=f9e902]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e904] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e907] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e914] [cursor=pointer]
-                      - row [ref=f9e918]:
-                        - cell [ref=f9e919]:
-                          - generic [ref=f9e923]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e925] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e928] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e935] [cursor=pointer]
-                      - row [ref=f9e939]:
-                        - cell [ref=f9e940]:
-                          - generic [ref=f9e944]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e946] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e949] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e956] [cursor=pointer]
-                      - row [ref=f9e960]:
-                        - cell [ref=f9e961]:
-                          - generic [ref=f9e965]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e967] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e970] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e977] [cursor=pointer]
-                      - row [ref=f9e981]:
-                        - cell [ref=f9e982]:
-                          - generic [ref=f9e986]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e988] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e991] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e998] [cursor=pointer]
-                      - row [ref=f9e1002]:
-                        - cell [ref=f9e1003]:
-                          - generic [ref=f9e1007]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1009] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1012] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e1019] [cursor=pointer]
-                      - row [ref=f9e1023]:
-                        - cell [ref=f9e1024]:
-                          - generic [ref=f9e1028]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1030] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1033] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e1040] [cursor=pointer]
-                      - row [ref=f9e1044]:
-                        - cell [ref=f9e1045]:
-                          - generic [ref=f9e1049]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1051] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1054] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e1061] [cursor=pointer]
-                      - row [ref=f9e1065]:
-                        - cell [ref=f9e1066]:
-                          - generic [ref=f9e1070]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1072] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1075] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e1082] [cursor=pointer]
-                      - row [ref=f9e1086]:
-                        - cell [ref=f9e1087]:
-                          - generic [ref=f9e1091]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1093] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1096] [cursor=pointer]
-                      - row [ref=f9e1102]:
-                        - cell [ref=f9e1103]:
-                          - generic [ref=f9e1107]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1109] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1112] [cursor=pointer]
-            - generic [ref=f9e1124]:
-              - generic [ref=f9e1125]: 鍏� 11 鏉¤褰�
-              - generic [ref=f9e1127] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f9e1128]:
-                  - textbox "璇烽�夋嫨" [ref=f9e1129]: 20鏉�/椤�
-                - generic [ref=f9e1130]: 睿�
-              - button "飱�" [ref=f9e1133]
-              - button "顧�" [ref=f9e1135]
-              - button "顫�" [ref=f9e1137]
-              - button "1" [ref=f9e1140] [cursor=pointer]
-              - button "顫�" [ref=f9e1141]
-              - button "顧�" [ref=f9e1143]
-              - button "顦�" [ref=f9e1145]
-  - dialog [ref=f9e1152]:
-    - heading "鎵樼洏鐮佺粦瀹氱敓浜ф壒娆�" [level=2] [ref=f9e1154]
-    - generic [ref=f9e1159]:
-      - generic [ref=f9e1160]:
-        - generic [ref=f9e1161]: "*"
-        - text: 鐢熶骇鎵规
-      - generic [ref=f9e1167]:
-        - combobox "* 鐢熶骇鎵规" [expanded] [active] [ref=f9e1169]:
-          - listbox:
-            - option "PC20260828twoITEM_001": "102"
-        - generic: 璇烽�夋嫨宸茶ˉ褰曚笖鐢熶骇涓殑鎵规
-    - button [ref=f9e1170] [cursor=pointer]
-    - generic [ref=f9e1180]:
-      - button "鍙� 娑�" [ref=f9e1181] [cursor=pointer]
-      - button "纭� 璁�" [ref=f9e1183] [cursor=pointer]
-    - button [ref=f9e1185] [cursor=pointer]
-  - generic "PC20260828twoITEM_001" [ref=f9e1195] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T09-04-44-764Z.yml b/.playwright-mcp/page-2026-08-28T09-04-44-764Z.yml
deleted file mode 100644
index 66a5d44..0000000
--- a/.playwright-mcp/page-2026-08-28T09-04-44-764Z.yml
+++ /dev/null
@@ -1,353 +0,0 @@
-- generic [ref=f9e4]:
-  - generic [ref=f9e7]:
-    - complementary [ref=f9e9]:
-      - generic [ref=f9e10]:
-        - generic [ref=f9e11] [cursor=pointer]
-        - link "娴嬭瘯鍏徃鍝堝搱 娴嬭瘯鍏徃鍝堝搱" [ref=f9e16] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "娴嬭瘯鍏徃鍝堝搱" [ref=f9e19]
-          - generic [ref=f9e20]: 娴嬭瘯鍏徃鍝堝搱
-        - menu [ref=f9e23]:
-          - menuitem "棣栭〉" [ref=f9e24] [cursor=pointer]
-          - listitem [ref=f9e29]:
-            - generic [ref=f9e30] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f9e38]:
-            - generic [ref=f9e39] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f9e47]:
-            - generic [ref=f9e48] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f9e54]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f9e55] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f9e60] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f9e66] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f9e73] [cursor=pointer]
-              - menuitem "鐢熶骇绾挎壂鐮佸叆搴�" [ref=f9e80] [cursor=pointer]
-          - listitem [ref=f9e85]:
-            - generic [ref=f9e86] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f9e92]:
-            - generic [ref=f9e93] [cursor=pointer]: 绯荤粺绠$悊
-        - generic [ref=f9e100] [cursor=pointer]
-    - generic [ref=f9e105]:
-      - generic [ref=f9e106]:
-        - banner [ref=f9e107]:
-          - button [ref=f9e108] [cursor=pointer]
-          - button [ref=f9e111] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f9e116]:
-            - list [ref=f9e117]:
-              - listitem [ref=f9e118]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f9e119] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f9e123]
-              - listitem [ref=f9e126]:
-                - link "鎵樼洏鐮佺鐞�" [disabled] [ref=f9e127]
-          - generic [ref=f9e134]:
-            - generic [ref=f9e136] [cursor=pointer]:
-              - generic [ref=f9e140]: 鎼滅储
-              - generic [ref=f9e141]: Ctrl K
-            - button [ref=f9e143] [cursor=pointer]
-            - button "dark" [ref=f9e148] [cursor=pointer]
-            - button [ref=f9e157] [cursor=pointer]
-            - button [ref=f9e163] [cursor=pointer]
-            - button [ref=f9e166] [cursor=pointer]
-            - button [ref=f9e172] [cursor=pointer]:
-              - button [ref=f9e174]
-            - button "宸ヤ綔鍙�" [ref=f9e178] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f9e182] [cursor=pointer]
-        - generic [ref=f9e189]:
-          - generic [ref=f9e190]: 鎵樼洏鐮佺鐞�
-          - generic [ref=f9e211]:
-            - button [ref=f9e212] [cursor=pointer]
-            - generic [ref=f9e219] [cursor=pointer]
-            - generic [ref=f9e223] [cursor=pointer]
-      - main [ref=f9e230]:
-        - generic [ref=f9e235]:
-          - generic [ref=f9e240]:
-            - generic [ref=f9e241]:
-              - generic [ref=f9e242]: 鎵樼洏鐮�
-              - textbox "鎵樼洏鐮�" [ref=f9e248]:
-                - /placeholder: 璇疯緭鍏ユ墭鐩樼爜
-            - generic [ref=f9e250]:
-              - generic [ref=f9e251]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f9e257]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f9e259]:
-              - generic [ref=f9e260]: 鎵樼洏鐘舵��
-              - generic [ref=f9e266] [cursor=pointer]:
-                - combobox "鎵樼洏鐘舵��" [ref=f9e268]
-                - generic: 璇烽�夋嫨鎵樼洏鐘舵��
-            - generic [ref=f9e269]:
-              - generic [ref=f9e270]: 鍒涘缓鏃堕棿
-              - generic [ref=f9e275]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f9e277]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f9e279]:
-                  - img "swap-right" [ref=f9e280]
-                - textbox "缁撴潫鏃堕棿" [ref=f9e284]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f9e285]:
-              - button "閲� 缃�" [ref=f9e286] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f9e288] [cursor=pointer]
-              - generic [ref=f9e290] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f9e297]:
-            - generic [ref=f9e299]:
-              - generic [ref=f9e300]: 鎵樼洏鐮佸垪琛�
-              - generic [ref=f9e304]:
-                - generic [ref=f9e306]:
-                  - button "棰勭敓鎴愪簩缁寸爜" [ref=f9e308] [cursor=pointer]
-                  - button "缁戝畾鎵规" [ref=f9e313] [cursor=pointer]
-                  - button "鎵爜杩芥函" [ref=f9e320] [cursor=pointer]
-                  - button "瀵煎嚭浜岀淮鐮�" [ref=f9e327] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f9e334] [cursor=pointer]
-                - button "顫�" [ref=f9e340] [cursor=pointer]
-              - generic [ref=f9e342]:
-                - button "瞟�" [ref=f9e343] [cursor=pointer]
-                - button "顪�" [ref=f9e345] [cursor=pointer]
-                - button "顦�" [ref=f9e347] [cursor=pointer]
-            - generic [ref=f9e354]:
-              - generic [ref=f9e355]:
-                - table [ref=f9e359]:
-                  - rowgroup [ref=f9e371]:
-                    - row [ref=f9e1147]:
-                      - columnheader "睿�" [ref=f9e1148]:
-                        - generic "鍏ㄩ��/鍙栨秷" [ref=f9e378] [cursor=pointer]: 睿�
-                      - columnheader "鎵樼洏搴忓彿" [ref=f9e381]
-                      - columnheader "鎵规鍙�" [ref=f9e386]
-                      - columnheader "鍙琚嬫暟锛堣/鎵樼洏锛�" [ref=f9e391]
-                      - columnheader "宸茬粦琚嬬爜鏁伴噺" [ref=f9e396]
-                      - columnheader "鎵樼洏鐘舵��" [ref=f9e401]
-                      - columnheader "澶囨敞" [ref=f9e406]
-                      - columnheader "鍒涘缓鏃堕棿" [ref=f9e411]
-                - table [ref=f9e419]:
-                  - rowgroup [ref=f9e431]:
-                    - row "顧� 鏈粦瀹氭壒娆� 100 0 鍚敤 2026-08-28 16:28:05" [ref=f9e1149]:
-                      - cell "顧�" [ref=f9e1150]
-                      - cell [ref=f9e438]
-                      - cell "鏈粦瀹氭壒娆�" [ref=f9e442]
-                      - cell "100" [ref=f9e446]
-                      - cell "0" [ref=f9e450]
-                      - cell "鍚敤" [ref=f9e454]
-                      - cell [ref=f9e458]
-                      - cell "2026-08-28 16:28:05" [ref=f9e462]
-                    - row "顪� 10 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e466]:
-                      - cell "顪�" [ref=f9e467]
-                      - cell "10" [ref=f9e472]
-                      - cell "PC20260819twoITEM_001" [ref=f9e476]
-                      - cell "1000" [ref=f9e479]
-                      - cell "0" [ref=f9e483]
-                      - cell "鍚敤" [ref=f9e487]
-                      - cell [ref=f9e491]
-                      - cell "2026-08-19 10:53:29" [ref=f9e495]
-                    - row "顪� 9 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e499]:
-                      - cell "顪�" [ref=f9e500]
-                      - cell "9" [ref=f9e505]
-                      - cell "PC20260819twoITEM_001" [ref=f9e509]
-                      - cell "1000" [ref=f9e512]
-                      - cell "0" [ref=f9e516]
-                      - cell "鍚敤" [ref=f9e520]
-                      - cell [ref=f9e524]
-                      - cell "2026-08-19 10:53:29" [ref=f9e528]
-                    - row "顪� 8 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e532]:
-                      - cell "顪�" [ref=f9e533]
-                      - cell "8" [ref=f9e538]
-                      - cell "PC20260819twoITEM_001" [ref=f9e542]
-                      - cell "1000" [ref=f9e545]
-                      - cell "0" [ref=f9e549]
-                      - cell "鍚敤" [ref=f9e553]
-                      - cell [ref=f9e557]
-                      - cell "2026-08-19 10:53:29" [ref=f9e561]
-                    - row "顪� 7 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e565]:
-                      - cell "顪�" [ref=f9e566]
-                      - cell "7" [ref=f9e571]
-                      - cell "PC20260819twoITEM_001" [ref=f9e575]
-                      - cell "1000" [ref=f9e578]
-                      - cell "0" [ref=f9e582]
-                      - cell "鍚敤" [ref=f9e586]
-                      - cell [ref=f9e590]
-                      - cell "2026-08-19 10:53:29" [ref=f9e594]
-                    - row "顪� 6 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e598]:
-                      - cell "顪�" [ref=f9e599]
-                      - cell "6" [ref=f9e604]
-                      - cell "PC20260819twoITEM_001" [ref=f9e608]
-                      - cell "1000" [ref=f9e611]
-                      - cell "0" [ref=f9e615]
-                      - cell "鍚敤" [ref=f9e619]
-                      - cell [ref=f9e623]
-                      - cell "2026-08-19 10:53:29" [ref=f9e627]
-                    - row "顪� 5 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e631]:
-                      - cell "顪�" [ref=f9e632]
-                      - cell "5" [ref=f9e637]
-                      - cell "PC20260819twoITEM_001" [ref=f9e641]
-                      - cell "1000" [ref=f9e644]
-                      - cell "0" [ref=f9e648]
-                      - cell "鍚敤" [ref=f9e652]
-                      - cell [ref=f9e656]
-                      - cell "2026-08-19 10:53:29" [ref=f9e660]
-                    - row "顪� 4 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e664]:
-                      - cell "顪�" [ref=f9e665]
-                      - cell "4" [ref=f9e670]
-                      - cell "PC20260819twoITEM_001" [ref=f9e674]
-                      - cell "1000" [ref=f9e677]
-                      - cell "0" [ref=f9e681]
-                      - cell "鍚敤" [ref=f9e685]
-                      - cell [ref=f9e689]
-                      - cell "2026-08-19 10:53:29" [ref=f9e693]
-                    - row "顪� 3 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e697]:
-                      - cell "顪�" [ref=f9e698]
-                      - cell "3" [ref=f9e703]
-                      - cell "PC20260819twoITEM_001" [ref=f9e707]
-                      - cell "1000" [ref=f9e710]
-                      - cell "0" [ref=f9e714]
-                      - cell "鍚敤" [ref=f9e718]
-                      - cell [ref=f9e722]
-                      - cell "2026-08-19 10:53:29" [ref=f9e726]
-                    - row "顪� 2 PC20260819twoITEM_001 1000 20 鍚敤 2026-08-19 10:53:29" [ref=f9e730]:
-                      - cell "顪�" [ref=f9e731]
-                      - cell "2" [ref=f9e736]
-                      - cell "PC20260819twoITEM_001" [ref=f9e740]
-                      - cell "1000" [ref=f9e743]
-                      - cell "20" [ref=f9e747]
-                      - cell "鍚敤" [ref=f9e751]
-                      - cell [ref=f9e755]
-                      - cell "2026-08-19 10:53:29" [ref=f9e759]
-                    - row "顪� 1 PC20260819twoITEM_001 1000 40 鍚敤 2026-08-19 10:53:29" [ref=f9e763]:
-                      - cell "顪�" [ref=f9e764]
-                      - cell "1" [ref=f9e769]
-                      - cell "PC20260819twoITEM_001" [ref=f9e773]
-                      - cell "1000" [ref=f9e776]
-                      - cell "40" [ref=f9e780]
-                      - cell "鍚敤" [ref=f9e784]
-                      - cell [ref=f9e788]
-                      - cell "2026-08-19 10:53:29" [ref=f9e792]
-              - generic:
-                - generic [ref=f9e796]:
-                  - table [ref=f9e799]:
-                    - rowgroup [ref=f9e811]:
-                      - row [ref=f9e812]:
-                        - columnheader "鎵樼洏鐮�" [ref=f9e813]
-                  - table [ref=f9e820]:
-                    - rowgroup [ref=f9e823]:
-                      - row [ref=f9e824]:
-                        - cell "PL-00000001 鏈粦瀹氭壒娆�" [ref=f9e825]:
-                          - generic [ref=f9e827]:
-                            - text: PL-00000001
-                            - generic [ref=f9e828]: 鏈粦瀹氭壒娆�
-                      - row [ref=f9e829]:
-                        - cell "PC20260819twoITEM_001-P10" [ref=f9e830]
-                      - row [ref=f9e833]:
-                        - cell "PC20260819twoITEM_001-P09" [ref=f9e834]
-                      - row [ref=f9e837]:
-                        - cell "PC20260819twoITEM_001-P08" [ref=f9e838]
-                      - row [ref=f9e841]:
-                        - cell "PC20260819twoITEM_001-P07" [ref=f9e842]
-                      - row [ref=f9e845]:
-                        - cell "PC20260819twoITEM_001-P06" [ref=f9e846]
-                      - row [ref=f9e849]:
-                        - cell "PC20260819twoITEM_001-P05" [ref=f9e850]
-                      - row [ref=f9e853]:
-                        - cell "PC20260819twoITEM_001-P04" [ref=f9e854]
-                      - row [ref=f9e857]:
-                        - cell "PC20260819twoITEM_001-P03" [ref=f9e858]
-                      - row [ref=f9e861]:
-                        - cell "PC20260819twoITEM_001-P02" [ref=f9e862]
-                      - row [ref=f9e865]:
-                        - cell "PC20260819twoITEM_001-P01" [ref=f9e866]
-                - generic [ref=f9e869]:
-                  - table [ref=f9e872]:
-                    - rowgroup [ref=f9e884]:
-                      - row [ref=f9e885]:
-                        - columnheader "鎿嶄綔" [ref=f9e886]
-                  - table [ref=f9e893]:
-                    - rowgroup [ref=f9e896]:
-                      - row [ref=f9e897]:
-                        - cell [ref=f9e898]:
-                          - generic [ref=f9e902]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e904] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e907] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e914] [cursor=pointer]
-                      - row [ref=f9e918]:
-                        - cell [ref=f9e919]:
-                          - generic [ref=f9e923]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e925] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e928] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e935] [cursor=pointer]
-                      - row [ref=f9e939]:
-                        - cell [ref=f9e940]:
-                          - generic [ref=f9e944]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e946] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e949] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e956] [cursor=pointer]
-                      - row [ref=f9e960]:
-                        - cell [ref=f9e961]:
-                          - generic [ref=f9e965]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e967] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e970] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e977] [cursor=pointer]
-                      - row [ref=f9e981]:
-                        - cell [ref=f9e982]:
-                          - generic [ref=f9e986]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e988] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e991] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e998] [cursor=pointer]
-                      - row [ref=f9e1002]:
-                        - cell [ref=f9e1003]:
-                          - generic [ref=f9e1007]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1009] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1012] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e1019] [cursor=pointer]
-                      - row [ref=f9e1023]:
-                        - cell [ref=f9e1024]:
-                          - generic [ref=f9e1028]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1030] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1033] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e1040] [cursor=pointer]
-                      - row [ref=f9e1044]:
-                        - cell [ref=f9e1045]:
-                          - generic [ref=f9e1049]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1051] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1054] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e1061] [cursor=pointer]
-                      - row [ref=f9e1065]:
-                        - cell [ref=f9e1066]:
-                          - generic [ref=f9e1070]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1072] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1075] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e1082] [cursor=pointer]
-                      - row [ref=f9e1086]:
-                        - cell [ref=f9e1087]:
-                          - generic [ref=f9e1091]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1093] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1096] [cursor=pointer]
-                      - row [ref=f9e1102]:
-                        - cell [ref=f9e1103]:
-                          - generic [ref=f9e1107]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1109] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1112] [cursor=pointer]
-            - generic [ref=f9e1124]:
-              - generic [ref=f9e1125]: 鍏� 11 鏉¤褰�
-              - generic [ref=f9e1127] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f9e1128]:
-                  - textbox "璇烽�夋嫨" [ref=f9e1129]: 20鏉�/椤�
-                - generic [ref=f9e1130]: 睿�
-              - button "飱�" [ref=f9e1133]
-              - button "顧�" [ref=f9e1135]
-              - button "顫�" [ref=f9e1137]
-              - button "1" [ref=f9e1140] [cursor=pointer]
-              - button "顫�" [ref=f9e1141]
-              - button "顧�" [ref=f9e1143]
-              - button "顦�" [ref=f9e1145]
-  - dialog [ref=f9e1152]:
-    - heading "鎵樼洏鐮佺粦瀹氱敓浜ф壒娆�" [level=2] [ref=f9e1154]
-    - generic [ref=f9e1159]:
-      - generic [ref=f9e1160]:
-        - generic [ref=f9e1161]: "*"
-        - text: 鐢熶骇鎵规
-      - generic [ref=f9e1166] [cursor=pointer]:
-        - generic: PC20260828twoITEM_001
-        - generic [ref=f9e1167]:
-          - combobox "* 鐢熶骇鎵规" [active] [ref=f9e1169]
-          - generic "PC20260828twoITEM_001" [ref=f9e1197]
-    - button [ref=f9e1170] [cursor=pointer]
-    - generic [ref=f9e1180]:
-      - button "鍙� 娑�" [ref=f9e1181] [cursor=pointer]
-      - button "纭� 璁�" [ref=f9e1183] [cursor=pointer]
-    - button [ref=f9e1185] [cursor=pointer]
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-08-28T09-04-52-568Z.yml b/.playwright-mcp/page-2026-08-28T09-04-52-568Z.yml
deleted file mode 100644
index e065646..0000000
--- a/.playwright-mcp/page-2026-08-28T09-04-52-568Z.yml
+++ /dev/null
@@ -1,337 +0,0 @@
-- generic [ref=f9e4]:
-  - generic [ref=f9e7]:
-    - complementary [ref=f9e9]:
-      - generic [ref=f9e10]:
-        - generic [ref=f9e11] [cursor=pointer]
-        - link "娴嬭瘯鍏徃鍝堝搱 娴嬭瘯鍏徃鍝堝搱" [ref=f9e16] [cursor=pointer]:
-          - /url: javascript:void 0
-          - img "娴嬭瘯鍏徃鍝堝搱" [ref=f9e19]
-          - generic [ref=f9e20]: 娴嬭瘯鍏徃鍝堝搱
-        - menu [ref=f9e23]:
-          - menuitem "棣栭〉" [ref=f9e24] [cursor=pointer]
-          - listitem [ref=f9e29]:
-            - generic [ref=f9e30] [cursor=pointer]: 鍩虹鏁版嵁
-          - listitem [ref=f9e38]:
-            - generic [ref=f9e39] [cursor=pointer]: 浠撳偍鐗╂祦
-          - listitem [ref=f9e47]:
-            - generic [ref=f9e48] [cursor=pointer]: 涓�琚嬩竴鐮佺鐞�
-            - list [ref=f9e54]:
-              - menuitem "鎵规鐢熶骇绠$悊" [ref=f9e55] [cursor=pointer]
-              - menuitem "璧嬬爜绠$悊" [ref=f9e60] [cursor=pointer]
-              - menuitem "鎵樼洏鐮佺鐞�" [ref=f9e66] [cursor=pointer]
-              - menuitem "浜х嚎缁存姢" [ref=f9e73] [cursor=pointer]
-              - menuitem "鐢熶骇绾挎壂鐮佸叆搴�" [ref=f9e80] [cursor=pointer]
-          - listitem [ref=f9e85]:
-            - generic [ref=f9e86] [cursor=pointer]: 璐ㄩ噺绠$悊
-          - listitem [ref=f9e92]:
-            - generic [ref=f9e93] [cursor=pointer]: 绯荤粺绠$悊
-        - generic [ref=f9e100] [cursor=pointer]
-    - generic [ref=f9e105]:
-      - generic [ref=f9e106]:
-        - banner [ref=f9e107]:
-          - button [ref=f9e108] [cursor=pointer]
-          - button [ref=f9e111] [cursor=pointer]
-          - navigation "breadcrumb" [ref=f9e116]:
-            - list [ref=f9e117]:
-              - listitem [ref=f9e118]:
-                - link "涓�琚嬩竴鐮佺鐞�" [ref=f9e119] [cursor=pointer]:
-                  - /url: javascript:void 0
-                - listitem [ref=f9e123]
-              - listitem [ref=f9e126]:
-                - link "鎵樼洏鐮佺鐞�" [disabled] [ref=f9e127]
-          - generic [ref=f9e134]:
-            - generic [ref=f9e136] [cursor=pointer]:
-              - generic [ref=f9e140]: 鎼滅储
-              - generic [ref=f9e141]: Ctrl K
-            - button [ref=f9e143] [cursor=pointer]
-            - button "dark" [ref=f9e148] [cursor=pointer]
-            - button [ref=f9e157] [cursor=pointer]
-            - button [ref=f9e163] [cursor=pointer]
-            - button [ref=f9e166] [cursor=pointer]
-            - button [ref=f9e172] [cursor=pointer]:
-              - button [ref=f9e174]
-            - button "宸ヤ綔鍙�" [ref=f9e178] [cursor=pointer]
-            - button "鐞嗗憳" [ref=f9e182] [cursor=pointer]
-        - generic [ref=f9e189]:
-          - generic [ref=f9e190]: 鎵樼洏鐮佺鐞�
-          - generic [ref=f9e211]:
-            - button [ref=f9e212] [cursor=pointer]
-            - generic [ref=f9e219] [cursor=pointer]
-            - generic [ref=f9e223] [cursor=pointer]
-      - main [ref=f9e230]:
-        - generic [ref=f9e235]:
-          - generic [ref=f9e240]:
-            - generic [ref=f9e241]:
-              - generic [ref=f9e242]: 鎵樼洏鐮�
-              - textbox "鎵樼洏鐮�" [ref=f9e248]:
-                - /placeholder: 璇疯緭鍏ユ墭鐩樼爜
-            - generic [ref=f9e250]:
-              - generic [ref=f9e251]: 鎵规鍙�
-              - textbox "鎵规鍙�" [ref=f9e257]:
-                - /placeholder: 璇疯緭鍏ユ壒娆″彿
-            - generic [ref=f9e259]:
-              - generic [ref=f9e260]: 鎵樼洏鐘舵��
-              - generic [ref=f9e266] [cursor=pointer]:
-                - combobox "鎵樼洏鐘舵��" [ref=f9e268]
-                - generic: 璇烽�夋嫨鎵樼洏鐘舵��
-            - generic [ref=f9e269]:
-              - generic [ref=f9e270]: 鍒涘缓鏃堕棿
-              - generic [ref=f9e275]:
-                - textbox "鍒涘缓鏃堕棿" [ref=f9e277]:
-                  - /placeholder: 寮�濮嬫椂闂�
-                - generic "to" [ref=f9e279]:
-                  - img "swap-right" [ref=f9e280]
-                - textbox "缁撴潫鏃堕棿" [ref=f9e284]
-                - generic:
-                  - img "calendar"
-            - generic [ref=f9e285]:
-              - button "閲� 缃�" [ref=f9e286] [cursor=pointer]
-              - button "鎼� 绱�" [ref=f9e288] [cursor=pointer]
-              - generic [ref=f9e290] [cursor=pointer]: 鏀惰捣
-          - generic [ref=f9e297]:
-            - generic [ref=f9e299]:
-              - generic [ref=f9e300]: 鎵樼洏鐮佸垪琛�
-              - generic [ref=f9e304]:
-                - generic [ref=f9e306]:
-                  - button "棰勭敓鎴愪簩缁寸爜" [ref=f9e308] [cursor=pointer]
-                  - button "缁戝畾鎵规" [active] [ref=f9e313] [cursor=pointer]
-                  - button "鎵爜杩芥函" [ref=f9e320] [cursor=pointer]
-                  - button "瀵煎嚭浜岀淮鐮�" [ref=f9e327] [cursor=pointer]
-                  - button "瀵煎嚭" [ref=f9e334] [cursor=pointer]
-                - button "顫�" [ref=f9e340] [cursor=pointer]
-              - generic [ref=f9e342]:
-                - button "瞟�" [ref=f9e343] [cursor=pointer]
-                - button "顪�" [ref=f9e345] [cursor=pointer]
-                - button "顦�" [ref=f9e347] [cursor=pointer]
-            - generic [ref=f9e354]:
-              - generic [ref=f9e355]:
-                - table [ref=f9e359]:
-                  - rowgroup [ref=f9e371]:
-                    - row [ref=f9e1147]:
-                      - columnheader "睿�" [ref=f9e1148]:
-                        - generic "鍏ㄩ��/鍙栨秷" [ref=f9e378] [cursor=pointer]: 睿�
-                      - columnheader "鎵樼洏搴忓彿" [ref=f9e381]
-                      - columnheader "鎵规鍙�" [ref=f9e386]
-                      - columnheader "鍙琚嬫暟锛堣/鎵樼洏锛�" [ref=f9e391]
-                      - columnheader "宸茬粦琚嬬爜鏁伴噺" [ref=f9e396]
-                      - columnheader "鎵樼洏鐘舵��" [ref=f9e401]
-                      - columnheader "澶囨敞" [ref=f9e406]
-                      - columnheader "鍒涘缓鏃堕棿" [ref=f9e411]
-                - table [ref=f9e419]:
-                  - rowgroup [ref=f9e431]:
-                    - row "顧� 1 PC20260828twoITEM_001 100 0 鍚敤 2026-08-28 16:28:05" [ref=f9e1198]:
-                      - cell "顧�" [ref=f9e1150]
-                      - cell "1" [ref=f9e1199]
-                      - cell "PC20260828twoITEM_001" [ref=f9e1200]
-                      - cell "100" [ref=f9e446]
-                      - cell "0" [ref=f9e450]
-                      - cell "鍚敤" [ref=f9e454]
-                      - cell [ref=f9e458]
-                      - cell "2026-08-28 16:28:05" [ref=f9e462]
-                    - row "顪� 10 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e466]:
-                      - cell "顪�" [ref=f9e467]
-                      - cell "10" [ref=f9e472]
-                      - cell "PC20260819twoITEM_001" [ref=f9e476]
-                      - cell "1000" [ref=f9e479]
-                      - cell "0" [ref=f9e483]
-                      - cell "鍚敤" [ref=f9e487]
-                      - cell [ref=f9e491]
-                      - cell "2026-08-19 10:53:29" [ref=f9e495]
-                    - row "顪� 9 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e499]:
-                      - cell "顪�" [ref=f9e500]
-                      - cell "9" [ref=f9e505]
-                      - cell "PC20260819twoITEM_001" [ref=f9e509]
-                      - cell "1000" [ref=f9e512]
-                      - cell "0" [ref=f9e516]
-                      - cell "鍚敤" [ref=f9e520]
-                      - cell [ref=f9e524]
-                      - cell "2026-08-19 10:53:29" [ref=f9e528]
-                    - row "顪� 8 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e532]:
-                      - cell "顪�" [ref=f9e533]
-                      - cell "8" [ref=f9e538]
-                      - cell "PC20260819twoITEM_001" [ref=f9e542]
-                      - cell "1000" [ref=f9e545]
-                      - cell "0" [ref=f9e549]
-                      - cell "鍚敤" [ref=f9e553]
-                      - cell [ref=f9e557]
-                      - cell "2026-08-19 10:53:29" [ref=f9e561]
-                    - row "顪� 7 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e565]:
-                      - cell "顪�" [ref=f9e566]
-                      - cell "7" [ref=f9e571]
-                      - cell "PC20260819twoITEM_001" [ref=f9e575]
-                      - cell "1000" [ref=f9e578]
-                      - cell "0" [ref=f9e582]
-                      - cell "鍚敤" [ref=f9e586]
-                      - cell [ref=f9e590]
-                      - cell "2026-08-19 10:53:29" [ref=f9e594]
-                    - row "顪� 6 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e598]:
-                      - cell "顪�" [ref=f9e599]
-                      - cell "6" [ref=f9e604]
-                      - cell "PC20260819twoITEM_001" [ref=f9e608]
-                      - cell "1000" [ref=f9e611]
-                      - cell "0" [ref=f9e615]
-                      - cell "鍚敤" [ref=f9e619]
-                      - cell [ref=f9e623]
-                      - cell "2026-08-19 10:53:29" [ref=f9e627]
-                    - row "顪� 5 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e631]:
-                      - cell "顪�" [ref=f9e632]
-                      - cell "5" [ref=f9e637]
-                      - cell "PC20260819twoITEM_001" [ref=f9e641]
-                      - cell "1000" [ref=f9e644]
-                      - cell "0" [ref=f9e648]
-                      - cell "鍚敤" [ref=f9e652]
-                      - cell [ref=f9e656]
-                      - cell "2026-08-19 10:53:29" [ref=f9e660]
-                    - row "顪� 4 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e664]:
-                      - cell "顪�" [ref=f9e665]
-                      - cell "4" [ref=f9e670]
-                      - cell "PC20260819twoITEM_001" [ref=f9e674]
-                      - cell "1000" [ref=f9e677]
-                      - cell "0" [ref=f9e681]
-                      - cell "鍚敤" [ref=f9e685]
-                      - cell [ref=f9e689]
-                      - cell "2026-08-19 10:53:29" [ref=f9e693]
-                    - row "顪� 3 PC20260819twoITEM_001 1000 0 鍚敤 2026-08-19 10:53:29" [ref=f9e697]:
-                      - cell "顪�" [ref=f9e698]
-                      - cell "3" [ref=f9e703]
-                      - cell "PC20260819twoITEM_001" [ref=f9e707]
-                      - cell "1000" [ref=f9e710]
-                      - cell "0" [ref=f9e714]
-                      - cell "鍚敤" [ref=f9e718]
-                      - cell [ref=f9e722]
-                      - cell "2026-08-19 10:53:29" [ref=f9e726]
-                    - row "顪� 2 PC20260819twoITEM_001 1000 20 鍚敤 2026-08-19 10:53:29" [ref=f9e730]:
-                      - cell "顪�" [ref=f9e731]
-                      - cell "2" [ref=f9e736]
-                      - cell "PC20260819twoITEM_001" [ref=f9e740]
-                      - cell "1000" [ref=f9e743]
-                      - cell "20" [ref=f9e747]
-                      - cell "鍚敤" [ref=f9e751]
-                      - cell [ref=f9e755]
-                      - cell "2026-08-19 10:53:29" [ref=f9e759]
-                    - row "顪� 1 PC20260819twoITEM_001 1000 40 鍚敤 2026-08-19 10:53:29" [ref=f9e763]:
-                      - cell "顪�" [ref=f9e764]
-                      - cell "1" [ref=f9e769]
-                      - cell "PC20260819twoITEM_001" [ref=f9e773]
-                      - cell "1000" [ref=f9e776]
-                      - cell "40" [ref=f9e780]
-                      - cell "鍚敤" [ref=f9e784]
-                      - cell [ref=f9e788]
-                      - cell "2026-08-19 10:53:29" [ref=f9e792]
-              - generic:
-                - generic [ref=f9e796]:
-                  - table [ref=f9e799]:
-                    - rowgroup [ref=f9e811]:
-                      - row [ref=f9e812]:
-                        - columnheader "鎵樼洏鐮�" [ref=f9e813]
-                  - table [ref=f9e820]:
-                    - rowgroup [ref=f9e823]:
-                      - row [ref=f9e1201]:
-                        - cell "PC20260828twoITEM_001-P01" [ref=f9e1202]
-                      - row [ref=f9e829]:
-                        - cell "PC20260819twoITEM_001-P10" [ref=f9e830]
-                      - row [ref=f9e833]:
-                        - cell "PC20260819twoITEM_001-P09" [ref=f9e834]
-                      - row [ref=f9e837]:
-                        - cell "PC20260819twoITEM_001-P08" [ref=f9e838]
-                      - row [ref=f9e841]:
-                        - cell "PC20260819twoITEM_001-P07" [ref=f9e842]
-                      - row [ref=f9e845]:
-                        - cell "PC20260819twoITEM_001-P06" [ref=f9e846]
-                      - row [ref=f9e849]:
-                        - cell "PC20260819twoITEM_001-P05" [ref=f9e850]
-                      - row [ref=f9e853]:
-                        - cell "PC20260819twoITEM_001-P04" [ref=f9e854]
-                      - row [ref=f9e857]:
-                        - cell "PC20260819twoITEM_001-P03" [ref=f9e858]
-                      - row [ref=f9e861]:
-                        - cell "PC20260819twoITEM_001-P02" [ref=f9e862]
-                      - row [ref=f9e865]:
-                        - cell "PC20260819twoITEM_001-P01" [ref=f9e866]
-                - generic [ref=f9e869]:
-                  - table [ref=f9e872]:
-                    - rowgroup [ref=f9e884]:
-                      - row [ref=f9e885]:
-                        - columnheader "鎿嶄綔" [ref=f9e886]
-                  - table [ref=f9e893]:
-                    - rowgroup [ref=f9e896]:
-                      - row [ref=f9e897]:
-                        - cell [ref=f9e898]:
-                          - generic [ref=f9e902]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e904] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e907] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e914] [cursor=pointer]
-                      - row [ref=f9e918]:
-                        - cell [ref=f9e919]:
-                          - generic [ref=f9e923]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e925] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e928] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e935] [cursor=pointer]
-                      - row [ref=f9e939]:
-                        - cell [ref=f9e940]:
-                          - generic [ref=f9e944]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e946] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e949] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e956] [cursor=pointer]
-                      - row [ref=f9e960]:
-                        - cell [ref=f9e961]:
-                          - generic [ref=f9e965]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e967] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e970] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e977] [cursor=pointer]
-                      - row [ref=f9e981]:
-                        - cell [ref=f9e982]:
-                          - generic [ref=f9e986]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e988] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e991] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e998] [cursor=pointer]
-                      - row [ref=f9e1002]:
-                        - cell [ref=f9e1003]:
-                          - generic [ref=f9e1007]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1009] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1012] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e1019] [cursor=pointer]
-                      - row [ref=f9e1023]:
-                        - cell [ref=f9e1024]:
-                          - generic [ref=f9e1028]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1030] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1033] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e1040] [cursor=pointer]
-                      - row [ref=f9e1044]:
-                        - cell [ref=f9e1045]:
-                          - generic [ref=f9e1049]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1051] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1054] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e1061] [cursor=pointer]
-                      - row [ref=f9e1065]:
-                        - cell [ref=f9e1066]:
-                          - generic [ref=f9e1070]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1072] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1075] [cursor=pointer]
-                            - button "鍒犻櫎" [ref=f9e1082] [cursor=pointer]
-                      - row [ref=f9e1086]:
-                        - cell [ref=f9e1087]:
-                          - generic [ref=f9e1091]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1093] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1096] [cursor=pointer]
-                      - row [ref=f9e1102]:
-                        - cell [ref=f9e1103]:
-                          - generic [ref=f9e1107]:
-                            - button "鏌ョ湅浜岀淮鐮�" [ref=f9e1109] [cursor=pointer]
-                            - button "瀵煎嚭浜岀淮鐮�" [ref=f9e1112] [cursor=pointer]
-            - generic [ref=f9e1124]:
-              - generic [ref=f9e1125]: 鍏� 11 鏉¤褰�
-              - generic [ref=f9e1127] [cursor=pointer]:
-                - generic "20鏉�/椤�" [ref=f9e1128]:
-                  - textbox "璇烽�夋嫨" [ref=f9e1129]: 20鏉�/椤�
-                - generic [ref=f9e1130]: 睿�
-              - button "飱�" [ref=f9e1133]
-              - button "顧�" [ref=f9e1135]
-              - button "顫�" [ref=f9e1137]
-              - button "1" [ref=f9e1140] [cursor=pointer]
-              - button "顫�" [ref=f9e1141]
-              - button "顧�" [ref=f9e1143]
-              - button "顦�" [ref=f9e1145]
-  - generic [ref=f9e1204]:
-    - img "check-circle" [ref=f9e1205]
-    - text: 鎿嶄綔鎴愬姛
\ No newline at end of file
diff --git a/docs/anti_cross_region_integrity_integration.md b/docs/anti_cross_region_integrity_integration.md
new file mode 100644
index 0000000..81a17f7
--- /dev/null
+++ b/docs/anti_cross_region_integrity_integration.md
@@ -0,0 +1,157 @@
+# 闃蹭吉闃茬獪璐х鐞� - 鍓嶇鑱旇皟鏂规
+
+## 娑夊強椤甸潰
+
+- 绐滆揣棰勮绠$悊椤碉紙鏂板鑿滃崟锛氶槻浼槻绐滆揣绠$悊 鈫� 绐滆揣棰勮锛�
+- 鎵爜鍦扮悊鍒嗗竷椤碉紙澶嶇敤娑堣垂鑰呮壂鐮佺粺璁℃帴鍙o級
+- 鏁版嵁瀹屾暣鎬ф牎楠岄〉锛堟柊澧炶彍鍗曪細闃蹭吉闃茬獪璐х鐞� 鈫� 鏁版嵁瀹屾暣鎬ф牎楠岋級
+- 娑堣垂鑰呮函婧� H5 椤甸潰锛堟鍝侀獙璇佷俊鎭睍绀哄寮猴級
+
+## 涓氬姟娴佺▼涓庢暟鎹甫鍏�
+
+1. **绐滆揣棰勮鐨勪骇鐢�**锛氭秷璐硅�呮壂鐮佹函婧愭垚鍔熷悗锛屽悗绔嚜鍔ㄦ瘮瀵广�屾壂鐮� IP 褰掑睘鍦般�嶄笌銆岃鐮佸嚭搴撶粡閿�鍟嗗湴鍖恒�嶏紱涓嶄竴鑷存椂鑷姩鐢熸垚棰勮璁板綍銆傞璀︽棤闇�鍓嶇瑙﹀彂锛屽彧闇�鎻愪緵鏌ヨ銆佸鐞嗐�佺粺璁″叆鍙c��
+2. **棰勮 鈫� 鏄庣粏**锛氱獪璐ч璀﹀垎椤靛垪琛ㄤ腑锛屽彲鏌ョ湅棰勮娑夊強鐨勮鐮�/鎵樼洏鐮併�佹壒娆″彿銆佺粡閿�鍟嗐�佹壂鐮佸湴鍖恒�侀璀︾被鍨嬩笌鐘舵�併��
+3. **瀹屾暣鎬ф牎楠岀殑鍏ュ彛**锛氭暟鎹畬鏁存�ф牎楠岄〉杈撳叆銆屼笟鍔$被鍨� + 涓氬姟缂栧彿銆嶅彂璧锋牎楠屻�備笟鍔$紪鍙峰彲浠庡搴斾笟鍔″垪琛紙鎵规 / 鍑哄簱鍗� / 鎵爜浜嬩欢锛夊甫鍏ワ紝閬垮厤鎵嬪伐濉啓銆�
+4. **H5 姝e搧楠岃瘉**锛氭函婧愭帴鍙e搷搴旀柊澧� `antiFake` 鍖哄潡锛屽睍绀鸿杩芥函鐮佺疮璁℃壂鐮佹鏁般�侀娆�/鏈�杩戞壂鐮佹椂闂达紝甯姪娑堣垂鑰呰瘑鍒澶氭鎵弿鐨勭枒浼煎鍒剁爜銆�
+
+## API
+
+### 1. 绐滆揣棰勮
+
+| 鏂规硶 | 璺緞 | 璇存槑 | 鏉冮檺 |
+|------|------|------|------|
+| GET | `/mes/trace-cross-region/page` | 绐滆揣棰勮鍒嗛〉 | `mes:trace-cross-region:query` |
+| PUT | `/mes/trace-cross-region/handle` | 澶勭悊棰勮锛堝凡澶勭悊/璇姤锛� | `mes:trace-cross-region:handle` |
+| GET | `/mes/trace-cross-region/summary` | 棰勮姹囨�伙紙鎬绘暟/寰呭鐞�/璺ㄧ渷/璺ㄥ競锛� | `mes:trace-cross-region:query` |
+| GET | `/mes/trace-cross-region/statistics` | 棰勮鍒嗗竷缁熻锛堟寜鐪佷唤/缁忛攢鍟�/鐗╂枡绛夊垎缁勶級 | `mes:trace-cross-region:query` |
+| GET | `/mes/trace-cross-region/config` | 鏌ヨ鍒ゅ畾瑙勫垯閰嶇疆 | `mes:trace-cross-region:query` |
+| PUT | `/mes/trace-cross-region/config` | 鏇存柊鍒ゅ畾瑙勫垯锛堢渷/甯傜矑搴﹀垏鎹級 | `mes:trace-cross-region:handle` |
+
+**GET /page 璇锋眰鍙傛暟锛�**
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| status | Integer | 鍚� | 鐘舵�侊細10 寰呭鐞� / 20 宸插鐞� / 30 璇姤 |
+| warningType | String | 鍚� | 棰勮绫诲瀷锛欳ROSS_PROVINCE / CROSS_CITY |
+| batchId | Long | 鍚� | 鎵规缂栧彿 |
+| batchCode | String | 鍚� | 鎵规鍙凤紙妯$硦锛� |
+| bagCode | String | 鍚� | 琚嬬爜锛堟ā绯婏級 |
+| clientId | Long | 鍚� | 缁忛攢鍟嗙紪鍙� |
+| clientName | String | 鍚� | 缁忛攢鍟嗗悕绉帮紙妯$硦锛� |
+| eventTime[] | LocalDateTime[] | 鍚� | 棰勮浜х敓鏃堕棿鑼冨洿 |
+| pageNo / pageSize | - | 鍚� | 鍒嗛〉鍙傛暟 |
+
+**GET /page 鍝嶅簲瀛楁锛�**
+
+| 瀛楁 | 绫诲瀷 | 璇存槑 |
+|------|------|------|
+| warningNo | String | 棰勮缂栧彿 |
+| bagCode / palletCode | String | 琚嬬爜 / 鎵樼洏鐮� |
+| batchCode | String | 鎵规鍙� |
+| itemName | String | 鐗╂枡鍚嶇О |
+| salesCode | String | 鍑哄簱鍗曞彿 |
+| clientName | String | 缁忛攢鍟嗗悕绉� |
+| dealerProvince / dealerCity | String | 缁忛攢鍟嗙渷浠� / 鍩庡競 |
+| scanProvince / scanCity | String | 鎵爜鐪佷唤 / 鍩庡競 |
+| warningType / warningTypeName | String | 棰勮绫诲瀷 / 绫诲瀷鍚嶇О |
+| status / statusName | Integer / String | 鐘舵�� / 鐘舵�佸悕绉� |
+| handleRemark | String | 澶勭悊澶囨敞 |
+| handleUserName | String | 澶勭悊浜哄鍚� |
+| handleTime / eventTime | LocalDateTime | 澶勭悊鏃堕棿 / 棰勮浜х敓鏃堕棿 |
+
+**PUT /handle 璇锋眰浣擄細**
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| id | Long | 鏄� | 棰勮缂栧彿 |
+| status | Integer | 鏄� | 澶勭悊鐘舵�侊細20 宸插鐞� / 30 璇姤 |
+| handleRemark | String | 鍚� | 澶勭悊澶囨敞 |
+
+**GET /summary 璇锋眰鍙傛暟锛�** `startTime`銆乣endTime`锛堝彲閫夛紝LocalDateTime锛屾牸寮� `yyyy-MM-dd HH:mm:ss`锛�
+
+**GET /summary 鍝嶅簲瀛楁锛�**
+
+| 瀛楁 | 绫诲瀷 | 璇存槑 |
+|------|------|------|
+| total / pending / handled / falseAlarm | Long | 鎬绘暟 / 寰呭鐞� / 宸插鐞� / 璇姤 |
+| crossProvince / crossCity | Long | 璺ㄧ渷棰勮鏁� / 璺ㄥ競棰勮鏁� |
+
+**GET /statistics 璇锋眰鍙傛暟锛�**
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| groupBy | String | 鏄� | 鍒嗙粍缁村害锛歴canProvince / scanCity / clientId / itemId / batchId |
+| startTime / endTime | LocalDateTime | 鍚� | 鏃堕棿鑼冨洿 |
+
+**GET /statistics 鍝嶅簲瀛楁锛�** `name`锛堝垎缁勫悕锛夈�乣count`锛堟暟閲忥級锛屾寜鏁伴噺鍊掑簭銆�
+
+**GET /config 鍝嶅簲瀛楁锛�** `warningLevel`锛圥ROVINCE 璺ㄧ渷 / CITY 璺ㄥ競锛夈�乣remark`銆�
+
+**PUT /config 璇锋眰鍙傛暟锛�** `warningLevel`锛堝繀濉紝浠呮敮鎸� PROVINCE / CITY锛夈��
+
+### 2. 鏁版嵁瀹屾暣鎬ф牎楠�
+
+| 鏂规硶 | 璺緞 | 璇存槑 | 鏉冮檺 |
+|------|------|------|------|
+| GET | `/mes/trace-integrity/verify` | 鏍¢獙鏁版嵁瀹屾暣鎬э紙閲嶇畻鎽樿姣斿锛� | `mes:trace-integrity:verify` |
+| GET | `/mes/trace-integrity/page` | 瀹屾暣鎬ц褰曞垎椤� | `mes:trace-integrity:query` |
+
+**GET /verify 璇锋眰鍙傛暟锛�**
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| bizType | String | 鏄� | 涓氬姟绫诲瀷锛欱ATCH 鎵规 / SALES 閿�鍞嚭搴� / SCAN 娑堣垂鑰呮壂鐮� |
+| bizId | Long | 鏄� | 涓氬姟璁板綍缂栧彿 |
+
+**GET /verify 鍝嶅簲瀛楁锛�**
+
+| 瀛楁 | 绫诲瀷 | 璇存槑 |
+|------|------|------|
+| bizType / bizId / bizCode | - | 涓氬姟绫诲瀷 / 缂栧彿 / 缂栫爜 |
+| matched | Boolean | 鏄惁鏍¢獙閫氳繃 |
+| storedHash | String | 瀛樺偍鐨勬憳瑕� SHA-256 |
+| currentHash | String | 褰撳墠鏁版嵁閲嶇畻鎽樿 SHA-256 |
+| bagSetHash | String | 浠� BATCH 鏍¢獙杩斿洖锛氭壒娆″綋鍓嶈鐮侀泦鍚堟憳瑕侊紙渚涗汉宸ユ瘮瀵硅鐮侀槻绡℃敼锛� |
+| message | String | 鏍¢獙璇存槑 |
+
+**GET /page 璇锋眰鍙傛暟锛�** `bizType`銆乣bizId`銆乣bizCode`锛堝潎鍙�夛級銆�
+
+**GET /page 鍝嶅簲瀛楁锛�** `id`銆乣bizType`銆乣bizId`銆乣bizCode`銆乣contentHash`銆乣eventTime`銆�
+
+### 3. 娑堣垂鑰呮函婧� H5 鍝嶅簲鏂板鍖哄潡
+
+婧簮鎺ュ彛锛坄/public/mes/trace/query`锛夊搷搴旀柊澧� `antiFake` 鍖哄潡锛堟湁鎵爜璁板綍鎵嶈繑鍥烇級锛�
+
+| 瀛楁 | 绫诲瀷 | 璇存槑 |
+|------|------|------|
+| antiFake.scanCount | Long | 璇ヨ拷婧爜绱鎵爜娆℃暟 |
+| antiFake.firstScanTime | LocalDateTime | 棣栨鎵爜鏃堕棿 |
+| antiFake.lastScanTime | LocalDateTime | 鏈�杩戞壂鐮佹椂闂� |
+
+## 瀛楁灞曠ず瑙勫垯
+
+| 瀛楁 | 灞曠ず浣嶇疆 | 璇存槑 |
+|------|----------|------|
+| 棰勮绫诲瀷 | 绐滆揣棰勮鍒楄〃銆佽鎯� | CROSS_PROVINCE=璺ㄧ渷 / CROSS_CITY=璺ㄥ競 |
+| 鐘舵�� | 绐滆揣棰勮鍒楄〃銆佽鎯� | 寰呭鐞� / 宸插鐞� / 璇姤锛屽垪琛ㄥ缓璁寜鐘舵�佺潃鑹� |
+| 缁忛攢鍟� vs 鎵爜鍦板尯 | 绐滆揣棰勮璇︽儏 | 涓ゅ垪瀵规瘮灞曠ず锛屽紓甯稿瓧娈甸珮浜� |
+| 澶勭悊澶囨敞 | 绐滆揣棰勮璇︽儏 | 澶勭悊鏃跺彲濉啓 |
+| matched | 鏁版嵁瀹屾暣鎬ф牎楠岄〉 | 鏍¢獙缁撴灉锛岄�氳繃鏄剧ず缁胯壊銆佷笉閫氳繃鏄剧ず绾㈣壊骞剁粰鍑轰袱涓憳瑕佸�� |
+
+## 涓氬姟瑙勫垯璇存槑
+
+| 鍦烘櫙 | 瑙勫垯 |
+|------|------|
+| 鍒ゅ畾绮掑害 | 绠$悊绔彲鍦� `PROVINCE`锛堣法鐪侊級涓� `CITY`锛堣法甯傦級闂村垏鎹紱`CITY` 绮掑害涓嬭嫢鎵爜甯備笌缁忛攢鍟嗗競閮戒负绌哄垯閫�鍥炵渷绾у垽鏂� |
+| 涓嶄骇鐢熼璀︾殑鎯呭喌 | 鎵规鐮佸叆鍙f壂鐮併�佹壂鐮佹棤鍦板尯锛圛P 瑙f瀽澶辫触锛夈�佽鐮佹湭鍑哄簱銆佺粡閿�鍟嗘棤鍦板尯淇℃伅 |
+| 棰勮澶勭悊 | 浠呫�屽緟澶勭悊銆嶇姸鎬佸彲澶勭悊涓恒�屽凡澶勭悊銆嶆垨銆岃鎶ャ�嶏紱澶勭悊鍚庝笉鍙啀娆″鐞� |
+| 瀹屾暣鎬ц鐩栬寖鍥� | 鍙牎楠屼笉鍙彉鏍稿績瀛楁锛屾甯镐笟鍔℃祦杞紙鑽夌鈫掔敓浜т腑鈫掑畬鎴愩�佸嚭搴撳悗鐘舵�佹洿鏂帮級涓嶄細瀵艰嚧鏍¢獙璇姤 |
+| 鏈敓鎴愭憳瑕� | 鑻ヤ笟鍔℃暟鎹湭鐢熸垚杩囨憳瑕侊紙濡傚巻鍙叉暟鎹級锛宍verify` 杩斿洖"鏁版嵁瀹屾暣鎬ц褰曚笉瀛樺湪"閿欒鐮� |
+
+## 娉ㄦ剰浜嬮」
+
+- 绐滆揣棰勮鍒嗛〉鐨� `eventTime` 浼犱袱涓�硷紙`eventTime[0]` 璧枫�乣eventTime[1]` 姝級琛ㄧず鏃堕棿鑼冨洿銆�
+- `statistics` 鐨� `groupBy` 鍙兘浼犵櫧鍚嶅崟鍐呯殑缁村害锛屼紶鍏朵粬鍊煎悗绔細鎷掔粷銆�
+- 鏁版嵁瀹屾暣鎬ф牎楠岀殑涓氬姟缂栧彿寤鸿浠庡搴斿垪琛ㄥ甫鍏ワ紝SCAN 绫诲瀷鐨� bizId 涓烘秷璐硅�呮壂鐮佷簨浠朵富閿紝鍙湪鎵爜缁熻璁板綍涓煡鐪嬨��
+- 娑堣垂鑰� H5 绔� `antiFake` 鍖哄潡鏃犳壂鐮佽褰曟椂涓嶈繑鍥炶瀛楁锛屽墠绔渶鍋氱┖鍊煎厹搴曘��
+- 绐滆揣棰勮銆佸畬鏁存�ф牎楠岃彍鍗曢渶鍚庣鎵ц鑿滃崟 SQL 鍚庢墠浼氬湪绠$悊鍚庡彴鍙銆�
diff --git a/docs/consumer_trace_scan_statistics_api.md b/docs/consumer_trace_scan_statistics_api.md
new file mode 100644
index 0000000..7c7b87f
--- /dev/null
+++ b/docs/consumer_trace_scan_statistics_api.md
@@ -0,0 +1,111 @@
+# 娑堣垂鑰呮壂鐮佽闂簨浠朵笌缁熻 - 鍓嶇鑱旇皟鏂规
+
+## 娑夊強椤甸潰
+
+- H5 娑堣垂鑰呮函婧愭煡璇㈤〉锛堜粎鐢卞悗绔嚜鍔ㄨ褰曡闂簨浠讹級
+- MES 绠$悊绔秷璐硅�呮壂鐮佽闂粺璁¢〉
+
+## 涓氬姟娴佺▼涓庢暟鎹甫鍏�
+
+1. 娑堣垂鑰呰闂� H5 婧簮鏌ヨ鎺ュ彛鏃讹紝鍚庣浣跨敤鍘熷鎵爜鍐呭瑙f瀽杩芥函鐮併��
+2. 鏌ヨ鎴愬姛鍚庤褰曞叆鍙g被鍨嬪拰鐢熶骇鎵规缂栧彿锛涙煡璇㈠け璐ユ椂璁板綍澶辫触浜嬩欢鍙婂け璐ョ紪鐮併��
+3. 浜嬩欢璁板綍澶辫触涓嶄細褰卞搷 H5 婧簮鏌ヨ缁撴灉銆�
+4. 绠$悊绔粺璁℃帴鍙f寜璁块棶鏃堕棿绛涢�夛紱鍒嗗竷鎺ュ彛浠呮敮鎸� `sourceType`銆乣success`銆乣channel`銆乣province`銆乣city`銆乣batchId` 鍏釜鍥哄畾缁村害锛屼笉鍏佽浼犲叆浠绘剰鏁版嵁搴撳瓧娈点��
+5. `channel` 鏍规嵁 User-Agent 褰掔被涓哄井淇°�佹敮浠樺疂鎴栨祻瑙堝櫒锛沗province`銆乣city` 鏍规嵁瀹㈡埛绔� IP 褰掑睘鍦拌В鏋愶紝瑙f瀽涓嶅埌鏃跺睍绀衡�滄湭鐭モ�濄��
+
+## API
+
+### H5 婧簮鏌ヨ锛堝凡鏈夋帴鍙o紝鏂板浜嬩欢璁板綍锛�
+
+| 鏂规硶 | 璺緞 | 璇存槑 |
+|---|---|---|
+| GET | `/public/mes/trace/query` | 鏌ヨ杩芥函淇℃伅锛屽悓鏃惰褰曟垚鍔熸垨澶辫触璁块棶浜嬩欢 |
+
+璇锋眰鍙傛暟 `code` 涓鸿拷婧爜鎴栧寘鍚� `code` 鍙傛暟鐨勪簩缁寸爜 URL銆備簨浠惰褰曞け璐ユ椂鎺ュ彛浠嶆寜鍘熸湁瑙勫垯杩斿洖鏌ヨ缁撴灉鎴栦笟鍔¢敊璇��
+
+### 绠$悊绔眹鎬�
+
+| 鏂规硶 | 璺緞 | 鏉冮檺 |
+|---|---|---|
+| GET | `/mes/trace-consumer-scan/summary` | `mes:trace-consumer-scan:query` |
+
+鍙�夊弬鏁帮細`startTime`銆乣endTime`锛屾牸寮忎负 `yyyy-MM-dd HH:mm:ss`锛岀粺璁¤寖鍥翠负寮�濮嬫椂闂达紙鍚級鑷崇粨鏉熸椂闂达紙涓嶅惈锛夈��
+
+鍝嶅簲瀛楁锛歚total` 鎬昏闂鏁般�乣success` 鎴愬姛娆℃暟銆乣failed` 澶辫触娆℃暟銆乣uniqueBatchCount` 鏃堕棿鑼冨洿鍐� `batch_id` 闈炵┖鐨勫幓閲嶆壒娆℃暟閲忋�傝鍙e緞涓� `batchId` 鍒嗗竷涓殑闈炩�滄湭鐭モ�濆垎缁勬暟閲忎竴鑷淬��
+
+### 绠$悊绔秼鍔�
+
+| 鏂规硶 | 璺緞 | 鏉冮檺 |
+|---|---|---|
+| GET | `/mes/trace-consumer-scan/trend` | `mes:trace-consumer-scan:query` |
+
+鍙�夊弬鏁板悓姹囨�汇�傚搷搴斾负鏁扮粍锛屽瓧娈靛寘鎷� `date`銆乣total`銆乣success`銆乣failed`銆�
+
+### 绠$悊绔垎甯�
+
+| 鏂规硶 | 璺緞 | 鏉冮檺 |
+|---|---|---|
+| GET | `/mes/trace-consumer-scan/distribution` | `mes:trace-consumer-scan:query` |
+
+璇锋眰鍙傛暟锛�
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 鍏佽鍊� | 璇存槑 |
+|---|---|---|---|---|
+| `groupBy` | String | 鏄� | `sourceType`銆乣success`銆乣channel`銆乣province`銆乣city`銆乣batchId` | 鍒嗙粍缁村害锛涘悗绔噰鐢ㄥ浐瀹氱櫧鍚嶅崟鏄犲皠锛岄潪娉曞�兼嫆缁� |
+| `startTime` | DateTime | 鍚� | `yyyy-MM-dd HH:mm:ss` | 寮�濮嬫椂闂达紙鍚級 |
+| `endTime` | DateTime | 鍚� | `yyyy-MM-dd HH:mm:ss` | 缁撴潫鏃堕棿锛堜笉鍚級 |
+
+鍝嶅簲鏁扮粍瀛楁锛歚name` 鍒嗙粍鍚嶇О銆乣count` 璁块棶娆℃暟銆傜┖鍊煎垎缁勫悕绉拌繑鍥炩�滄湭鐭モ�濄��
+
+## 瀛楁灞曠ず瑙勫垯
+
+| 瀛楁 | 灞曠ず浣嶇疆 | 璇存槑 |
+|---|---|---|
+| `total`銆乣success`銆乣failed`銆乣uniqueBatchCount` | 姹囨�诲崱鐗� | 灞曠ず璁块棶鎬婚噺銆佹垚鍔�/澶辫触閲忓強闈炵┖鎵规鍘婚噸鏁伴噺 |
+| `date`銆乣total`銆乣success`銆乣failed` | 瓒嬪娍鍥� | 鍚庣宸茶ˉ榻愭煡璇㈠尯闂村唴鏃犳暟鎹棩鏈燂紝鏁板�间负 0 |
+| `name`銆乣count` | 鍒嗗竷鍥�/琛ㄦ牸 | 鏍规嵁閫夋嫨鐨勫浐瀹氬垎缁勭淮搴﹀睍绀� |
+
+## 涓氬姟瑙勫垯璇存槑
+
+| 鍦烘櫙 | 瑙勫垯 |
+|---|---|
+| 鎴愬姛鏌ヨ | 璁板綍 `success=1`銆佸叆鍙g被鍨嬨�佹笭閬撱�佺渷浠姐�佸煄甯傚強鎵规缂栧彿 |
+| 杩芥函鐮佷负绌烘垨涓嶅瓨鍦� | 璁板綍 `success=0` 鍜屽け璐ョ紪鐮� |
+| 璁板綍浜嬩欢寮傚父 | 浠呰褰曞悗绔棩蹇楋紝涓嶆敼鍙樻函婧愭帴鍙h繑鍥炵粨鏋� |
+| IP 涓� User-Agent | IP 涓� User-Agent 浠呬繚瀛� SHA-256 鎽樿锛涙笭閬撱�佺渷浠姐�佸煄甯傚彧淇濆瓨褰掔被/褰掑睘鍦板悕绉� |
+| 鍒嗙粍鍙傛暟 | 鍚庣鍙帴鍙楀浐瀹氱櫧鍚嶅崟鍊硷紝闈炴硶鍊艰繑鍥炲弬鏁伴敊璇� |
+
+## 鍓嶇椤甸潰鎺ュ叆
+
+### 鑿滃崟涓庤矾鐢�
+
+- 鑿滃崟宸插垵濮嬪寲锛坄sql/mysql/mes_trace_consumer_scan_menu.sql`锛夛紝鎸傚湪 MES 绯荤粺(5100) 涓嬶紝椤甸潰璺緞 `mes/trace-consumer-scan/index`锛岀粍浠跺悕寤鸿 `MesTraceConsumerScan`銆�
+- 椤甸潰鏌ヨ鏉冮檺鏍囪瘑锛歚mes:trace-consumer-scan:query`銆傜櫥褰曠敤鎴烽渶琚巿浜堣鏉冮檺鎵嶈兘鐪嬪埌鑿滃崟骞惰皟鐢ㄦ帴鍙c��
+- 缁熻鎺ュ彛缁熶竴璺緞鍓嶇紑 `/mes/trace-consumer-scan`锛屽叡涓変釜锛歚/summary`銆乣/trend`銆乣/distribution`銆�
+
+### 椤甸潰鍖哄潡寤鸿
+
+| 鍖哄潡 | 鏁版嵁鏉ユ簮 | 灞曠ず寤鸿 |
+|---|---|---|
+| 姹囨�诲崱鐗� | `/summary` | 鎬昏闂�佹垚鍔熴�佸け璐ャ�侀潪绌烘壒娆″幓閲嶆暟 |
+| 瓒嬪娍鍥� | `/trend` | 鎸夋棩鎶樼嚎/鏌辩姸锛屽睍绀烘�婚噺涓庢垚鍔�/澶辫触锛涘悗绔凡琛ラ綈鏃犳暟鎹棩鏈熶负 0 |
+| 鍒嗗竷鍥� | `/distribution` | 鎸� `sourceType/success/channel/province/city/batchId` 鍒囨崲鍒嗙粍锛屽睍绀哄悕绉颁笌璁块棶閲� |
+
+### 鏃堕棿鑼冨洿浜や簰
+
+- 涓変釜鎺ュ彛鍧囧彲閫変紶 `startTime`/`endTime`锛堟牸寮� `yyyy-MM-dd HH:mm:ss`锛夛紝鑼冨洿宸﹂棴鍙冲紑銆�
+- 椤甸潰鎻愪緵榛樿鏃堕棿鑼冨洿锛堝杩� 30 澶╋級锛岀敱鍓嶇鍦ㄨ姹傛椂浼犲叆锛涗笉浼犲垯鍚庣鎸夊凡鏈夋暟鎹尯闂寸粺璁°��
+
+### 绌烘暟鎹鐞�
+
+- `trend` 绌烘暟鎹椂杩斿洖琛� 0 鐨勬棩鏈熷簭鍒楋紝鍓嶇鐩存帴娓叉煋鍗冲彲銆�
+- `distribution` 绌烘暟鎹椂杩斿洖绌烘暟缁勶紝椤甸潰灞曠ず"鏆傛棤鎵爜鏁版嵁"銆�
+- `province`/`city` 瑙f瀽涓嶅埌鏃跺垎缁勫悕涓�"鏈煡"銆�
+
+## 娉ㄦ剰浜嬮」
+
+- 闇�瑕佸厛鎵ц `sql/mysql/mes_trace_consumer_scan_event.sql` 鍒涘缓浜嬩欢琛ㄣ��
+- 闇�瑕佹墽琛� `sql/mysql/mes_trace_consumer_scan_menu.sql` 鍒濆鍖栬彍鍗曟潈闄愶紙鑻ヤ娇鐢� `ruoyi-vue-pro` 绛夊叾瀹冨簱锛屾敞鎰忓悓姝ヨ〃缁撴瀯锛夈��
+- 绠$悊绔〉闈㈤渶瑕佹牴鎹潈闄愭帶鍒惰彍鍗曞拰鎺ュ彛璁块棶銆�
+- 缁熻鎺ュ彛鐨勬椂闂村弬鏁板簲浣跨敤鍚庣绾﹀畾鏍煎紡锛岀粨鏉熸椂闂翠笉鍖呭惈杈圭晫鏃跺埢銆�
+- 涓嶉渶瑕佹柊澧炲墠绔笂浼犳垨浜嬩欢鍐欏叆鎺ュ彛銆�
diff --git a/docs/qr_trace_modal_url_integration.md b/docs/qr_trace_modal_url_integration.md
new file mode 100644
index 0000000..0d25c73
--- /dev/null
+++ b/docs/qr_trace_modal_url_integration.md
@@ -0,0 +1,65 @@
+# 绠$悊绔�屾煡鐪嬩簩缁寸爜銆嶉瑙堢粺涓�涓� H5 閾炬帴 - 鍓嶇鑱旇皟鏂规
+
+## 鑳屾櫙
+
+绠$悊绔壒娆�/琚嬬爜/鎵樼洏椤甸潰鐨勩�屾煡鐪嬩簩缁寸爜銆嶅脊绐楋紝浜岀淮鐮侀瑙堟鍓嶇洿鎺ョ敤**鐮佸�肩紪鍙�**锛堝 `PB-00000102`銆乣BAG-00000102`锛夌敓鎴愶紝鑰屾墦鍗�/瀵煎嚭鏍囩鐨勪簩缁寸爜鍐呭鏄� **H5 婧簮閾炬帴**锛坄http://host:port/trace.html?code=xxx`锛夈�備袱鑰呬笉涓�鑷达紝瀵艰嚧鎵爜鏁堟灉涓嶅悓锛屾槗閫犳垚璇В銆�
+
+鏈鏀瑰姩璁╃鐞嗙銆屾煡鐪嬩簩缁寸爜銆嶉瑙�/涓嬭浇鐨勪簩缁寸爜鍐呭涓庢墦鍗版爣绛惧畬鍏ㄤ竴鑷达紙鍧囦负 H5 閾炬帴锛夈��
+
+## 娑夊強椤甸潰
+
+- 鐢熶骇鎵规绠$悊锛堟壒娆°�屾煡鐪嬩簩缁寸爜銆嶏級
+- 琚嬬爜绠$悊锛堣鐮併�屾煡鐪嬩簩缁寸爜銆嶏級
+- 鎵樼洏绠$悊锛堟墭鐩樸�屾煡鐪嬩簩缁寸爜銆嶏級
+
+浠ヤ笂涓夊鍏辩敤缁勪欢 `src/views/mes/pro/components/qr-trace-modal.vue`锛屼粎闇�鏀瑰姩璇ュ叡浜粍浠朵竴娆°��
+
+## API
+
+| 鏂规硶 | 璺緞 | 璇存槑 |
+|------|------|------|
+| GET | /admin-api/mes/trace-config/qr-config | 鑾峰緱婧簮 H5 椤甸潰鍩虹鍦板潃锛堜簩缁寸爜鍐呭鍓嶇紑锛� |
+
+**璇锋眰鍙傛暟锛�** 鏃狅紙鐧诲綍鎬佸嵆鍙闂級
+
+**鍝嶅簲绀轰緥锛�**
+
+```json
+{
+  "code": 0,
+  "data": {
+    "traceBaseUrl": "http://192.168.0.10:48080/trace.html"
+  },
+  "msg": ""
+}
+```
+
+**瀛楁璇存槑锛�**
+
+| 瀛楁 | 绫诲瀷 | 璇存槑 |
+|------|------|------|
+| traceBaseUrl | String | 婧簮 H5 椤甸潰鍩虹鍦板潃锛屽搴斿悗绔厤缃� `mes.trace-base-url`锛涗负绌烘椂鍓嶇浜岀淮鐮佸洖閫�涓虹函鐮佸�� |
+
+## 鍓嶇淇敼鐐�
+
+### 1. 鏂板 API 妯″潡
+
+鏂板 `src/api/mes/trace/config.ts`锛屽皝瑁� `getQrConfig()` 璋冪敤 `/mes/trace-config/qr-config`銆�
+
+### 2. 鍏变韩缁勪欢 qr-trace-modal.vue
+
+- 寮圭獥鎵撳紑鏃舵媺鍙栦竴娆� `traceBaseUrl`锛堜細璇濆唴缂撳瓨锛岄伩鍏嶉噸澶嶈姹傦級銆�
+- 浜岀淮鐮佸睍绀哄唴瀹圭敱銆岀爜鍊肩紪鍙枫�嶆敼涓恒�孒5 閾炬帴銆嶏細`traceBaseUrl + "?code=" + encodeURIComponent(鐮佸��)`銆�
+- 涓嬭浇 / 鎵撳嵃浜岀淮鐮佷娇鐢ㄤ簩缁寸爜鍥剧墖 base64锛屽唴瀹归殢涔嬪彉涓� H5 閾炬帴锛屼笌鍚庣 `QrCodeImageUtils` 瀵煎嚭鐨勬爣绛句竴鑷淬��
+- 杈撳叆妗嗗弽鏌ュ吋瀹癸細鎵弿鏋壂鍒版墦鍗版爣绛剧殑瀹屾暣 H5 閾炬帴鏃讹紝鑷姩浠庨摼鎺ヤ腑鎻愬彇 `code` 鍙傛暟鍐嶈繘琛岃拷婧煡璇紱鐩存帴杈撳叆鐮佸�肩紪鍙峰悓鏍峰彲鐢ㄣ��
+- `traceBaseUrl` 涓虹┖锛堟湭閰嶇疆 `mes.trace-base-url` 鐨勭幆澧冿級鏃讹紝浜岀淮鐮佸洖閫�涓虹函鐮佸�硷紝琛屼负涓庡悗绔竴鑷达紝涓嶆姤閿欍��
+
+## 鏁版嵁甯﹀叆璇存槑
+
+- 銆屾煡鐪嬩簩缁寸爜銆嶅叆鍙f部鐢ㄧ幇鏈夐�昏緫锛氭壒娆$敤 `code`锛堟寮忔壒娆″彿锛変紭鍏堛�佸叾娆� `tempCode`锛涜鐮�/鎵樼洏鐮佸悓鐞嗐�傚脊绐楀唴灞曠ず鐨勮拷婧俊鎭粛鎸夌爜鍊肩紪鍙锋煡璇紝浜岀淮鐮佸睍绀哄唴瀹规墠鎷兼帴涓� H5 閾炬帴銆�
+
+## 娉ㄦ剰浜嬮」
+
+1. 鍚庣闇�**閲嶆柊缂栬瘧骞堕噸鍚�**鍚庢墠鎻愪緵鏂版帴鍙� `/mes/trace-config/qr-config`锛涢噸鍚墠鍓嶇璋冪敤杩斿洖 404锛宍traceBaseUrl` 涓虹┖锛屼簩缁寸爜浠嶆樉绀虹函鐮佸�硷紙闄嶇骇鍙敤锛屼笉褰卞搷鍘熸湁鍙嶆煡鍔熻兘锛夈��
+2. 浜岀淮鐮佸唴瀹圭殑 H5 閾炬帴涓� `mes.trace-base-url` 閰嶇疆寮虹浉鍏筹紝涓嶅悓鐜锛坙ocal/test/鐢熶骇锛夊湴鍧�涓嶅悓锛屽墠绔笉纭紪鐮併��
+3. 浜岀淮鐮侀珮瀹归敊绾у埆銆佸昂瀵哥瓑灞曠ず鏍峰紡涓嶅彉銆�
diff --git a/docs/sales_outbound_traceability_integration.md b/docs/sales_outbound_traceability_integration.md
new file mode 100644
index 0000000..629af17
--- /dev/null
+++ b/docs/sales_outbound_traceability_integration.md
@@ -0,0 +1,120 @@
+# 鍑哄簱娴侀�氱鐞� - 鍓嶇鑱旇皟鏂规
+
+## 娑夊強椤甸潰
+
+- 閿�鍞嚭搴撳崟鍒楄〃椤�
+- 閿�鍞嚭搴撳崟鏂板/缂栬緫椤�
+- 閿�鍞嚭搴撴嫞璐ч〉
+- 閿�鍞嚭搴撳崟璇︽儏椤�
+- 鎵樼洏鐮�/琚嬬爜娴佸悜杩借釜椤碉紙鍙湪閿�鍞嚭搴撴槑缁嗗尯鍩熷疄鐜帮級
+
+## 涓氬姟娴佺▼涓庢暟鎹甫鍏�
+
+1. CRM 瀹㈡埛浣滀负缁忛攢鍟嗕富鏁版嵁锛屽垱寤洪攢鍞嚭搴撳崟鏃堕�氳繃 `clientId` 閫夋嫨缁忛攢鍟嗐��
+2. 鍙戣揣閫氱煡鍗曠敓鎴愰攢鍞嚭搴撳崟鏃讹紝娌跨敤鍙戣揣閫氱煡鍗曠殑 `clientId`锛屼綔涓烘湰娆″嚭搴撶殑缁忛攢鍟嗐��
+3. 閿�鍞嚭搴撳崟鎻愪氦鍚庤繘鍏ュ緟鎷h揣鐘舵�侊紝鎵弿鎵樼洏鐮佹垨琚嬬爜璋冪敤鎵爜鎺ュ彛锛岀郴缁熻嚜鍔ㄨВ鏋愮爜绫诲瀷銆佸畾浣嶇敓浜ф壒娆″拰鍚堟牸搴撳瓨銆�
+4. 鎵爜鎴愬姛鍚庣敓鎴愰攢鍞嚭搴撴槑缁嗭紝璁板綍鎵樼洏鐮佹垨琚嬬爜銆佹壒娆°�佷粨搴撱�佸簱鍖恒�佸簱浣嶅拰鎷h揣鏁伴噺銆�
+5. 鎵ц鎷h揣鍚庡崰鐢ㄥ簱瀛橈紝鎵ц鏈�缁堝嚭搴撴椂鎵e噺搴撳瓨骞剁敓鎴愬簱瀛樹簨鍔℃祦姘淬��
+6. 鍑哄簱瀹屾垚鏃跺浐鍖栫粡閿�鍟嗗悕绉般�佸疄闄呭嚭搴撴椂闂村拰鎵ц鍑哄簱鎿嶄綔浜猴紝浣滀负鍘嗗彶娴佸悜蹇収銆�
+7. 鍓嶇鏌ヨ閿�鍞嚭搴撴槑缁嗘椂锛岄�氳繃鎵樼洏鐮佹垨琚嬬爜鏄庣粏鍏宠仈閿�鍞嚭搴撳崟锛屽嵆鍙弽鏌ュ伐鍘傘�佹壒娆°�佺粡閿�鍟嗗拰瀹為檯鍑哄簱淇℃伅銆�
+
+## API
+
+| 鏂规硶 | 璺緞 | 璇存槑 |
+|------|------|------|
+| POST | `/mes/wm/product-sales/create` | 鍒涘缓閿�鍞嚭搴撳崟 |
+| PUT | `/mes/wm/product-sales/update` | 淇敼鑽夌閿�鍞嚭搴撳崟 |
+| PUT | `/mes/wm/product-sales/submit` | 鎻愪氦閿�鍞嚭搴撳崟 |
+| POST | `/mes/wm/product-sales/scan` | 鎵弿鎵樼洏鐮佹垨琚嬬爜鐢熸垚鎷h揣鏄庣粏 |
+| PUT | `/mes/wm/product-sales/stock` | 鎵ц鎷h揣骞跺崰鐢ㄥ簱瀛� |
+| PUT | `/mes/wm/product-sales/shipping` | 濉啓鎵胯繍鍟嗗拰杩愯緭鍗曞彿 |
+| PUT | `/mes/wm/product-sales/finish` | 鎵ц鏈�缁堝嚭搴撱�佹墸鍑忓簱瀛樺苟鍥哄寲娴佸悜淇℃伅 |
+| GET | `/mes/wm/product-sales/page` | 鍒嗛〉鏌ヨ閿�鍞嚭搴撳崟锛屾敮鎸佸疄闄呭嚭搴撴椂闂磋寖鍥寸瓫閫� |
+| GET | `/mes/wm/product-sales/get` | 鏌ヨ閿�鍞嚭搴撳崟璇︽儏 |
+| GET | `/mes/wm/product-sales-detail/list-by-line` | 鏌ヨ鎸囧畾閿�鍞嚭搴撹鐨勬墭鐩�/琚嬬爜鏄庣粏 |
+| GET | `/mes/wm/transaction/page` | 鏌ヨ鍑哄簱搴撳瓨娴佹按 |
+
+### 鍒涘缓/淇敼璇锋眰鍙傛暟
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| clientId | Long | 鏄� | CRM 瀹㈡埛缂栧彿锛屽悓鏃朵綔涓虹粡閿�鍟嗙紪鍙� |
+| salesDate | DateTime | 鏄� | 璁″垝鎴栦笟鍔″嚭搴撴棩鏈� |
+| noticeId | Long | 鍚� | 鏉ユ簮鍙戣揣閫氱煡鍗曠紪鍙� |
+| contactName | String | 鍚� | 鏀惰揣浜� |
+| contactTelephone | String | 鍚� | 鑱旂郴鐢佃瘽 |
+| contactAddress | String | 鍚� | 鏀惰揣鍦板潃 |
+| carrier | String | 鍚� | 鎵胯繍鍟� |
+| shippingNumber | String | 鍚� | 杩愯緭鍗曞彿 |
+
+### 鎵爜璇锋眰鍙傛暟
+
+| 鍙傛暟 | 绫诲瀷 | 蹇呭~ | 璇存槑 |
+|------|------|------|------|
+| salesId | Long | 鏄� | 閿�鍞嚭搴撳崟缂栧彿 |
+| scanContent | String | 鏄� | 鎵樼洏鐮併�佽鐮佹垨鍙В鏋愮殑杩芥函鐮� |
+| quantity | Decimal | 鍚� | 鏈鎷h揣鏁伴噺锛涗笉浼犳椂鎸夐攢鍞嚭搴撹鏁伴噺澶勭悊 |
+
+### 鎵爜鍝嶅簲閲嶇偣瀛楁
+
+| 瀛楁 | 绫诲瀷 | 璇存槑 |
+|------|------|------|
+| scanType | String | `PALLET` 鎵樼洏鐮侊紝`BAG` 琚嬬爜 |
+| scanContent | String | 鍘熷鎵弿鍐呭 |
+| itemId | Long | 鐗╂枡缂栧彿 |
+| batchId | Long | 浠撳簱鎵规缂栧彿 |
+| batchCode | String | 浠撳簱鎵规鍙� |
+| materialStockId | Long | 搴撳瓨璁板綍缂栧彿 |
+| warehouseId | Long | 浠撳簱缂栧彿 |
+| locationId | Long | 搴撳尯缂栧彿 |
+| areaId | Long | 搴撲綅缂栧彿 |
+| scanQuantity | Decimal | 鏈鎵弿鏁伴噺 |
+| alreadyScanned | Boolean | 鏄惁宸叉壂鎻忚繃 |
+| detailId | Long | 閿�鍞嚭搴撴槑缁嗙紪鍙� |
+
+### 閿�鍞嚭搴撳崟鍝嶅簲鏂板瀛楁
+
+| 瀛楁 | 绫诲瀷 | 璇存槑 |
+|------|------|------|
+| clientName | String | 缁忛攢鍟嗗悕绉板揩鐓э紱鍑哄簱瀹屾垚鏃跺浐鍖� |
+| outboundTime | DateTime | 瀹為檯鎵ц鍑哄簱鏃堕棿锛涙湭瀹屾垚鏃朵负绌� |
+| outboundUserId | Long | 鎵ц鏈�缁堝嚭搴撴搷浣滀汉鐨勭敤鎴风紪鍙凤紱鏈畬鎴愭椂涓虹┖ |
+| outboundUserName | String | 鎵ц鏈�缁堝嚭搴撴搷浣滀汉鐨勫悕绉帮紱鏈畬鎴愭垨鐢ㄦ埛宸插垹闄ゆ椂涓虹┖ |
+
+## 瀛楁灞曠ず瑙勫垯
+
+| 瀛楁 | 灞曠ず浣嶇疆 | 璇存槑 |
+|------|----------|------|
+| clientName | 鍑哄簱鍗曞垪琛ㄣ�佽鎯呫�佹祦鍚戣拷韪� | 灞曠ず鍑哄簱瀹屾垚鏃跺浐鍖栫殑缁忛攢鍟嗗悕绉帮紱鑽夌鍙睍绀� CRM 褰撳墠鍚嶇О |
+| outboundTime | 鍑哄簱鍗曞垪琛ㄣ�佽鎯� | 浠呭凡瀹屾垚鍗曟嵁灞曠ず瀹為檯鍑哄簱鏃堕棿 |
+| outboundUserId | 鍑哄簱鍗曡鎯� | 鎿嶄綔浜虹敤鎴风紪鍙� |
+| outboundUserName | 鍑哄簱鍗曞垪琛ㄣ�佽鎯呫�佹祦鍚戣拷韪� | 鍚庣宸查�氳繃绯荤粺鐢ㄦ埛鎺ュ彛杞崲涓烘搷浣滀汉鍚嶇О锛屽墠绔洿鎺ュ睍绀� |
+| scanType | 鎵爜缁撴灉銆佸嚭搴撴槑缁� | 鍖哄垎鎵樼洏鐮佸拰琚嬬爜 |
+| scanContent | 鎵爜缁撴灉銆佸嚭搴撴槑缁� | 灞曠ず瀹為檯鎵弿鐨勮拷婧爜 |
+| batchCode | 鍑哄簱鏄庣粏銆佹祦鍚戣拷韪� | 灞曠ず鐢熶骇鎵规鍙� |
+| warehouseName | 鍑哄簱鏄庣粏銆佹祦鍚戣拷韪� | 灞曠ず鍑哄簱浠撳簱 |
+| quantity | 鍑哄簱鏄庣粏銆佸簱瀛樻祦姘� | 灞曠ず鎷h揣鏁伴噺锛涙祦姘村嚭搴撴暟閲忎负璐熸暟 |
+| bizCode | 搴撳瓨娴佹按 | 鍏宠仈閿�鍞嚭搴撳崟鍙� |
+
+## 涓氬姟瑙勫垯璇存槑
+
+| 鍦烘櫙 | 瑙勫垯 |
+|------|------|
+| 缁忛攢鍟嗘潵婧� | `clientId` 澶嶇敤 CRM 瀹㈡埛缂栧彿锛屼笉鏂板缓閲嶅鐨勭粡閿�鍟嗕富鏁版嵁 |
+| 鎵樼洏鐮佹壂鎻� | 鎵樼洏蹇呴』宸茬粦瀹氱敓浜ф壒娆★紝鍚﹀垯涓嶅厑璁搁攢鍞嚭搴� |
+| 琚嬬爜鎵弿 | 琚嬬爜蹇呴』鑳藉畾浣嶇敓浜ф壒娆″拰鍚堟牸搴撳瓨 |
+| 閲嶅鎵弿 | 杩斿洖 `alreadyScanned=true`锛屽墠绔彁绀哄凡鎵弿锛屼笉閲嶅鐢熸垚鏄庣粏 |
+| 搴撳瓨涓嶈冻 | 鎵爜鎴栨嫞璐ф牎楠屽け璐ユ椂锛屼笉鐢熸垚鍑哄簱鏄庣粏鎴栧簱瀛樺崰鐢� |
+| 鎷h揣 | 鎷h揣闃舵鍙崰鐢ㄥ簱瀛橈紝涓嶅噺灏戝疄闄呭湪搴撴暟閲� |
+| 鏈�缁堝嚭搴� | 浠呭緟鍑哄簱鐘舵�佸厑璁告墽琛岋紝鎴愬姛鍚庢墸鍑忓簱瀛樺苟鍐欏叆搴撳瓨娴佹按 |
+| 鍑哄簱蹇収 | 鏈�缁堝嚭搴撴椂淇濆瓨缁忛攢鍟嗗悕绉般�佸疄闄呭嚭搴撴椂闂村拰鎿嶄綔浜虹紪鍙凤紝鍚庣画 CRM 鏀瑰悕涓嶅奖鍝嶅巻鍙叉祦鍚� |
+| 娴佸悜杩借釜 | 閫氳繃閿�鍞嚭搴撴槑缁嗕腑鐨� `palletCodeId` 鎴� `bagCodeId` 鍙嶆煡鍑哄簱鍗曘�佹壒娆°�佷粨搴撳拰缁忛攢鍟� |
+| 鍙栨秷鍗曟嵁 | 鏈畬鎴愬崟鎹彲鍙栨秷骞堕噴鏀惧簱瀛樺崰鐢紱宸插畬鎴愬崟鎹笉鍙彇娑� |
+
+## 娉ㄦ剰浜嬮」
+
+- 閮ㄧ讲鍓嶉渶鎵ц `sql/mysql/mes_wm_sales_outbound_traceability.sql`锛屼负閿�鍞嚭搴撲富琛ㄥ鍔犳祦鍚戝揩鐓у瓧娈碉紱鑴氭湰搴斿湪纭鐩爣鏁版嵁搴撳悗閫愭潯鎵ц銆�
+- 璇ヨ縼绉昏剼鏈笉鍖呭惈 `tenant_id` 瀛楁锛岀鍚堝綋鍓嶉」鐩暟鎹簱瑙勮寖銆�
+- 褰撳墠浠g爜璁板綍鐨勬槸鎿嶄綔浜虹敤鎴风紪鍙凤紝鍓嶇搴旈�氳繃绯荤粺鐢ㄦ埛淇℃伅鎺ュ彛鏄剧ず鎿嶄綔浜哄悕绉般��
+- `/mes/wm/product-sales/finish` 鏄疄闄呮墸搴撳瓨鍜屼骇鐢熷簱瀛樻祦姘寸殑鏃剁偣锛屾壂鐮佹垚鍔熶笉浠h〃宸茬粡瀹屾垚鍑哄簱銆�
+- 鏌ヨ鎵樼洏鐮佹垨琚嬬爜娴佸悜鏃讹紝搴斾紭鍏堜娇鐢ㄥ嚭搴撴槑缁嗕腑鐨勭爜缂栧彿鍙婇攢鍞嚭搴撳崟鐘舵�佽繃婊わ紝閬垮厤灏嗗凡鍙栨秷鍗曟嵁浣滀负鏈夋晥娴佸悜銆�
diff --git a/sql/mysql/mes_dealer_menu_init.sql b/sql/mysql/mes_dealer_menu_init.sql
new file mode 100644
index 0000000..7ef7436
--- /dev/null
+++ b/sql/mysql/mes_dealer_menu_init.sql
@@ -0,0 +1,67 @@
+-- MES 缁忛攢鍟嗙鐞嗚彍鍗曞垵濮嬪寲
+-- 缁忛攢鍟嗗鐢� CRM 瀹㈡埛涓绘暟鎹紝涓嶆柊澧炰笟鍔¤〃鍜屽悗绔潈闄愩��
+-- 鎵ц鍓嶈纭褰撳墠鏁版嵁搴撲负椤圭洰瀹為檯涓氬姟搴撱��
+
+SET @dealer_menu_id = (SELECT id FROM system_menu
+                        WHERE parent_id = 5780 AND path = 'dealer' AND deleted = b'0'
+                        ORDER BY id LIMIT 1);
+
+INSERT INTO system_menu
+    (id, name, permission, type, sort, parent_id, path, icon, component, component_name,
+     status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+SELECT 6740, '缁忛攢鍟嗙鐞�', '', 2, 11, 5780, 'dealer', 'ep:user', 'crm/customer/index', 'MesWmDealer',
+       0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
+WHERE @dealer_menu_id IS NULL
+  AND NOT EXISTS (SELECT 1 FROM system_menu WHERE id = 6740);
+
+SET @dealer_menu_id = COALESCE(@dealer_menu_id, (SELECT id FROM system_menu WHERE id = 6740 AND deleted = b'0'));
+
+INSERT INTO system_menu
+    (id, name, permission, type, sort, parent_id, path, icon, component, component_name,
+     status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+SELECT 6741, '鏌ヨ缁忛攢鍟�', 'crm:customer:query', 3, 1, @dealer_menu_id, '', '', '', NULL,
+       0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
+WHERE EXISTS (SELECT 1 FROM system_menu WHERE id = @dealer_menu_id AND deleted = b'0')
+  AND NOT EXISTS (SELECT 1 FROM system_menu WHERE id = 6741);
+
+INSERT INTO system_menu
+    (id, name, permission, type, sort, parent_id, path, icon, component, component_name,
+     status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+SELECT 6742, '鍒涘缓缁忛攢鍟�', 'crm:customer:create', 3, 2, @dealer_menu_id, '', '', '', NULL,
+       0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
+WHERE EXISTS (SELECT 1 FROM system_menu WHERE id = @dealer_menu_id AND deleted = b'0')
+  AND NOT EXISTS (SELECT 1 FROM system_menu WHERE id = 6742);
+
+INSERT INTO system_menu
+    (id, name, permission, type, sort, parent_id, path, icon, component, component_name,
+     status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+SELECT 6743, '鏇存柊缁忛攢鍟�', 'crm:customer:update', 3, 3, @dealer_menu_id, '', '', '', NULL,
+       0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
+WHERE EXISTS (SELECT 1 FROM system_menu WHERE id = @dealer_menu_id AND deleted = b'0')
+  AND NOT EXISTS (SELECT 1 FROM system_menu WHERE id = 6743);
+
+INSERT INTO system_menu
+    (id, name, permission, type, sort, parent_id, path, icon, component, component_name,
+     status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+SELECT 6744, '鍒犻櫎缁忛攢鍟�', 'crm:customer:delete', 3, 4, @dealer_menu_id, '', '', '', NULL,
+       0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
+WHERE EXISTS (SELECT 1 FROM system_menu WHERE id = @dealer_menu_id AND deleted = b'0')
+  AND NOT EXISTS (SELECT 1 FROM system_menu WHERE id = 6744);
+
+INSERT INTO system_menu
+    (id, name, permission, type, sort, parent_id, path, icon, component, component_name,
+     status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+SELECT 6745, '瀵煎嚭缁忛攢鍟�', 'crm:customer:export', 3, 5, @dealer_menu_id, '', '', '', NULL,
+       0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
+WHERE EXISTS (SELECT 1 FROM system_menu WHERE id = @dealer_menu_id AND deleted = b'0')
+  AND NOT EXISTS (SELECT 1 FROM system_menu WHERE id = 6745);
+
+INSERT INTO system_menu
+    (id, name, permission, type, sort, parent_id, path, icon, component, component_name,
+     status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+SELECT 6746, '瀵煎叆缁忛攢鍟�', 'crm:customer:import', 3, 6, @dealer_menu_id, '', '', '', NULL,
+       0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
+WHERE EXISTS (SELECT 1 FROM system_menu WHERE id = @dealer_menu_id AND deleted = b'0')
+  AND NOT EXISTS (SELECT 1 FROM system_menu WHERE id = 6746);
+
+SET @dealer_menu_id = NULL;
diff --git a/sql/mysql/mes_trace_anti_cross_region_init.sql b/sql/mysql/mes_trace_anti_cross_region_init.sql
new file mode 100644
index 0000000..0c56649
--- /dev/null
+++ b/sql/mysql/mes_trace_anti_cross_region_init.sql
@@ -0,0 +1,82 @@
+-- 闃蹭吉闃茬獪璐х鐞嗭細绐滆揣棰勮 + 鏁版嵁瀹屾暣鎬ф牎楠� 寤鸿〃鑴氭湰锛堜笉浣跨敤 tenant_id锛�
+-- 鎵ц鍓嶈纭鐩爣鏁版嵁搴撲负椤圭洰瀹為檯涓氬姟搴擄紝骞堕�愭潯鎵ц銆�
+
+-- 1. 闃茬獪璐ц鍒欓厤缃〃锛坘ey-value 椋庢牸锛岄缃垽瀹氱矑搴﹂厤缃級
+CREATE TABLE IF NOT EXISTS mes_trace_anti_config (
+    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+    config_key VARCHAR(64) NOT NULL COMMENT '閰嶇疆椤筀ey',
+    config_value VARCHAR(255) NOT NULL COMMENT '閰嶇疆鍊�',
+    remark VARCHAR(255) DEFAULT NULL COMMENT '閰嶇疆璇存槑',
+    create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+    update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+    creator VARCHAR(64) DEFAULT NULL COMMENT '鍒涘缓鑰�',
+    updater VARCHAR(64) DEFAULT NULL COMMENT '鏇存柊鑰�',
+    deleted BIT(1) NOT NULL DEFAULT 0 COMMENT '鏄惁鍒犻櫎',
+    PRIMARY KEY (id),
+    KEY idx_anti_config_key (config_key)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='闃茬獪璐ц鍒欓厤缃�';
+
+-- 棰勭疆鍒ゅ畾绮掑害锛歅ROVINCE 璺ㄧ渷 / CITY 璺ㄥ競
+INSERT INTO mes_trace_anti_config (config_key, config_value, remark)
+SELECT 'warning_level', 'PROVINCE', '绐滆揣鍒ゅ畾绮掑害锛歅ROVINCE 璺ㄧ渷 / CITY 璺ㄥ競'
+WHERE NOT EXISTS (SELECT 1 FROM mes_trace_anti_config WHERE config_key = 'warning_level' AND deleted = b'0');
+
+-- 2. 绐滆揣棰勮璁板綍琛�
+CREATE TABLE IF NOT EXISTS mes_trace_cross_region_warning (
+    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+    warning_no VARCHAR(64) DEFAULT NULL COMMENT '棰勮缂栧彿',
+    bag_code_id BIGINT DEFAULT NULL COMMENT '琚嬬爜缂栧彿',
+    bag_code VARCHAR(64) DEFAULT NULL COMMENT '琚嬬爜',
+    pallet_code_id BIGINT DEFAULT NULL COMMENT '鎵樼洏鐮佺紪鍙�',
+    pallet_code VARCHAR(64) DEFAULT NULL COMMENT '鎵樼洏鐮�',
+    batch_id BIGINT DEFAULT NULL COMMENT '鐢熶骇鎵规缂栧彿',
+    batch_code VARCHAR(64) DEFAULT NULL COMMENT '鎵规鍙�',
+    item_id BIGINT DEFAULT NULL COMMENT '鐗╂枡缂栧彿',
+    item_code VARCHAR(64) DEFAULT NULL COMMENT '鐗╂枡缂栫爜',
+    item_name VARCHAR(128) DEFAULT NULL COMMENT '鐗╂枡鍚嶇О',
+    sales_id BIGINT DEFAULT NULL COMMENT '閿�鍞嚭搴撳崟缂栧彿',
+    sales_code VARCHAR(64) DEFAULT NULL COMMENT '鍑哄簱鍗曞彿',
+    client_id BIGINT DEFAULT NULL COMMENT '缁忛攢鍟嗙紪鍙�',
+    client_name VARCHAR(128) DEFAULT NULL COMMENT '缁忛攢鍟嗗悕绉�',
+    dealer_province VARCHAR(64) DEFAULT NULL COMMENT '缁忛攢鍟嗙渷浠�',
+    dealer_city VARCHAR(64) DEFAULT NULL COMMENT '缁忛攢鍟嗗煄甯�',
+    scan_province VARCHAR(64) DEFAULT NULL COMMENT '鎵爜鐪佷唤',
+    scan_city VARCHAR(64) DEFAULT NULL COMMENT '鎵爜鍩庡競',
+    warning_type VARCHAR(32) DEFAULT NULL COMMENT '棰勮绫诲瀷锛欳ROSS_PROVINCE / CROSS_CITY',
+    scan_event_id BIGINT DEFAULT NULL COMMENT '鍏宠仈娑堣垂鑰呮壂鐮佷簨浠剁紪鍙�',
+    status TINYINT NOT NULL DEFAULT 10 COMMENT '鐘舵�侊細10 寰呭鐞� / 20 宸插鐞� / 30 璇姤',
+    handle_user_id BIGINT DEFAULT NULL COMMENT '澶勭悊浜虹紪鍙�',
+    handle_time DATETIME DEFAULT NULL COMMENT '澶勭悊鏃堕棿',
+    handle_remark VARCHAR(255) DEFAULT NULL COMMENT '澶勭悊澶囨敞',
+    event_time DATETIME NOT NULL COMMENT '棰勮浜х敓鏃堕棿',
+    create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+    update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+    creator VARCHAR(64) DEFAULT NULL COMMENT '鍒涘缓鑰�',
+    updater VARCHAR(64) DEFAULT NULL COMMENT '鏇存柊鑰�',
+    deleted BIT(1) NOT NULL DEFAULT 0 COMMENT '鏄惁鍒犻櫎',
+    PRIMARY KEY (id),
+    KEY idx_cross_region_status (status),
+    KEY idx_cross_region_batch (batch_id),
+    KEY idx_cross_region_bag (bag_code_id),
+    KEY idx_cross_region_sales (sales_id),
+    KEY idx_cross_region_event_time (event_time),
+    KEY idx_cross_region_scan_province (scan_province)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='绐滆揣棰勮璁板綍';
+
+-- 3. 鏁版嵁瀹屾暣鎬ф牎楠岃褰曡〃
+CREATE TABLE IF NOT EXISTS mes_trace_integrity_record (
+    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+    biz_type VARCHAR(32) NOT NULL COMMENT '涓氬姟绫诲瀷锛欱ATCH 鎵规 / SALES 閿�鍞嚭搴� / SCAN 娑堣垂鑰呮壂鐮�',
+    biz_id BIGINT NOT NULL COMMENT '涓氬姟璁板綍缂栧彿',
+    biz_code VARCHAR(64) DEFAULT NULL COMMENT '涓氬姟缂栫爜锛堟壒娆″彿/鍑哄簱鍗曞彿/杩芥函鐮侊級',
+    content_hash CHAR(64) NOT NULL COMMENT '鍐呭鎽樿 SHA-256',
+    event_time DATETIME NOT NULL COMMENT '鎽樿鐢熸垚鏃堕棿',
+    create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+    update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+    creator VARCHAR(64) DEFAULT NULL COMMENT '鍒涘缓鑰�',
+    updater VARCHAR(64) DEFAULT NULL COMMENT '鏇存柊鑰�',
+    deleted BIT(1) NOT NULL DEFAULT 0 COMMENT '鏄惁鍒犻櫎',
+    PRIMARY KEY (id),
+    UNIQUE KEY uk_integrity_biz (biz_type, biz_id),
+    KEY idx_integrity_event_time (event_time)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='鏁版嵁瀹屾暣鎬ф牎楠岃褰�';
diff --git a/sql/mysql/mes_trace_anti_module_menu.sql b/sql/mysql/mes_trace_anti_module_menu.sql
new file mode 100644
index 0000000..ff6e884
--- /dev/null
+++ b/sql/mysql/mes_trace_anti_module_menu.sql
@@ -0,0 +1,66 @@
+-- 闃蹭吉闃茬獪璐х鐞嗚彍鍗曚笌鎸夐挳鏉冮檺鍒濆鍖�
+-- 鐙珛涓�绾ц彍鍗曪紙parent_id=0锛宼ype=1锛夛紝閲囩敤 WHERE NOT EXISTS 骞傜瓑鎻掑叆銆�
+-- 鎵ц鍓嶈纭鐩爣鏁版嵁搴撲负椤圭洰瀹為檯涓氬姟搴擄紝骞堕�愭潯鎵ц銆�
+
+INSERT INTO system_menu
+    (id, name, permission, type, sort, parent_id, path, icon, component, component_name,
+     status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+SELECT 6070, '闃蹭吉闃茬獪璐х鐞�', '', 1, 21, 0, 'trace-anti', 'ep:warning', '', '',
+       0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
+WHERE NOT EXISTS (SELECT 1 FROM system_menu WHERE id = 6070 AND deleted = b'0');
+
+INSERT INTO system_menu
+    (id, name, permission, type, sort, parent_id, path, icon, component, component_name,
+     status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+SELECT 6071, '绐滆揣棰勮', '', 2, 1, 6070, 'cross-region', 'ep:location-danger', 'mes/trace/crossregion/index', 'MesTraceCrossRegion',
+       0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
+WHERE NOT EXISTS (SELECT 1 FROM system_menu WHERE id = 6071 AND deleted = b'0');
+
+INSERT INTO system_menu
+    (id, name, permission, type, sort, parent_id, path, icon, component, component_name,
+     status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+SELECT 6072, '绐滆揣棰勮鏌ヨ', 'mes:trace-cross-region:query', 3, 1, 6071, '', '', '', '',
+       0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
+WHERE NOT EXISTS (SELECT 1 FROM system_menu WHERE id = 6072 AND deleted = b'0');
+
+INSERT INTO system_menu
+    (id, name, permission, type, sort, parent_id, path, icon, component, component_name,
+     status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+SELECT 6073, '绐滆揣棰勮澶勭悊', 'mes:trace-cross-region:handle', 3, 2, 6071, '', '', '', '',
+       0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
+WHERE NOT EXISTS (SELECT 1 FROM system_menu WHERE id = 6073 AND deleted = b'0');
+
+INSERT INTO system_menu
+    (id, name, permission, type, sort, parent_id, path, icon, component, component_name,
+     status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+SELECT 6074, '鎵爜鍦扮悊鍒嗗竷', '', 2, 2, 6070, 'scan-distribution', 'ep:map-location', 'mes/trace-consumer-scan/index', 'MesConsumerScanDistribution',
+       0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
+WHERE NOT EXISTS (SELECT 1 FROM system_menu WHERE id = 6074 AND deleted = b'0');
+
+INSERT INTO system_menu
+    (id, name, permission, type, sort, parent_id, path, icon, component, component_name,
+     status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+SELECT 6075, '鎵爜鍒嗗竷鏌ヨ', 'mes:trace-consumer-scan:query', 3, 1, 6074, '', '', '', '',
+       0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
+WHERE NOT EXISTS (SELECT 1 FROM system_menu WHERE id = 6075 AND deleted = b'0');
+
+INSERT INTO system_menu
+    (id, name, permission, type, sort, parent_id, path, icon, component, component_name,
+     status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+SELECT 6076, '鏁版嵁瀹屾暣鎬ф牎楠�', '', 2, 3, 6070, 'integrity', 'ep:lock', 'mes/trace/integrity/index', 'MesTraceIntegrity',
+       0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
+WHERE NOT EXISTS (SELECT 1 FROM system_menu WHERE id = 6076 AND deleted = b'0');
+
+INSERT INTO system_menu
+    (id, name, permission, type, sort, parent_id, path, icon, component, component_name,
+     status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+SELECT 6077, '瀹屾暣鎬ц褰曟煡璇�', 'mes:trace-integrity:query', 3, 1, 6076, '', '', '', '',
+       0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
+WHERE NOT EXISTS (SELECT 1 FROM system_menu WHERE id = 6077 AND deleted = b'0');
+
+INSERT INTO system_menu
+    (id, name, permission, type, sort, parent_id, path, icon, component, component_name,
+     status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
+SELECT 6078, '鏁版嵁瀹屾暣鎬ф牎楠�', 'mes:trace-integrity:verify', 3, 2, 6076, '', '', '', '',
+       0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'
+WHERE NOT EXISTS (SELECT 1 FROM system_menu WHERE id = 6078 AND deleted = b'0');
diff --git a/sql/mysql/mes_trace_consumer_scan_event.sql b/sql/mysql/mes_trace_consumer_scan_event.sql
new file mode 100644
index 0000000..03f65b8
--- /dev/null
+++ b/sql/mysql/mes_trace_consumer_scan_event.sql
@@ -0,0 +1,28 @@
+-- 娑堣垂鑰呮壂鐮佽闂簨浠惰〃锛堜笉浣跨敤 tenant_id锛�
+CREATE TABLE IF NOT EXISTS mes_trace_consumer_scan_event (
+    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+    trace_code VARCHAR(255) NOT NULL COMMENT '鎵爜鍘熷鍐呭锛堝繀瑕佹椂鎴柇锛�',
+    normalized_code VARCHAR(128) DEFAULT NULL COMMENT '瑙f瀽鍚庣殑杩芥函鐮�',
+    source_type VARCHAR(32) DEFAULT NULL COMMENT '鍏ュ彛绫诲瀷锛欱AG/PALLET/BATCH',
+    channel VARCHAR(32) DEFAULT NULL COMMENT '鎵爜鍏ュ彛娓犻亾锛氬井淇�/鏀粯瀹�/娴忚鍣�',
+    province VARCHAR(64) DEFAULT NULL COMMENT '鐪佷唤锛圛P 褰掑睘鍦帮級',
+    city VARCHAR(64) DEFAULT NULL COMMENT '鍩庡競锛圛P 褰掑睘鍦帮級',
+    batch_id BIGINT DEFAULT NULL COMMENT '鐢熶骇鎵规缂栧彿',
+    success TINYINT(1) NOT NULL DEFAULT 0 COMMENT '鏄惁鏌ヨ鎴愬姛',
+    error_code VARCHAR(64) DEFAULT NULL COMMENT '澶辫触缂栫爜',
+    ip_hash CHAR(64) DEFAULT NULL COMMENT '瀹㈡埛绔� IP SHA-256 鎽樿',
+    user_agent_hash CHAR(64) DEFAULT NULL COMMENT 'User-Agent SHA-256 鎽樿',
+    event_time DATETIME NOT NULL COMMENT '璁块棶鏃堕棿',
+    create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
+    update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
+    creator VARCHAR(64) DEFAULT NULL COMMENT '鍒涘缓鑰�',
+    updater VARCHAR(64) DEFAULT NULL COMMENT '鏇存柊鑰�',
+    deleted BIT(1) NOT NULL DEFAULT 0 COMMENT '鏄惁鍒犻櫎',
+    PRIMARY KEY (id),
+    KEY idx_trace_consumer_event_time (event_time),
+    KEY idx_trace_consumer_batch_id (batch_id),
+    KEY idx_trace_consumer_success (success),
+    KEY idx_trace_consumer_source_type (source_type),
+    KEY idx_trace_consumer_channel (channel),
+    KEY idx_trace_consumer_province (province)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='娑堣垂鑰呮壂鐮佽闂簨浠�';
diff --git a/sql/mysql/mes_trace_consumer_scan_menu.sql b/sql/mysql/mes_trace_consumer_scan_menu.sql
new file mode 100644
index 0000000..4cc2cdc
--- /dev/null
+++ b/sql/mysql/mes_trace_consumer_scan_menu.sql
@@ -0,0 +1,20 @@
+-- =============================================
+-- MES 娑堣垂鑰呮壂鐮佽闂粺璁� 鑿滃崟鍒濆鍖�
+-- 鏂板缓椤剁骇鐩綍銆屾函婧愬垎鏋愩�嶏紝鍦ㄥ叾涓嬫寕銆屾秷璐硅�呮壂鐮佺粺璁°�嶉〉闈�
+-- 椤甸潰璺敱 /trace/consumer-scan/index锛屾潈闄愭爣璇� mes:trace-consumer-scan:query
+-- 绠$悊绔帴鍙h矾寰� /mes/trace-consumer-scan/*
+-- 鐩爣搴擄細mom-thzy锛坅pplication-local.yaml 榛樿搴擄級
+-- =============================================
+
+-- 椤剁骇鐩綍锛氭函婧愬垎鏋愶紙type=1 鐩綍锛宲arent_id=0锛宲ath=/trace锛�
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
+VALUES (602634, '婧簮鍒嗘瀽', '', 1, 24, 0, '/trace', 'ep:data-analysis', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
+
+-- 娑堣垂鑰呮壂鐮佺粺璁★紙浜岀骇椤甸潰锛屾寕鍦ㄣ�屾函婧愬垎鏋愩�嶇洰褰曚笅锛宲ath 涓嶅惈鐖剁骇鍓嶇紑锛�
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
+VALUES (602632, '娑堣垂鑰呮壂鐮佺粺璁�', '', 2, 1, 602634, 'consumer-scan/index', 'ep:data-line', 'mes/trace-consumer-scan/index', 'MesConsumerScanStatistics', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
+
+-- 娑堣垂鑰呮壂鐮佺粺璁� - 鎸夐挳鏉冮檺
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
+VALUES
+(602633, '娑堣垂鑰呮壂鐮佺粺璁℃煡璇�', 'mes:trace-consumer-scan:query', 3, 1, 602632, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
diff --git a/sql/mysql/mes_wm_sales_outbound_traceability.sql b/sql/mysql/mes_wm_sales_outbound_traceability.sql
index 8f707d1..2ae437f 100644
--- a/sql/mysql/mes_wm_sales_outbound_traceability.sql
+++ b/sql/mysql/mes_wm_sales_outbound_traceability.sql
@@ -1,6 +1,15 @@
 -- 鍑哄簱娴侀�氱鐞嗭細閿�鍞嚭搴撲笌琚嬬爜/鎵樼洏鐮佸叧鑱旓紙鏃犵鎴峰瓧娈碉級
 -- 鎵ц鍓嶈纭鐩爣鏁版嵁搴撲负 mom-thzy锛屽苟閫愭潯鎵ц銆�
 
+ALTER TABLE mes_wm_product_sales
+  ADD COLUMN client_name varchar(255) DEFAULT NULL COMMENT '缁忛攢鍟嗗悕绉板揩鐓�' AFTER client_id;
+ALTER TABLE mes_wm_product_sales
+  ADD COLUMN outbound_time datetime DEFAULT NULL COMMENT '瀹為檯鍑哄簱鏃堕棿' AFTER sales_date;
+ALTER TABLE mes_wm_product_sales
+  ADD COLUMN outbound_user_id bigint DEFAULT NULL COMMENT '鎵ц鍑哄簱鎿嶄綔浜篒D' AFTER outbound_time;
+ALTER TABLE mes_wm_product_sales
+  ADD INDEX idx_product_sales_outbound_time (outbound_time);
+
 ALTER TABLE mes_wm_product_sales_detail
   ADD COLUMN bag_code_id bigint DEFAULT NULL COMMENT '琚嬬爜缂栧彿' AFTER area_id;
 ALTER TABLE mes_wm_product_sales_detail
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/MesTraceConfigController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/MesTraceConfigController.java
new file mode 100644
index 0000000..60e075d
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/MesTraceConfigController.java
@@ -0,0 +1,38 @@
+package cn.iocoder.yudao.module.mes.controller.admin.trace;
+
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.vo.MesTraceQrConfigRespVO;
+import cn.iocoder.yudao.module.mes.framework.config.MesProperties;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+
+/**
+ * 绠$悊鍚庡彴 - MES 婧簮閰嶇疆
+ * <p>
+ * 鍚戠鐞嗙鍓嶇鏆撮湶婧簮 H5 椤甸潰鍩虹鍦板潃锛岀敤浜�"鏌ョ湅浜岀淮鐮�"棰勮/涓嬭浇涓庢墦鍗版爣绛句繚鎸佷竴鑷寸殑浜岀淮鐮佸唴瀹广��
+ */
+@Tag(name = "绠$悊鍚庡彴 - MES 婧簮閰嶇疆")
+@RestController
+@RequestMapping("/mes/trace-config")
+@Validated
+public class MesTraceConfigController {
+
+    @Resource
+    private MesProperties mesProperties;
+
+    @GetMapping("/qr-config")
+    @Operation(summary = "鑾峰緱婧簮 H5 椤甸潰鍩虹鍦板潃锛堜簩缁寸爜鍐呭鍓嶇紑锛�")
+    public CommonResult<MesTraceQrConfigRespVO> getQrConfig() {
+        MesTraceQrConfigRespVO respVO = new MesTraceQrConfigRespVO();
+        respVO.setTraceBaseUrl(mesProperties.getTraceBaseUrl());
+        return success(respVO);
+    }
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/consumer/MesTraceConsumerScanController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/consumer/MesTraceConsumerScanController.java
new file mode 100644
index 0000000..e024b00
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/consumer/MesTraceConsumerScanController.java
@@ -0,0 +1,63 @@
+package cn.iocoder.yudao.module.mes.controller.admin.trace.consumer;
+
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.consumer.vo.MesTraceConsumerScanDistributionReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.consumer.vo.MesTraceConsumerScanDistributionRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.consumer.vo.MesTraceConsumerScanSummaryRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.consumer.vo.MesTraceConsumerScanTrendRespVO;
+import cn.iocoder.yudao.module.mes.service.trace.consumer.MesTraceConsumerScanStatisticsService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Tag(name = "绠$悊鍚庡彴 - MES 娑堣垂鑰呮壂鐮佽闂粺璁�")
+@RestController
+@RequestMapping("/mes/trace-consumer-scan")
+@Validated
+public class MesTraceConsumerScanController {
+
+    @Resource
+    private MesTraceConsumerScanStatisticsService statisticsService;
+
+    @GetMapping("/summary")
+    @Operation(summary = "娑堣垂鑰呮壂鐮佽闂眹鎬�")
+    @PreAuthorize("@ss.hasPermission('mes:trace-consumer-scan:query')")
+    public CommonResult<MesTraceConsumerScanSummaryRespVO> getSummary(
+            @RequestParam(value = "startTime", required = false) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) LocalDateTime startTime,
+            @RequestParam(value = "endTime", required = false) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) LocalDateTime endTime) {
+        return success(statisticsService.getSummary(startTime, endTime));
+    }
+
+    @GetMapping("/trend")
+    @Operation(summary = "娑堣垂鑰呮壂鐮佽闂秼鍔�")
+    @PreAuthorize("@ss.hasPermission('mes:trace-consumer-scan:query')")
+    public CommonResult<List<MesTraceConsumerScanTrendRespVO>> getTrend(
+            @RequestParam(value = "startTime", required = false) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) LocalDateTime startTime,
+            @RequestParam(value = "endTime", required = false) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) LocalDateTime endTime) {
+        return success(statisticsService.getTrend(startTime, endTime));
+    }
+
+    @GetMapping("/distribution")
+    @Operation(summary = "娑堣垂鑰呮壂鐮佽闂垎甯�")
+    @PreAuthorize("@ss.hasPermission('mes:trace-consumer-scan:query')")
+    public CommonResult<List<MesTraceConsumerScanDistributionRespVO>> getDistribution(
+            @Valid MesTraceConsumerScanDistributionReqVO reqVO) {
+        return success(statisticsService.getDistribution(reqVO));
+    }
+
+}
\ No newline at end of file
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/consumer/vo/MesTraceConsumerScanDistributionReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/consumer/vo/MesTraceConsumerScanDistributionReqVO.java
new file mode 100644
index 0000000..c338828
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/consumer/vo/MesTraceConsumerScanDistributionReqVO.java
@@ -0,0 +1,27 @@
+package cn.iocoder.yudao.module.mes.controller.admin.trace.consumer.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Data
+@Schema(description = "娑堣垂鑰呮壂鐮佽闂垎甯冩煡璇㈠弬鏁�")
+public class MesTraceConsumerScanDistributionReqVO {
+
+    @Schema(description = "鍒嗙粍缁村害锛歴ourceType/success/channel/province/city/batchId", example = "sourceType")
+    @NotBlank(message = "鍒嗙粍缁村害涓嶈兘涓虹┖")
+    private String groupBy;
+
+    @Schema(description = "寮�濮嬫椂闂�")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime startTime;
+
+    @Schema(description = "缁撴潫鏃堕棿")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime endTime;
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/consumer/vo/MesTraceConsumerScanDistributionRespVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/consumer/vo/MesTraceConsumerScanDistributionRespVO.java
new file mode 100644
index 0000000..f066c43
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/consumer/vo/MesTraceConsumerScanDistributionRespVO.java
@@ -0,0 +1,11 @@
+package cn.iocoder.yudao.module.mes.controller.admin.trace.consumer.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "娑堣垂鑰呮壂鐮佽闂垎甯�")
+public class MesTraceConsumerScanDistributionRespVO {
+    private String name;
+    private Long count;
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/consumer/vo/MesTraceConsumerScanSummaryRespVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/consumer/vo/MesTraceConsumerScanSummaryRespVO.java
new file mode 100644
index 0000000..f30cccc
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/consumer/vo/MesTraceConsumerScanSummaryRespVO.java
@@ -0,0 +1,13 @@
+package cn.iocoder.yudao.module.mes.controller.admin.trace.consumer.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "娑堣垂鑰呮壂鐮佽闂眹鎬�")
+public class MesTraceConsumerScanSummaryRespVO {
+    private Long total;
+    private Long success;
+    private Long failed;
+    private Long uniqueBatchCount;
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/consumer/vo/MesTraceConsumerScanTrendRespVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/consumer/vo/MesTraceConsumerScanTrendRespVO.java
new file mode 100644
index 0000000..11725e2
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/consumer/vo/MesTraceConsumerScanTrendRespVO.java
@@ -0,0 +1,13 @@
+package cn.iocoder.yudao.module.mes.controller.admin.trace.consumer.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "娑堣垂鑰呮壂鐮佽闂秼鍔�")
+public class MesTraceConsumerScanTrendRespVO {
+    private String date;
+    private Long total;
+    private Long success;
+    private Long failed;
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/MesTraceCrossRegionController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/MesTraceCrossRegionController.java
new file mode 100644
index 0000000..6f36187
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/MesTraceCrossRegionController.java
@@ -0,0 +1,89 @@
+package cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion;
+
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceAntiConfigRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionHandleReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionStatisticsReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionStatisticsRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionSummaryRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionWarningPageReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionWarningRespVO;
+import cn.iocoder.yudao.module.mes.service.trace.crossregion.MesTraceCrossRegionService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Tag(name = "绠$悊鍚庡彴 - MES 绐滆揣棰勮")
+@RestController
+@RequestMapping("/mes/trace-cross-region")
+@Validated
+public class MesTraceCrossRegionController {
+
+    @Resource
+    private MesTraceCrossRegionService crossRegionService;
+
+    @GetMapping("/page")
+    @Operation(summary = "鑾峰緱绐滆揣棰勮鍒嗛〉")
+    @PreAuthorize("@ss.hasPermission('mes:trace-cross-region:query')")
+    public CommonResult<PageResult<MesTraceCrossRegionWarningRespVO>> getWarningPage(@Valid MesTraceCrossRegionWarningPageReqVO reqVO) {
+        return success(crossRegionService.getWarningPage(reqVO));
+    }
+
+    @PutMapping("/handle")
+    @Operation(summary = "澶勭悊绐滆揣棰勮")
+    @PreAuthorize("@ss.hasPermission('mes:trace-cross-region:handle')")
+    public CommonResult<Boolean> handleWarning(@Valid @RequestBody MesTraceCrossRegionHandleReqVO reqVO) {
+        crossRegionService.handleWarning(reqVO);
+        return success(true);
+    }
+
+    @GetMapping("/summary")
+    @Operation(summary = "鑾峰緱绐滆揣棰勮姹囨��")
+    @PreAuthorize("@ss.hasPermission('mes:trace-cross-region:query')")
+    public CommonResult<MesTraceCrossRegionSummaryRespVO> getWarningSummary(
+            @RequestParam(value = "startTime", required = false) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) LocalDateTime startTime,
+            @RequestParam(value = "endTime", required = false) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) LocalDateTime endTime) {
+        return success(crossRegionService.getWarningSummary(startTime, endTime));
+    }
+
+    @GetMapping("/statistics")
+    @Operation(summary = "鑾峰緱绐滆揣棰勮鍒嗗竷缁熻")
+    @PreAuthorize("@ss.hasPermission('mes:trace-cross-region:query')")
+    public CommonResult<List<MesTraceCrossRegionStatisticsRespVO>> getWarningStatistics(@Valid MesTraceCrossRegionStatisticsReqVO reqVO) {
+        return success(crossRegionService.getWarningStatistics(reqVO));
+    }
+
+    @GetMapping("/config")
+    @Operation(summary = "鑾峰緱闃茬獪璐ц鍒欓厤缃�")
+    @PreAuthorize("@ss.hasPermission('mes:trace-cross-region:query')")
+    public CommonResult<MesTraceAntiConfigRespVO> getConfig() {
+        return success(crossRegionService.getConfig());
+    }
+
+    @PutMapping("/config")
+    @Operation(summary = "鏇存柊闃茬獪璐ц鍒欓厤缃�")
+    @PreAuthorize("@ss.hasPermission('mes:trace-cross-region:handle')")
+    public CommonResult<Boolean> updateConfig(@RequestParam("warningLevel") @Parameter(description = "鍒ゅ畾绮掑害锛歅ROVINCE 璺ㄧ渷 / CITY 璺ㄥ競", example = "PROVINCE") String warningLevel) {
+        crossRegionService.updateConfig(warningLevel);
+        return success(true);
+    }
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceAntiConfigRespVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceAntiConfigRespVO.java
new file mode 100644
index 0000000..7a5880b
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceAntiConfigRespVO.java
@@ -0,0 +1,16 @@
+package cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Schema(description = "绠$悊鍚庡彴 - 闃茬獪璐ц鍒欓厤缃� Response VO")
+@Data
+public class MesTraceAntiConfigRespVO {
+
+    @Schema(description = "鍒ゅ畾绮掑害锛歅ROVINCE 璺ㄧ渷 / CITY 璺ㄥ競", example = "PROVINCE")
+    private String warningLevel;
+
+    @Schema(description = "閰嶇疆璇存槑", example = "绐滆揣鍒ゅ畾绮掑害锛歅ROVINCE 璺ㄧ渷 / CITY 璺ㄥ競")
+    private String remark;
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionHandleReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionHandleReqVO.java
new file mode 100644
index 0000000..62242be
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionHandleReqVO.java
@@ -0,0 +1,22 @@
+package cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+@Schema(description = "绠$悊鍚庡彴 - 绐滆揣棰勮澶勭悊 Request VO")
+@Data
+public class MesTraceCrossRegionHandleReqVO {
+
+    @Schema(description = "棰勮缂栧彿", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
+    @NotNull(message = "棰勮缂栧彿涓嶈兘涓虹┖")
+    private Long id;
+
+    @Schema(description = "澶勭悊鐘舵�侊細20 宸插鐞� / 30 璇姤", requiredMode = Schema.RequiredMode.REQUIRED, example = "20")
+    @NotNull(message = "澶勭悊鐘舵�佷笉鑳戒负绌�")
+    private Integer status;
+
+    @Schema(description = "澶勭悊澶囨敞", example = "纭涓虹墿娴佷腑杞紝闈炵獪璐�")
+    private String handleRemark;
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionStatisticsReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionStatisticsReqVO.java
new file mode 100644
index 0000000..28d28ea
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionStatisticsReqVO.java
@@ -0,0 +1,28 @@
+package cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "绠$悊鍚庡彴 - 绐滆揣棰勮鍒嗗竷缁熻 Request VO")
+@Data
+public class MesTraceCrossRegionStatisticsReqVO {
+
+    @Schema(description = "鍒嗙粍缁村害锛歴canProvince/scanCity/clientId/itemId/batchId", example = "scanProvince")
+    @NotBlank(message = "鍒嗙粍缁村害涓嶈兘涓虹┖")
+    private String groupBy;
+
+    @Schema(description = "寮�濮嬫椂闂�")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime startTime;
+
+    @Schema(description = "缁撴潫鏃堕棿")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime endTime;
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionStatisticsRespVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionStatisticsRespVO.java
new file mode 100644
index 0000000..ea4910c
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionStatisticsRespVO.java
@@ -0,0 +1,16 @@
+package cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Schema(description = "绠$悊鍚庡彴 - 绐滆揣棰勮鍒嗗竷缁熻 Response VO")
+@Data
+public class MesTraceCrossRegionStatisticsRespVO {
+
+    @Schema(description = "鍒嗙粍鍚嶇О", example = "骞夸笢鐪�")
+    private String name;
+
+    @Schema(description = "棰勮鏁伴噺", example = "30")
+    private Long count;
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionSummaryRespVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionSummaryRespVO.java
new file mode 100644
index 0000000..8fd1b16
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionSummaryRespVO.java
@@ -0,0 +1,28 @@
+package cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Schema(description = "绠$悊鍚庡彴 - 绐滆揣棰勮姹囨�� Response VO")
+@Data
+public class MesTraceCrossRegionSummaryRespVO {
+
+    @Schema(description = "棰勮鎬绘暟", example = "100")
+    private Long total;
+
+    @Schema(description = "寰呭鐞嗘暟閲�", example = "30")
+    private Long pending;
+
+    @Schema(description = "宸插鐞嗘暟閲�", example = "60")
+    private Long handled;
+
+    @Schema(description = "璇姤鏁伴噺", example = "10")
+    private Long falseAlarm;
+
+    @Schema(description = "璺ㄧ渷绐滆揣鏁伴噺", example = "80")
+    private Long crossProvince;
+
+    @Schema(description = "璺ㄥ競绐滆揣鏁伴噺", example = "20")
+    private Long crossCity;
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionWarningPageReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionWarningPageReqVO.java
new file mode 100644
index 0000000..eda8fbd
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionWarningPageReqVO.java
@@ -0,0 +1,45 @@
+package cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo;
+
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "绠$悊鍚庡彴 - 绐滆揣棰勮鍒嗛〉 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class MesTraceCrossRegionWarningPageReqVO extends PageParam {
+
+    @Schema(description = "鐘舵�侊細10 寰呭鐞� / 20 宸插鐞� / 30 璇姤", example = "10")
+    private Integer status;
+
+    @Schema(description = "棰勮绫诲瀷锛欳ROSS_PROVINCE / CROSS_CITY", example = "CROSS_PROVINCE")
+    private String warningType;
+
+    @Schema(description = "鎵规缂栧彿")
+    private Long batchId;
+
+    @Schema(description = "鎵规鍙�", example = "PC20260901L001M001_001")
+    private String batchCode;
+
+    @Schema(description = "琚嬬爜", example = "BAG-00000001")
+    private String bagCode;
+
+    @Schema(description = "缁忛攢鍟嗙紪鍙�")
+    private Long clientId;
+
+    @Schema(description = "缁忛攢鍟嗗悕绉�", example = "鍗庝笢鍖哄煙缁忛攢鍟�")
+    private String clientName;
+
+    @Schema(description = "棰勮浜х敓鏃堕棿鑼冨洿")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] eventTime;
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionWarningRespVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionWarningRespVO.java
new file mode 100644
index 0000000..3b84776
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/crossregion/vo/MesTraceCrossRegionWarningRespVO.java
@@ -0,0 +1,99 @@
+package cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Schema(description = "绠$悊鍚庡彴 - 绐滆揣棰勮 Response VO")
+@Data
+public class MesTraceCrossRegionWarningRespVO {
+
+    @Schema(description = "缂栧彿", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
+    private Long id;
+
+    @Schema(description = "棰勮缂栧彿", example = "WARN202609010001")
+    private String warningNo;
+
+    @Schema(description = "琚嬬爜缂栧彿", example = "1")
+    private Long bagCodeId;
+
+    @Schema(description = "琚嬬爜", example = "BAG-00000001")
+    private String bagCode;
+
+    @Schema(description = "鎵樼洏鐮佺紪鍙�", example = "1")
+    private Long palletCodeId;
+
+    @Schema(description = "鎵樼洏鐮�", example = "BAG-00000001-P1")
+    private String palletCode;
+
+    @Schema(description = "鐢熶骇鎵规缂栧彿", example = "1")
+    private Long batchId;
+
+    @Schema(description = "鎵规鍙�", example = "PC20260901L001M001_001")
+    private String batchCode;
+
+    @Schema(description = "鐗╂枡缂栧彿", example = "1")
+    private Long itemId;
+
+    @Schema(description = "鐗╂枡缂栫爜", example = "M001")
+    private String itemCode;
+
+    @Schema(description = "鐗╂枡鍚嶇О", example = "鏉備氦姘寸ɑ绉嶅瓙")
+    private String itemName;
+
+    @Schema(description = "閿�鍞嚭搴撳崟缂栧彿", example = "1")
+    private Long salesId;
+
+    @Schema(description = "鍑哄簱鍗曞彿", example = "PS202609010001")
+    private String salesCode;
+
+    @Schema(description = "缁忛攢鍟嗙紪鍙�", example = "1")
+    private Long clientId;
+
+    @Schema(description = "缁忛攢鍟嗗悕绉�", example = "鍗庝笢鍖哄煙缁忛攢鍟�")
+    private String clientName;
+
+    @Schema(description = "缁忛攢鍟嗙渷浠�", example = "姹熻嫃鐪�")
+    private String dealerProvince;
+
+    @Schema(description = "缁忛攢鍟嗗煄甯�", example = "鍗椾含甯�")
+    private String dealerCity;
+
+    @Schema(description = "鎵爜鐪佷唤", example = "骞夸笢鐪�")
+    private String scanProvince;
+
+    @Schema(description = "鎵爜鍩庡競", example = "骞垮窞甯�")
+    private String scanCity;
+
+    @Schema(description = "棰勮绫诲瀷锛欳ROSS_PROVINCE / CROSS_CITY", example = "CROSS_PROVINCE")
+    private String warningType;
+
+    @Schema(description = "棰勮绫诲瀷鍚嶇О", example = "璺ㄧ渷绐滆揣")
+    private String warningTypeName;
+
+    @Schema(description = "鍏宠仈娑堣垂鑰呮壂鐮佷簨浠剁紪鍙�", example = "1")
+    private Long scanEventId;
+
+    @Schema(description = "鐘舵�侊細10 寰呭鐞� / 20 宸插鐞� / 30 璇姤", example = "10")
+    private Integer status;
+
+    @Schema(description = "鐘舵�佸悕绉�", example = "寰呭鐞�")
+    private String statusName;
+
+    @Schema(description = "澶勭悊浜虹紪鍙�", example = "1")
+    private Long handleUserId;
+
+    @Schema(description = "澶勭悊浜哄鍚�", example = "寮犱笁")
+    private String handleUserName;
+
+    @Schema(description = "澶勭悊鏃堕棿")
+    private LocalDateTime handleTime;
+
+    @Schema(description = "澶勭悊澶囨敞", example = "纭涓虹墿娴佷腑杞紝闈炵獪璐�")
+    private String handleRemark;
+
+    @Schema(description = "棰勮浜х敓鏃堕棿")
+    private LocalDateTime eventTime;
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/integrity/MesTraceIntegrityController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/integrity/MesTraceIntegrityController.java
new file mode 100644
index 0000000..e5cef72
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/integrity/MesTraceIntegrityController.java
@@ -0,0 +1,45 @@
+package cn.iocoder.yudao.module.mes.controller.admin.trace.integrity;
+
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.integrity.vo.MesTraceIntegrityRecordPageReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.integrity.vo.MesTraceIntegrityVerifyReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.integrity.vo.MesTraceIntegrityVerifyRespVO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.integrity.MesTraceIntegrityRecordDO;
+import cn.iocoder.yudao.module.mes.service.trace.integrity.MesTraceIntegrityService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "绠$悊鍚庡彴 - MES 鏁版嵁瀹屾暣鎬ф牎楠�")
+@RestController
+@RequestMapping("/mes/trace-integrity")
+@Validated
+public class MesTraceIntegrityController {
+
+    @Resource
+    private MesTraceIntegrityService integrityService;
+
+    @GetMapping("/verify")
+    @Operation(summary = "鏍¢獙鏁版嵁瀹屾暣鎬э紙閲嶇畻鎽樿姣斿锛�")
+    @PreAuthorize("@ss.hasPermission('mes:trace-integrity:verify')")
+    public CommonResult<MesTraceIntegrityVerifyRespVO> verify(@Valid MesTraceIntegrityVerifyReqVO reqVO) {
+        return success(integrityService.verify(reqVO.getBizType(), reqVO.getBizId()));
+    }
+
+    @GetMapping("/page")
+    @Operation(summary = "鑾峰緱鏁版嵁瀹屾暣鎬ц褰曞垎椤�")
+    @PreAuthorize("@ss.hasPermission('mes:trace-integrity:query')")
+    public CommonResult<PageResult<MesTraceIntegrityRecordDO>> getIntegrityPage(@Valid MesTraceIntegrityRecordPageReqVO reqVO) {
+        return success(integrityService.getIntegrityPage(reqVO));
+    }
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/integrity/vo/MesTraceIntegrityRecordPageReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/integrity/vo/MesTraceIntegrityRecordPageReqVO.java
new file mode 100644
index 0000000..7e52fc7
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/integrity/vo/MesTraceIntegrityRecordPageReqVO.java
@@ -0,0 +1,24 @@
+package cn.iocoder.yudao.module.mes.controller.admin.trace.integrity.vo;
+
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+
+@Schema(description = "绠$悊鍚庡彴 - 鏁版嵁瀹屾暣鎬ц褰曞垎椤� Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class MesTraceIntegrityRecordPageReqVO extends PageParam {
+
+    @Schema(description = "涓氬姟绫诲瀷锛欱ATCH / SALES / SCAN", example = "BATCH")
+    private String bizType;
+
+    @Schema(description = "涓氬姟璁板綍缂栧彿", example = "1")
+    private Long bizId;
+
+    @Schema(description = "涓氬姟缂栫爜", example = "PC20260901L001M001_001")
+    private String bizCode;
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/integrity/vo/MesTraceIntegrityVerifyReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/integrity/vo/MesTraceIntegrityVerifyReqVO.java
new file mode 100644
index 0000000..9bce545
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/integrity/vo/MesTraceIntegrityVerifyReqVO.java
@@ -0,0 +1,20 @@
+package cn.iocoder.yudao.module.mes.controller.admin.trace.integrity.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+@Schema(description = "绠$悊鍚庡彴 - 鏁版嵁瀹屾暣鎬ф牎楠� Request VO")
+@Data
+public class MesTraceIntegrityVerifyReqVO {
+
+    @Schema(description = "涓氬姟绫诲瀷锛欱ATCH 鎵规 / SALES 閿�鍞嚭搴� / SCAN 娑堣垂鑰呮壂鐮�", requiredMode = Schema.RequiredMode.REQUIRED, example = "BATCH")
+    @NotBlank(message = "涓氬姟绫诲瀷涓嶈兘涓虹┖")
+    private String bizType;
+
+    @Schema(description = "涓氬姟璁板綍缂栧彿", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
+    @NotNull(message = "涓氬姟璁板綍缂栧彿涓嶈兘涓虹┖")
+    private Long bizId;
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/integrity/vo/MesTraceIntegrityVerifyRespVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/integrity/vo/MesTraceIntegrityVerifyRespVO.java
new file mode 100644
index 0000000..38072e5
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/integrity/vo/MesTraceIntegrityVerifyRespVO.java
@@ -0,0 +1,34 @@
+package cn.iocoder.yudao.module.mes.controller.admin.trace.integrity.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Schema(description = "绠$悊鍚庡彴 - 鏁版嵁瀹屾暣鎬ф牎楠� Response VO")
+@Data
+public class MesTraceIntegrityVerifyRespVO {
+
+    @Schema(description = "涓氬姟绫诲瀷锛欱ATCH / SALES / SCAN", example = "BATCH")
+    private String bizType;
+
+    @Schema(description = "涓氬姟璁板綍缂栧彿", example = "1024")
+    private Long bizId;
+
+    @Schema(description = "涓氬姟缂栫爜", example = "PC20260901L001M001_001")
+    private String bizCode;
+
+    @Schema(description = "鏄惁鏍¢獙閫氳繃", example = "true")
+    private Boolean matched;
+
+    @Schema(description = "瀛樺偍鐨勬憳瑕� SHA-256", example = "a1b2c3...")
+    private String storedHash;
+
+    @Schema(description = "褰撳墠鏁版嵁閲嶇畻鎽樿 SHA-256", example = "a1b2c3...")
+    private String currentHash;
+
+    @Schema(description = "鎵规褰撳墠琚嬬爜闆嗗悎鎽樿锛堜粎 BATCH 鏍¢獙杩斿洖锛屼緵浜哄伐姣斿琚嬬爜闃茬鏀癸級", example = "d4e5f6...")
+    private String bagSetHash;
+
+    @Schema(description = "鏍¢獙璇存槑", example = "鏁版嵁瀹屾暣锛屾湭琚鏀�")
+    private String message;
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/vo/MesTraceQrConfigRespVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/vo/MesTraceQrConfigRespVO.java
new file mode 100644
index 0000000..73376f9
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/trace/vo/MesTraceQrConfigRespVO.java
@@ -0,0 +1,16 @@
+package cn.iocoder.yudao.module.mes.controller.admin.trace.vo;
+
+import lombok.Data;
+
+/**
+ * MES 婧簮 H5 閰嶇疆 Resp VO
+ */
+@Data
+public class MesTraceQrConfigRespVO {
+
+    /**
+     * 婧簮 H5 椤甸潰鍩虹鍦板潃锛堜簩缁寸爜鍐呭鍓嶇紑锛屽 http://host:port/trace.html锛�
+     */
+    private String traceBaseUrl;
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/MesWmProductSalesController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/MesWmProductSalesController.java
index 7704cda..675e6af 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/MesWmProductSalesController.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/MesWmProductSalesController.java
@@ -10,6 +10,8 @@
 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
 import cn.iocoder.yudao.module.crm.api.customer.CrmCustomerApi;
 import cn.iocoder.yudao.module.crm.api.customer.dto.CrmCustomerRespDTO;
+import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
+import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
 import cn.iocoder.yudao.module.mes.controller.admin.wm.productsales.vo.MesWmProductSalesPageReqVO;
 import cn.iocoder.yudao.module.mes.controller.admin.wm.productsales.vo.MesWmProductSalesRespVO;
 import cn.iocoder.yudao.module.mes.controller.admin.wm.productsales.vo.MesWmProductSalesSaveReqVO;
@@ -47,6 +49,8 @@
     private MesWmProductSalesService productSalesService;
     @Resource
     private CrmCustomerApi crmCustomerApi;
+    @Resource
+    private AdminUserApi adminUserApi;
     @Resource
     private MesWmSalesNoticeService salesNoticeService;
 
@@ -178,12 +182,19 @@
                 convertSet(list, MesWmProductSalesDO::getClientId));
         Map<Long, MesWmSalesNoticeDO> noticeMap = salesNoticeService.getSalesNoticeMap(
                 convertSet(list, MesWmProductSalesDO::getNoticeId));
+        Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(
+                convertSet(list, MesWmProductSalesDO::getOutboundUserId));
         // 2. 鏋勫缓缁撴灉
         return BeanUtils.toBean(list, MesWmProductSalesRespVO.class, vo -> {
             MapUtils.findAndThen(customerMap, vo.getClientId(), customer ->
                     vo.setClientName(customer.getName()));
+            if (vo.getClientName() == null) {
+                MapUtils.findAndThen(customerMap, vo.getClientId(), customer -> vo.setClientName(customer.getName()));
+            }
             MapUtils.findAndThen(noticeMap, vo.getNoticeId(),
                     notice -> vo.setNoticeCode(notice.getCode()));
+            MapUtils.findAndThen(userMap, vo.getOutboundUserId(),
+                    user -> vo.setOutboundUserName(user.getNickname()));
         });
     }
 
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/vo/MesWmProductSalesPageReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/vo/MesWmProductSalesPageReqVO.java
index 3f65810..3f38358 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/vo/MesWmProductSalesPageReqVO.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/vo/MesWmProductSalesPageReqVO.java
@@ -26,6 +26,10 @@
     @Schema(description = "瀹㈡埛缂栧彿", example = "1")
     private Long clientId;
 
+    @Schema(description = "瀹為檯鍑哄簱鏃堕棿鑼冨洿")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] outboundTime;
+
     @Schema(description = "鐘舵��", example = "0")
     private Integer status;
 
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/vo/MesWmProductSalesRespVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/vo/MesWmProductSalesRespVO.java
index 5fc1d88..a3f44a6 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/vo/MesWmProductSalesRespVO.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/vo/MesWmProductSalesRespVO.java
@@ -31,6 +31,17 @@
     @ExcelProperty("瀹㈡埛")
     private String clientName;
 
+    @Schema(description = "瀹為檯鍑哄簱鏃堕棿")
+    @ExcelProperty("瀹為檯鍑哄簱鏃堕棿")
+    private LocalDateTime outboundTime;
+
+    @Schema(description = "鎵ц鍑哄簱鎿嶄綔浜篒D")
+    private Long outboundUserId;
+
+    @Schema(description = "鎵ц鍑哄簱鎿嶄綔浜哄悕绉�")
+    @ExcelProperty("鍑哄簱鎿嶄綔浜�")
+    private String outboundUserName;
+
     @Schema(description = "閿�鍞鍗曞彿", example = "SO2026030001")
     @ExcelProperty("閿�鍞鍗曞彿")
     private String salesOrderCode;
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/pub/trace/vo/MesProTracePublicRespVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/pub/trace/vo/MesProTracePublicRespVO.java
index 50c395a..6f5d570 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/pub/trace/vo/MesProTracePublicRespVO.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/pub/trace/vo/MesProTracePublicRespVO.java
@@ -105,6 +105,10 @@
     @Schema(description = "绉嶅瓙璐ㄦ淇℃伅")
     private QualityVO quality;
 
+    // ====== 闃蹭吉楠岃瘉鍖哄潡 ======
+    @Schema(description = "闃蹭吉楠岃瘉淇℃伅锛堣杩芥函鐮佹壂鐮佹鏁颁笌鏃堕棿锛�")
+    private AntiFakeVO antiFake;
+
     // ====== 鍙�夋墿灞曞尯鍧楋紙鏈夋暟鎹墠杩斿洖锛岀┖琛ㄨ繑鍥炵┖鍒楄〃锛� ======
     @Schema(description = "閲囪喘鏉ユ簮锛堝彲閫夛級")
     private List<MesWmBatchPurchaseSourceRespVO> purchaseSources;
@@ -175,6 +179,17 @@
         private LocalDateTime eventTime;
     }
 
+    @Schema(description = "闃蹭吉楠岃瘉淇℃伅")
+    @Data
+    public static class AntiFakeVO {
+        @Schema(description = "璇ヨ拷婧爜绱鎵爜娆℃暟", example = "3")
+        private Long scanCount;
+        @Schema(description = "棣栨鎵爜鏃堕棿")
+        private LocalDateTime firstScanTime;
+        @Schema(description = "鏈�杩戞壂鐮佹椂闂�")
+        private LocalDateTime lastScanTime;
+    }
+
     @Schema(description = "绉嶅瓙璐ㄦ淇℃伅")
     @Data
     public static class QualityVO {
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/trace/consumer/MesTraceConsumerScanEventDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/trace/consumer/MesTraceConsumerScanEventDO.java
new file mode 100644
index 0000000..27b8c72
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/trace/consumer/MesTraceConsumerScanEventDO.java
@@ -0,0 +1,69 @@
+package cn.iocoder.yudao.module.mes.dal.dataobject.trace.consumer;
+
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+/**
+ * 娑堣垂鑰呮壂鐮佽闂簨浠� DO
+ * <p>
+ * 璁板綍鍏紬閫氳繃浜岀淮鐮�/H5 鎵弿婧簮椤甸潰鐨勮闂儏鍐碉紙鎴愬姛涓庡け璐ュ潎璁板綍锛夛紝
+ * 鐢ㄤ簬鍒嗘瀽娑堣垂鑰呮函婧愯闂噺銆佽秼鍔夸笌鍒嗗竷銆�
+ */
+@TableName("mes_trace_consumer_scan_event")
+@KeySequence("mes_trace_consumer_scan_event_seq")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class MesTraceConsumerScanEventDO extends BaseDO {
+
+    @TableId
+    private Long id;
+
+    /** 鎵爜鍘熷鍐呭锛堝繀瑕佹椂鎴柇锛� */
+    private String traceCode;
+
+    /** 瑙f瀽鍚庣殑杩芥函鐮� */
+    private String normalizedCode;
+
+    /** 鍏ュ彛绫诲瀷锛欱AG/PALLET/BATCH */
+    private String sourceType;
+
+    /** 鎵爜鍏ュ彛娓犻亾锛氬井淇�/鏀粯瀹�/娴忚鍣� */
+    private String channel;
+
+    /** 鐪佷唤锛圛P 褰掑睘鍦帮紝浠呭瓨鍦板悕涓嶅瓨鏁忔劅淇℃伅锛� */
+    private String province;
+
+    /** 鍩庡競锛圛P 褰掑睘鍦帮紝浠呭瓨鍦板悕涓嶅瓨鏁忔劅淇℃伅锛� */
+    private String city;
+
+    /** 鐢熶骇鎵规缂栧彿 */
+    private Long batchId;
+
+    /** 鏄惁鏌ヨ鎴愬姛锛�0 澶辫触锛�1 鎴愬姛锛� */
+    private Boolean success;
+
+    /** 澶辫触缂栫爜 */
+    private String errorCode;
+
+    /** 瀹㈡埛绔� IP SHA-256 鎽樿锛堜笉淇濆瓨鏄庢枃锛� */
+    private String ipHash;
+
+    /** User-Agent SHA-256 鎽樿锛堜笉淇濆瓨鏄庢枃锛� */
+    private String userAgentHash;
+
+    /** 璁块棶鏃堕棿 */
+    private LocalDateTime eventTime;
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/trace/crossregion/MesTraceAntiConfigDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/trace/crossregion/MesTraceAntiConfigDO.java
new file mode 100644
index 0000000..a12cbdd
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/trace/crossregion/MesTraceAntiConfigDO.java
@@ -0,0 +1,37 @@
+package cn.iocoder.yudao.module.mes.dal.dataobject.trace.crossregion;
+
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+/**
+ * 闃茬獪璐ц鍒欓厤缃� DO锛坘ey-value锛�
+ */
+@TableName("mes_trace_anti_config")
+@KeySequence("mes_trace_anti_config_seq")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class MesTraceAntiConfigDO extends BaseDO {
+
+    @TableId
+    private Long id;
+
+    /** 閰嶇疆椤� Key锛堝 warning_level锛� */
+    private String configKey;
+
+    /** 閰嶇疆鍊硷紙warning_level锛歅ROVINCE 璺ㄧ渷 / CITY 璺ㄥ競锛� */
+    private String configValue;
+
+    /** 閰嶇疆璇存槑 */
+    private String remark;
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/trace/crossregion/MesTraceCrossRegionWarningDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/trace/crossregion/MesTraceCrossRegionWarningDO.java
new file mode 100644
index 0000000..8c8b8bd
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/trace/crossregion/MesTraceCrossRegionWarningDO.java
@@ -0,0 +1,107 @@
+package cn.iocoder.yudao.module.mes.dal.dataobject.trace.crossregion;
+
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+/**
+ * 绐滆揣棰勮璁板綍 DO
+ * <p>
+ * 娑堣垂鑰呮壂鐮佸湴鍖轰笌琚嬬爜鍑哄簱缁忛攢鍟嗘墍鍦ㄥ湴鍖轰笉涓�鑷存椂锛岀郴缁熻嚜鍔ㄧ敓鎴愰璀︼紝渚涚鐞嗙绋芥煡涓庡鐞嗐��
+ */
+@TableName("mes_trace_cross_region_warning")
+@KeySequence("mes_trace_cross_region_warning_seq")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class MesTraceCrossRegionWarningDO extends BaseDO {
+
+    @TableId
+    private Long id;
+
+    /** 棰勮缂栧彿 */
+    private String warningNo;
+
+    /** 琚嬬爜缂栧彿 */
+    private Long bagCodeId;
+
+    /** 琚嬬爜 */
+    private String bagCode;
+
+    /** 鎵樼洏鐮佺紪鍙� */
+    private Long palletCodeId;
+
+    /** 鎵樼洏鐮� */
+    private String palletCode;
+
+    /** 鐢熶骇鎵规缂栧彿 */
+    private Long batchId;
+
+    /** 鎵规鍙� */
+    private String batchCode;
+
+    /** 鐗╂枡缂栧彿 */
+    private Long itemId;
+
+    /** 鐗╂枡缂栫爜 */
+    private String itemCode;
+
+    /** 鐗╂枡鍚嶇О */
+    private String itemName;
+
+    /** 閿�鍞嚭搴撳崟缂栧彿 */
+    private Long salesId;
+
+    /** 鍑哄簱鍗曞彿 */
+    private String salesCode;
+
+    /** 缁忛攢鍟嗙紪鍙� */
+    private Long clientId;
+
+    /** 缁忛攢鍟嗗悕绉� */
+    private String clientName;
+
+    /** 缁忛攢鍟嗙渷浠� */
+    private String dealerProvince;
+
+    /** 缁忛攢鍟嗗煄甯� */
+    private String dealerCity;
+
+    /** 鎵爜鐪佷唤 */
+    private String scanProvince;
+
+    /** 鎵爜鍩庡競 */
+    private String scanCity;
+
+    /** 棰勮绫诲瀷锛欳ROSS_PROVINCE / CROSS_CITY */
+    private String warningType;
+
+    /** 鍏宠仈娑堣垂鑰呮壂鐮佷簨浠剁紪鍙� */
+    private Long scanEventId;
+
+    /** 鐘舵�侊細10 寰呭鐞� / 20 宸插鐞� / 30 璇姤 */
+    private Integer status;
+
+    /** 澶勭悊浜虹紪鍙� */
+    private Long handleUserId;
+
+    /** 澶勭悊鏃堕棿 */
+    private LocalDateTime handleTime;
+
+    /** 澶勭悊澶囨敞 */
+    private String handleRemark;
+
+    /** 棰勮浜х敓鏃堕棿 */
+    private LocalDateTime eventTime;
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/trace/integrity/MesTraceIntegrityRecordDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/trace/integrity/MesTraceIntegrityRecordDO.java
new file mode 100644
index 0000000..9808c35
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/trace/integrity/MesTraceIntegrityRecordDO.java
@@ -0,0 +1,48 @@
+package cn.iocoder.yudao.module.mes.dal.dataobject.trace.integrity;
+
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+/**
+ * 鏁版嵁瀹屾暣鎬ф牎楠岃褰� DO
+ * <p>
+ * 鍦ㄦ壒娆″垱寤恒�侀攢鍞嚭搴撱�佹秷璐硅�呮壂鐮佺瓑鍏抽敭浜嬩欢鍙戠敓鏃讹紝瀵逛笉鍙彉鏍稿績瀛楁鐢熸垚 SHA-256 鎽樿锛�
+ * 渚涚鐞嗙閲嶆柊璁$畻姣斿锛屽彂鐜颁簨鍚庣鏀广��
+ */
+@TableName("mes_trace_integrity_record")
+@KeySequence("mes_trace_integrity_record_seq")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class MesTraceIntegrityRecordDO extends BaseDO {
+
+    @TableId
+    private Long id;
+
+    /** 涓氬姟绫诲瀷锛欱ATCH 鎵规 / SALES 閿�鍞嚭搴� / SCAN 娑堣垂鑰呮壂鐮� */
+    private String bizType;
+
+    /** 涓氬姟璁板綍缂栧彿 */
+    private Long bizId;
+
+    /** 涓氬姟缂栫爜锛堟壒娆″彿 / 鍑哄簱鍗曞彿 / 杩芥函鐮侊級 */
+    private String bizCode;
+
+    /** 鍐呭鎽樿 SHA-256 */
+    private String contentHash;
+
+    /** 鎽樿鐢熸垚鏃堕棿 */
+    private LocalDateTime eventTime;
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productsales/MesWmProductSalesDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productsales/MesWmProductSalesDO.java
index 579af82..d266de7 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productsales/MesWmProductSalesDO.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productsales/MesWmProductSalesDO.java
@@ -46,6 +46,10 @@
      */
     private Long clientId;
     /**
+     * 缁忛攢鍟嗗悕绉板揩鐓�
+     */
+    private String clientName;
+    /**
      * 閿�鍞鍗旾D
      */
     private Long saleOrderId;
@@ -63,6 +67,14 @@
      * 鍑哄簱鏃ユ湡
      */
     private LocalDateTime salesDate;
+    /**
+     * 瀹為檯鍑哄簱鏃堕棿
+     */
+    private LocalDateTime outboundTime;
+    /**
+     * 鎵ц鍑哄簱鎿嶄綔浜篒D
+     */
+    private Long outboundUserId;
 
     /**
      * 鑱旂郴浜�
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/batch/MesProBatchMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/batch/MesProBatchMapper.java
index 29ea3a2..5c3026e 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/batch/MesProBatchMapper.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/batch/MesProBatchMapper.java
@@ -24,8 +24,9 @@
         return selectOne(MesProBatchDO::getTempCode, tempCode);
     }
 
-    /** 鐢熸垚涓存椂鎵规鐮佺敤鐨勫叏灞�搴忓彿锛氳В鏋� temp_code 鐨勬暟瀛楀悗缂�锛屼笉瀛樺湪鍒欒繑鍥� 0 */
-    @Select("SELECT IFNULL(MAX(CAST(SUBSTRING(temp_code, 4) AS UNSIGNED)), 0) FROM mes_pro_batch WHERE deleted = 0")
+    /** 鐢熸垚涓存椂鎵规鐮佺敤鐨勫叏灞�搴忓彿锛氳В鏋� temp_code 鐨勬暟瀛楀悗缂�锛屼笉瀛樺湪鍒欒繑鍥� 0銆�
+     *  涓嶈兘杩囨护 deleted锛屽敮涓�绱㈠紩 uk_temp_code 瀵归�昏緫鍒犻櫎琛屼粛鐢熸晥锛屽拷鐣ヨ蒋鍒犱細瀵艰嚧搴忓彿鍥為��銆佺爜鍊奸噸澶� */
+    @Select("SELECT IFNULL(MAX(CAST(SUBSTRING(temp_code, 4) AS UNSIGNED)), 0) FROM mes_pro_batch")
     Integer selectMaxTempCodeSeq();
 
     default Long selectCountByLineId(Long lineId) {
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/pallet/MesProPalletMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/pallet/MesProPalletMapper.java
index 6bbc566..cbbda3f 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/pallet/MesProPalletMapper.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/pallet/MesProPalletMapper.java
@@ -27,8 +27,9 @@
         return selectOne(MesProPalletDO::getTempCode, tempCode);
     }
 
-    /** 鐢熸垚涓存椂鎵樼洏鐮佺敤鐨勫叏灞�搴忓彿锛氳В鏋� temp_code 鐨勬暟瀛楀悗缂�锛屼笉瀛樺湪鍒欒繑鍥� 0 */
-    @Select("SELECT IFNULL(MAX(CAST(SUBSTRING(temp_code, 4) AS UNSIGNED)), 0) FROM mes_pro_pallet WHERE deleted = 0")
+    /** 鐢熸垚涓存椂鎵樼洏鐮佺敤鐨勫叏灞�搴忓彿锛氳В鏋� temp_code 鐨勬暟瀛楀悗缂�锛屼笉瀛樺湪鍒欒繑鍥� 0銆�
+     *  涓嶈兘杩囨护 deleted锛屽敮涓�绱㈠紩 uk_temp_code 瀵归�昏緫鍒犻櫎琛屼粛鐢熸晥锛屽拷鐣ヨ蒋鍒犱細瀵艰嚧搴忓彿鍥為��銆佺爜鍊奸噸澶� */
+    @Select("SELECT IFNULL(MAX(CAST(SUBSTRING(temp_code, 4) AS UNSIGNED)), 0) FROM mes_pro_pallet")
     Integer selectMaxTempCodeSeq();
 
     @Select("SELECT * FROM mes_pro_pallet WHERE id = #{id} AND deleted = 0 FOR UPDATE")
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/trace/consumer/MesTraceConsumerScanEventMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/trace/consumer/MesTraceConsumerScanEventMapper.java
new file mode 100644
index 0000000..905c791
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/trace/consumer/MesTraceConsumerScanEventMapper.java
@@ -0,0 +1,30 @@
+package cn.iocoder.yudao.module.mes.dal.mysql.trace.consumer;
+
+import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.consumer.MesTraceConsumerScanEventDO;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 娑堣垂鑰呮壂鐮佽闂簨浠� Mapper
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Mapper
+public interface MesTraceConsumerScanEventMapper extends BaseMapperX<MesTraceConsumerScanEventDO> {
+
+    /**
+     * 鎸夎拷婧爜鏌ヨ鎵爜浜嬩欢锛堟搴忥紝渚涢槻浼獙璇佺粺璁℃壂鐮佹鏁颁笌棣栨/鏈�杩戞壂鐮佹椂闂达級
+     *
+     * @param normalizedCode 瑙f瀽鍚庣殑杩芥函鐮�
+     * @return 鎵爜浜嬩欢鍒楄〃
+     */
+    default List<MesTraceConsumerScanEventDO> selectListByNormalizedCode(String normalizedCode) {
+        return selectList(new LambdaQueryWrapperX<MesTraceConsumerScanEventDO>()
+                .eq(MesTraceConsumerScanEventDO::getNormalizedCode, normalizedCode)
+                .orderByAsc(MesTraceConsumerScanEventDO::getEventTime));
+    }
+
+}
\ No newline at end of file
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/trace/consumer/MesTraceConsumerScanStatisticsMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/trace/consumer/MesTraceConsumerScanStatisticsMapper.java
new file mode 100644
index 0000000..2ba0d27
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/trace/consumer/MesTraceConsumerScanStatisticsMapper.java
@@ -0,0 +1,31 @@
+package cn.iocoder.yudao.module.mes.dal.mysql.trace.consumer;
+
+import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.consumer.MesTraceConsumerScanEventDO;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 娑堣垂鑰呮壂鐮佽闂粺璁� Mapper
+ * <p>
+ * 缁熻閲囩敤鏌ユ槑缁� + Java 渚ц仛鍚堬紝閬垮厤缁熻 SQL 涓� MySQL/H2 鏂硅█宸紓锛屽苟娑堥櫎鍔ㄦ�佸垪鎷兼帴娉ㄥ叆闈€��
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Mapper
+public interface MesTraceConsumerScanStatisticsMapper extends BaseMapperX<MesTraceConsumerScanEventDO> {
+
+    /**
+     * 鏌ヨ缁熻鏃堕棿鑼冨洿鍐咃紙寮�濮嬫椂闂村惈銆佺粨鏉熸椂闂翠笉鍚級鐨勬秷璐硅�呮壂鐮佽闂簨浠�
+     */
+    default List<MesTraceConsumerScanEventDO> selectListByTime(LocalDateTime startTime, LocalDateTime endTime) {
+        return selectList(new LambdaQueryWrapperX<MesTraceConsumerScanEventDO>()
+                .geIfPresent(MesTraceConsumerScanEventDO::getEventTime, startTime)
+                .ltIfPresent(MesTraceConsumerScanEventDO::getEventTime, endTime)
+                .orderByAsc(MesTraceConsumerScanEventDO::getEventTime));
+    }
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/trace/crossregion/MesTraceAntiConfigMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/trace/crossregion/MesTraceAntiConfigMapper.java
new file mode 100644
index 0000000..9832047
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/trace/crossregion/MesTraceAntiConfigMapper.java
@@ -0,0 +1,19 @@
+package cn.iocoder.yudao.module.mes.dal.mysql.trace.crossregion;
+
+import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.crossregion.MesTraceAntiConfigDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 闃茬獪璐ц鍒欓厤缃� Mapper
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Mapper
+public interface MesTraceAntiConfigMapper extends BaseMapperX<MesTraceAntiConfigDO> {
+
+    default MesTraceAntiConfigDO selectByConfigKey(String configKey) {
+        return selectOne(MesTraceAntiConfigDO::getConfigKey, configKey);
+    }
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/trace/crossregion/MesTraceCrossRegionWarningMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/trace/crossregion/MesTraceCrossRegionWarningMapper.java
new file mode 100644
index 0000000..f547cb7
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/trace/crossregion/MesTraceCrossRegionWarningMapper.java
@@ -0,0 +1,42 @@
+package cn.iocoder.yudao.module.mes.dal.mysql.trace.crossregion;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionWarningPageReqVO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.crossregion.MesTraceCrossRegionWarningDO;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 绐滆揣棰勮璁板綍 Mapper
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Mapper
+public interface MesTraceCrossRegionWarningMapper extends BaseMapperX<MesTraceCrossRegionWarningDO> {
+
+    default PageResult<MesTraceCrossRegionWarningDO> selectPage(MesTraceCrossRegionWarningPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<MesTraceCrossRegionWarningDO>()
+                .eqIfPresent(MesTraceCrossRegionWarningDO::getStatus, reqVO.getStatus())
+                .eqIfPresent(MesTraceCrossRegionWarningDO::getWarningType, reqVO.getWarningType())
+                .eqIfPresent(MesTraceCrossRegionWarningDO::getBatchId, reqVO.getBatchId())
+                .likeIfPresent(MesTraceCrossRegionWarningDO::getBatchCode, reqVO.getBatchCode())
+                .likeIfPresent(MesTraceCrossRegionWarningDO::getBagCode, reqVO.getBagCode())
+                .eqIfPresent(MesTraceCrossRegionWarningDO::getClientId, reqVO.getClientId())
+                .likeIfPresent(MesTraceCrossRegionWarningDO::getClientName, reqVO.getClientName())
+                .betweenIfPresent(MesTraceCrossRegionWarningDO::getEventTime, reqVO.getEventTime())
+                .orderByDesc(MesTraceCrossRegionWarningDO::getId));
+    }
+
+    /**
+     * 鎸夋椂闂磋寖鍥存煡璇㈤璀﹀垪琛紙渚涚粺璁″垎缁勪娇鐢級
+     */
+    default List<MesTraceCrossRegionWarningDO> selectListByEventTimeBetween(java.time.LocalDateTime startTime,
+                                                                            java.time.LocalDateTime endTime) {
+        return selectList(new LambdaQueryWrapperX<MesTraceCrossRegionWarningDO>()
+                .betweenIfPresent(MesTraceCrossRegionWarningDO::getEventTime, startTime, endTime));
+    }
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/trace/integrity/MesTraceIntegrityRecordMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/trace/integrity/MesTraceIntegrityRecordMapper.java
new file mode 100644
index 0000000..369b9b3
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/trace/integrity/MesTraceIntegrityRecordMapper.java
@@ -0,0 +1,32 @@
+package cn.iocoder.yudao.module.mes.dal.mysql.trace.integrity;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.integrity.vo.MesTraceIntegrityRecordPageReqVO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.integrity.MesTraceIntegrityRecordDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 鏁版嵁瀹屾暣鎬ф牎楠岃褰� Mapper
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Mapper
+public interface MesTraceIntegrityRecordMapper extends BaseMapperX<MesTraceIntegrityRecordDO> {
+
+    default MesTraceIntegrityRecordDO selectByBiz(String bizType, Long bizId) {
+        return selectOne(new LambdaQueryWrapperX<MesTraceIntegrityRecordDO>()
+                .eq(MesTraceIntegrityRecordDO::getBizType, bizType)
+                .eq(MesTraceIntegrityRecordDO::getBizId, bizId));
+    }
+
+    default PageResult<MesTraceIntegrityRecordDO> selectPage(MesTraceIntegrityRecordPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<MesTraceIntegrityRecordDO>()
+                .eqIfPresent(MesTraceIntegrityRecordDO::getBizType, reqVO.getBizType())
+                .eqIfPresent(MesTraceIntegrityRecordDO::getBizId, reqVO.getBizId())
+                .likeIfPresent(MesTraceIntegrityRecordDO::getBizCode, reqVO.getBizCode())
+                .orderByDesc(MesTraceIntegrityRecordDO::getId));
+    }
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productsales/MesWmProductSalesDetailMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productsales/MesWmProductSalesDetailMapper.java
index 878783d..8915751 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productsales/MesWmProductSalesDetailMapper.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productsales/MesWmProductSalesDetailMapper.java
@@ -42,4 +42,24 @@
         delete(MesWmProductSalesDetailDO::getSalesId, salesId);
     }
 
+    /**
+     * 鏍规嵁琚嬬爜缂栧彿鏌ヨ鏈�杩戠殑鍑哄簱鏄庣粏锛堜緵绐滆揣绋芥煡鍙嶆煡鍑哄簱鍘诲悜锛�
+     */
+    default MesWmProductSalesDetailDO selectLatestByBagCodeId(Long bagCodeId) {
+        return selectOne(new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<MesWmProductSalesDetailDO>()
+                .eq(MesWmProductSalesDetailDO::getBagCodeId, bagCodeId)
+                .orderByDesc(MesWmProductSalesDetailDO::getId)
+                .last("LIMIT 1"));
+    }
+
+    /**
+     * 鏍规嵁鎵樼洏鐮佺紪鍙锋煡璇㈡渶杩戠殑鍑哄簱鏄庣粏锛堜緵绐滆揣绋芥煡鍙嶆煡鍑哄簱鍘诲悜锛�
+     */
+    default MesWmProductSalesDetailDO selectLatestByPalletCodeId(Long palletCodeId) {
+        return selectOne(new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<MesWmProductSalesDetailDO>()
+                .eq(MesWmProductSalesDetailDO::getPalletCodeId, palletCodeId)
+                .orderByDesc(MesWmProductSalesDetailDO::getId)
+                .last("LIMIT 1"));
+    }
+
 }
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productsales/MesWmProductSalesMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productsales/MesWmProductSalesMapper.java
index 8c79c6e..77ff7c9 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productsales/MesWmProductSalesMapper.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productsales/MesWmProductSalesMapper.java
@@ -25,6 +25,7 @@
                 .eqIfPresent(MesWmProductSalesDO::getClientId, reqVO.getClientId())
                 .eqIfPresent(MesWmProductSalesDO::getStatus, reqVO.getStatus())
                 .betweenIfPresent(MesWmProductSalesDO::getSalesDate, reqVO.getShipmentDate())
+                .betweenIfPresent(MesWmProductSalesDO::getOutboundTime, reqVO.getOutboundTime())
                 .orderByDesc(MesWmProductSalesDO::getId));
     }
 
@@ -38,6 +39,7 @@
                 .eqIfPresent(MesWmProductSalesDO::getClientId, reqVO.getClientId())
                 .eqIfPresent(MesWmProductSalesDO::getStatus, reqVO.getStatus())
                 .betweenIfPresent(MesWmProductSalesDO::getSalesDate, reqVO.getShipmentDate())
+                .betweenIfPresent(MesWmProductSalesDO::getOutboundTime, reqVO.getOutboundTime())
                 .orderByDesc(MesWmProductSalesDO::getId);
         if (permittedClientIds != null) {
             if (CollUtil.isEmpty(permittedClientIds)) {
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java
index 8a00efc..1d17581 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java
@@ -877,4 +877,15 @@
     // ========== MES 鍏紑鎵爜婧簮锛�1-040-760-000锛� ==========
     ErrorCode MES_TRACE_CODE_NOT_FOUND = new ErrorCode(1_040_760_000, "鏈煡璇㈠埌璇ヨ拷婧爜锛岃鏍稿浜岀淮鐮佹垨鑱旂郴瀹樻柟");
 
+    // ========== MES 闃蹭吉闃茬獪璐�-绐滆揣棰勮锛�1-040-761-000锛� ==========
+    ErrorCode MES_TRACE_CROSS_REGION_WARNING_NOT_EXISTS = new ErrorCode(1_040_761_000, "绐滆揣棰勮璁板綍涓嶅瓨鍦�");
+    ErrorCode MES_TRACE_CROSS_REGION_STATUS_INVALID = new ErrorCode(1_040_761_001, "绐滆揣棰勮鐘舵�佹棤鏁堬紝浠呭緟澶勭悊棰勮鍙鐞�");
+    ErrorCode MES_TRACE_ANTI_CONFIG_NOT_EXISTS = new ErrorCode(1_040_761_002, "闃茬獪璐ц鍒欓厤缃笉瀛樺湪");
+    ErrorCode MES_TRACE_ANTI_CONFIG_VALUE_INVALID = new ErrorCode(1_040_761_003, "闃茬獪璐ц鍒欓厤缃�兼棤鏁堬紝浠呮敮鎸� PROVINCE/CITY");
+
+    // ========== MES 闃蹭吉闃茬獪璐�-鏁版嵁瀹屾暣鎬э紙1-040-762-000锛� ==========
+    ErrorCode MES_TRACE_INTEGRITY_RECORD_NOT_EXISTS = new ErrorCode(1_040_762_000, "鏁版嵁瀹屾暣鎬ц褰曚笉瀛樺湪锛岃鍏堝涓氬姟鏁版嵁鐢熸垚鎽樿");
+    ErrorCode MES_TRACE_INTEGRITY_BIZ_TYPE_INVALID = new ErrorCode(1_040_762_001, "鏁版嵁瀹屾暣鎬т笟鍔$被鍨嬫棤鏁堬紝浠呮敮鎸� BATCH/SALES/SCAN");
+    ErrorCode MES_TRACE_INTEGRITY_BIZ_NOT_EXISTS = new ErrorCode(1_040_762_002, "寰呮牎楠岀殑涓氬姟鏁版嵁涓嶅瓨鍦�");
+
 }
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/trace/MesTraceIntegrityBizTypeEnum.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/trace/MesTraceIntegrityBizTypeEnum.java
new file mode 100644
index 0000000..0403feb
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/trace/MesTraceIntegrityBizTypeEnum.java
@@ -0,0 +1,43 @@
+package cn.iocoder.yudao.module.mes.enums.trace;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * 鏁版嵁瀹屾暣鎬т笟鍔$被鍨嬫灇涓�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Getter
+@AllArgsConstructor
+public enum MesTraceIntegrityBizTypeEnum {
+
+    BATCH("BATCH", "鐢熶骇鎵规"),
+    SALES("SALES", "閿�鍞嚭搴�"),
+    SCAN("SCAN", "娑堣垂鑰呮壂鐮�");
+
+    /**
+     * 涓氬姟绫诲瀷
+     */
+    private final String type;
+    /**
+     * 绫诲瀷鍚嶇О
+     */
+    private final String name;
+
+    /**
+     * 鍒ゆ柇涓氬姟绫诲瀷鏄惁鍚堟硶
+     *
+     * @param type 涓氬姟绫诲瀷
+     * @return 鏄惁鍚堟硶
+     */
+    public static boolean isValid(String type) {
+        for (MesTraceIntegrityBizTypeEnum e : values()) {
+            if (e.type.equals(type)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/trace/MesTraceWarningStatusEnum.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/trace/MesTraceWarningStatusEnum.java
new file mode 100644
index 0000000..3175d69
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/trace/MesTraceWarningStatusEnum.java
@@ -0,0 +1,38 @@
+package cn.iocoder.yudao.module.mes.enums.trace;
+
+import cn.iocoder.yudao.framework.common.core.ArrayValuable;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.Arrays;
+
+/**
+ * 绐滆揣棰勮鐘舵�佹灇涓�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Getter
+@AllArgsConstructor
+public enum MesTraceWarningStatusEnum implements ArrayValuable<Integer> {
+
+    PENDING(10, "寰呭鐞�"),
+    HANDLED(20, "宸插鐞�"),
+    FALSE_ALARM(30, "璇姤");
+
+    public static final Integer[] ARRAYS = Arrays.stream(values()).map(MesTraceWarningStatusEnum::getStatus).toArray(Integer[]::new);
+
+    /**
+     * 鐘舵��
+     */
+    private final Integer status;
+    /**
+     * 鐘舵�佸悕绉�
+     */
+    private final String name;
+
+    @Override
+    public Integer[] array() {
+        return ARRAYS;
+    }
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/trace/MesTraceWarningTypeEnum.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/trace/MesTraceWarningTypeEnum.java
new file mode 100644
index 0000000..c97658a
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/trace/MesTraceWarningTypeEnum.java
@@ -0,0 +1,27 @@
+package cn.iocoder.yudao.module.mes.enums.trace;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * 绐滆揣棰勮绫诲瀷鏋氫妇
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Getter
+@AllArgsConstructor
+public enum MesTraceWarningTypeEnum {
+
+    CROSS_PROVINCE("CROSS_PROVINCE", "璺ㄧ渷绐滆揣"),
+    CROSS_CITY("CROSS_CITY", "璺ㄥ競绐滆揣");
+
+    /**
+     * 绫诲瀷
+     */
+    private final String type;
+    /**
+     * 绫诲瀷鍚嶇О
+     */
+    private final String name;
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/batch/MesProBatchServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/batch/MesProBatchServiceImpl.java
index c0efa4f..0fe4f45 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/batch/MesProBatchServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/batch/MesProBatchServiceImpl.java
@@ -20,6 +20,7 @@
 import cn.iocoder.yudao.module.mes.service.md.autocode.MesMdAutoCodeRecordService;
 import cn.iocoder.yudao.module.mes.service.mdm.MesMdmItemService;
 import cn.iocoder.yudao.module.mes.service.pro.line.MesProLineService;
+import cn.iocoder.yudao.module.mes.service.trace.integrity.MesTraceIntegrityService;
 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
 import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
@@ -65,6 +66,8 @@
     private MesMdmItemService mdmItemService;
     @Resource
     private MesProLineService lineService;
+    @Resource
+    private MesTraceIntegrityService integrityService;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -89,6 +92,8 @@
 
         // 4. 鎻掑叆鐢熶骇浜哄憳閰嶇疆
         insertBatchWorkers(batch.getId(), createReqVO.getWorkers());
+        // 5. 鐢熸垚鎵规瀹屾暣鎬ф憳瑕�
+        integrityService.recordBatchIntegrity(batch.getId());
         return batch.getId();
     }
 
@@ -139,6 +144,8 @@
         // 4. 閲嶅缓鐢熶骇浜哄憳閰嶇疆
         batchWorkerMapper.deleteByBatchId(fillReqVO.getId());
         insertBatchWorkers(fillReqVO.getId(), fillReqVO.getWorkers());
+        // 5. 鐢熸垚鎵规瀹屾暣鎬ф憳瑕侊紙琛ュ綍姝e紡淇℃伅鍚庤鐩栵級
+        integrityService.recordBatchIntegrity(fillReqVO.getId());
     }
 
     @Override
@@ -172,6 +179,8 @@
         // 5. 閲嶅缓鐢熶骇浜哄憳閰嶇疆
         batchWorkerMapper.deleteByBatchId(updateReqVO.getId());
         insertBatchWorkers(updateReqVO.getId(), updateReqVO.getWorkers());
+        // 6. 鎽樿瑕嗙洊鑼冨洿鍚搧绉�/浜х嚎/鐢熶骇鏃ユ湡/璁″垝鏁伴噺锛岀紪杈戝悗閲嶆柊鐢熸垚閬垮厤璇姤绡℃敼
+        integrityService.recordBatchIntegrity(updateReqVO.getId());
     }
 
     @Override
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/MesProTracePublicServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/MesProTracePublicServiceImpl.java
index 744bccc..110c7b1 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/MesProTracePublicServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/MesProTracePublicServiceImpl.java
@@ -22,7 +22,12 @@
 import cn.iocoder.yudao.module.mes.service.pro.batch.MesProBatchService;
 import cn.iocoder.yudao.module.mes.service.pro.pallet.MesProPalletService;
 import cn.iocoder.yudao.module.mes.service.pro.scan.MesProScanEventService;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.consumer.MesTraceConsumerScanEventDO;
+import cn.iocoder.yudao.module.mes.dal.mysql.trace.consumer.MesTraceConsumerScanEventMapper;
 import cn.iocoder.yudao.module.mes.service.qc.seedquality.MesQcSeedQualityService;
+import cn.iocoder.yudao.module.mes.service.trace.consumer.MesTraceConsumerScanEventService;
+import cn.iocoder.yudao.module.mes.service.trace.crossregion.MesTraceCrossRegionService;
+import cn.iocoder.yudao.module.mes.service.trace.integrity.MesTraceIntegrityService;
 import cn.iocoder.yudao.module.mes.service.wm.batch.MesWmBatchService;
 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
@@ -73,21 +78,62 @@
     private AdminUserApi adminUserApi;
     @Resource
     private MesWmBatchService mesWmBatchService;
+    @Resource
+    private MesTraceConsumerScanEventService consumerScanEventService;
+    @Resource
+    private MesTraceCrossRegionService crossRegionService;
+    @Resource
+    private MesTraceIntegrityService integrityService;
+    @Resource
+    private MesTraceConsumerScanEventMapper consumerScanEventMapper;
 
     @Override
     public MesProTracePublicRespVO queryTrace(String code) {
         String rawCode = StrUtil.trim(StrUtil.nullToEmpty(code));
         String traceCode = normalize(rawCode);
         if (StrUtil.isEmpty(traceCode)) {
+            recordConsumerScan(rawCode, traceCode, null, null, false);
             throw exception(MES_TRACE_CODE_NOT_FOUND);
         }
-        // 1. 瑙f瀽杩芥函鍏ュ彛锛屽畾浣嶆壒娆�
-        TraceEntry entry = resolveEntry(traceCode);
-        if (entry.batchId == null) {
-            throw exception(MES_TRACE_CODE_NOT_FOUND);
+        TraceEntry entry = null;
+        try {
+            // 1. 瑙f瀽杩芥函鍏ュ彛锛屽畾浣嶆壒娆�
+            entry = resolveEntry(traceCode);
+            if (entry.batchId == null) {
+                throw exception(MES_TRACE_CODE_NOT_FOUND);
+            }
+            // 2. 鑱氬悎鍏ㄧ▼淇℃伅
+            MesProTracePublicRespVO result = buildRespVO(rawCode, traceCode, entry.sourceType, entry.batchId);
+            recordConsumerScan(rawCode, traceCode, entry.sourceType, entry.batchId, true);
+            return result;
+        } catch (RuntimeException ex) {
+            recordConsumerScan(rawCode, traceCode, entry == null ? null : entry.sourceType,
+                    entry == null ? null : entry.batchId, false);
+            throw ex;
         }
-        // 2. 鑱氬悎鍏ㄧ▼淇℃伅
-        return buildRespVO(rawCode, traceCode, entry.sourceType, entry.batchId);
+    }
+
+    /**
+     * 璁板綍娑堣垂鑰呮壂鐮佷簨浠讹紝骞惰Е鍙戦槻浼槻绐滆揣鎵╁睍锛堢獪璐у垽瀹� + 鎵爜鎽樿锛夛紝鍧囧閿欎笉褰卞搷婧簮涓绘祦绋�
+     */
+    private MesTraceConsumerScanEventDO recordConsumerScan(String rawCode, String traceCode, String sourceType,
+                                                           Long batchId, boolean success) {
+        MesTraceConsumerScanEventDO event = consumerScanEventService.recordScan(rawCode, traceCode, sourceType,
+                batchId, success, success ? null : MES_TRACE_CODE_NOT_FOUND.getCode().toString());
+        if (event == null) {
+            return null;
+        }
+        try {
+            crossRegionService.checkAndCreateWarning(event);
+        } catch (Exception ex) {
+            log.warn("[recordConsumerScan][绐滆揣鍒ゅ畾澶辫触] eventId={}", event.getId(), ex);
+        }
+        try {
+            integrityService.recordScanIntegrity(event);
+        } catch (Exception ex) {
+            log.warn("[recordConsumerScan][鎵爜鎽樿鐢熸垚澶辫触] eventId={}", event.getId(), ex);
+        }
+        return event;
     }
 
     // ==================== 杩芥函鐮佽В鏋� ====================
@@ -162,6 +208,8 @@
         resp.setInbound(buildInbound(batchId));
         // 璐ㄦ鍖哄潡
         resp.setQuality(buildQuality(batch));
+        // 闃蹭吉楠岃瘉鍖哄潡
+        fillAntiFake(resp, traceCode);
         // 鍙�夋墿灞曞尯鍧楋紙鏈夋暟鎹墠杩斿洖锛�
         fillOptionalModules(resp, batch);
         return resp;
@@ -254,6 +302,25 @@
         return vo;
     }
 
+    /**
+     * 濉厖闃蹭吉楠岃瘉鍖哄潡锛氳杩芥函鐮佺疮璁℃壂鐮佹鏁般�侀娆�/鏈�杩戞壂鐮佹椂闂达紙姝e搧楠岃瘉澧炲己锛�
+     */
+    private void fillAntiFake(MesProTracePublicRespVO resp, String traceCode) {
+        try {
+            List<MesTraceConsumerScanEventDO> events = consumerScanEventMapper.selectListByNormalizedCode(traceCode);
+            if (CollUtil.isEmpty(events)) {
+                return;
+            }
+            MesProTracePublicRespVO.AntiFakeVO vo = new MesProTracePublicRespVO.AntiFakeVO();
+            vo.setScanCount((long) events.size());
+            vo.setFirstScanTime(events.get(0).getEventTime());
+            vo.setLastScanTime(events.get(events.size() - 1).getEventTime());
+            resp.setAntiFake(vo);
+        } catch (Exception ex) {
+            log.warn("[fillAntiFake][杩芥函鐮� {} 闃蹭吉楠岃瘉缁熻澶辫触: {}]", traceCode, ex.getMessage());
+        }
+    }
+
     private void fillOptionalModules(MesProTracePublicRespVO resp, MesProBatchDO batch) {
         try {
             List<MesWmBatchPurchaseSourceRespVO> purchaseSources = mesWmBatchService.getPurchaseSourceList(batch.getCode());
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanEventService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanEventService.java
new file mode 100644
index 0000000..a521a87
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanEventService.java
@@ -0,0 +1,36 @@
+package cn.iocoder.yudao.module.mes.service.trace.consumer;
+
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.consumer.MesTraceConsumerScanEventDO;
+
+/**
+ * 娑堣垂鑰呮壂鐮佽闂簨浠� Service 鎺ュ彛
+ * <p>
+ * 璁板綍鍏紬婧簮鎵爜璁块棶鎯呭喌銆傝褰曞け璐ヤ笉寰楀奖鍝嶆函婧愭煡璇富娴佺▼锛屾晠瀹炵幇灞傞渶淇濊瘉涓嶆姏寮傚父銆�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+public interface MesTraceConsumerScanEventService {
+
+    /**
+     * 璁板綍涓�娆℃秷璐硅�呮壂鐮佽闂簨浠�
+     *
+     * @param traceCode       鎵爜鍘熷鍐呭
+     * @param normalizedCode  瑙f瀽鍚庣殑杩芥函鐮�
+     * @param sourceType      鍏ュ彛绫诲瀷锛欱AG/PALLET/BATCH
+     * @param batchId         鐢熶骇鎵规缂栧彿锛屽彲绌�
+     * @param success        鏄惁鏌ヨ鎴愬姛
+     * @param errorCode       澶辫触缂栫爜锛屾垚鍔熶紶 null
+     * @return 浜嬩欢璁板綍锛堝惈涓婚敭涓庢壂鐮佸湴鍖猴級锛涜褰曞け璐ヨ繑鍥� null
+     */
+    MesTraceConsumerScanEventDO recordScan(String traceCode, String normalizedCode, String sourceType, Long batchId,
+                                           boolean success, String errorCode);
+
+    /**
+     * 鏍规嵁 ID 鏌ヨ浜嬩欢锛堜緵鏍¢獙/璋冭瘯浣跨敤锛�
+     *
+     * @param id 涓婚敭
+     * @return 浜嬩欢
+     */
+    MesTraceConsumerScanEventDO getEvent(Long id);
+
+}
\ No newline at end of file
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanEventServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanEventServiceImpl.java
new file mode 100644
index 0000000..26b4052
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanEventServiceImpl.java
@@ -0,0 +1,118 @@
+package cn.iocoder.yudao.module.mes.service.trace.consumer;
+
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.crypto.digest.DigestUtil;
+import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
+import cn.iocoder.yudao.framework.ip.core.Area;
+import cn.iocoder.yudao.framework.ip.core.enums.AreaTypeEnum;
+import cn.iocoder.yudao.framework.ip.core.utils.IPUtils;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.consumer.MesTraceConsumerScanEventDO;
+import cn.iocoder.yudao.module.mes.dal.mysql.trace.consumer.MesTraceConsumerScanEventMapper;
+import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+
+/**
+ * 娑堣垂鑰呮壂鐮佽闂簨浠� Service 瀹炵幇
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Service
+@Slf4j
+public class MesTraceConsumerScanEventServiceImpl implements MesTraceConsumerScanEventService {
+
+    private static final int TRACE_CODE_MAX_LENGTH = 255;
+    private static final int NORMALIZED_CODE_MAX_LENGTH = 128;
+
+    @Resource
+    private MesTraceConsumerScanEventMapper eventMapper;
+
+    @Override
+    public MesTraceConsumerScanEventDO recordScan(String traceCode, String normalizedCode, String sourceType,
+                                                  Long batchId, boolean success, String errorCode) {
+        try {
+            MesTraceConsumerScanEventDO event = new MesTraceConsumerScanEventDO();
+            event.setTraceCode(limit(traceCode, TRACE_CODE_MAX_LENGTH));
+            event.setNormalizedCode(limit(normalizedCode, NORMALIZED_CODE_MAX_LENGTH));
+            event.setSourceType(sourceType);
+            event.setChannel(limit(channel(), 32));
+            String[] region = region(ServletUtils.getClientIP());
+            event.setProvince(limit(region[0], 64));
+            event.setCity(limit(region[1], 64));
+            event.setBatchId(batchId);
+            event.setSuccess(success);
+            event.setErrorCode(limit(errorCode, 64));
+            event.setIpHash(hash(ServletUtils.getClientIP()));
+            event.setUserAgentHash(hash(ServletUtils.getUserAgent()));
+            event.setEventTime(LocalDateTime.now());
+            eventMapper.insert(event);
+            return event;
+        } catch (Exception ex) {
+            log.warn("[recordScan][璁板綍娑堣垂鑰呮壂鐮佽闂簨浠跺け璐 traceCode={}", limit(traceCode, 64), ex);
+            return null;
+        }
+    }
+
+    @Override
+    public MesTraceConsumerScanEventDO getEvent(Long id) {
+        return eventMapper.selectById(id);
+    }
+
+    /**
+     * 鏍规嵁 User-Agent 璇嗗埆鎵爜鍏ュ彛娓犻亾
+     */
+    private String channel() {
+        String ua = ServletUtils.getUserAgent();
+        if (StrUtil.isBlank(ua)) {
+            return null;
+        }
+        String lower = ua.toLowerCase();
+        if (lower.contains("micromessenger")) {
+            return "寰俊";
+        }
+        if (lower.contains("alipayclient")) {
+            return "鏀粯瀹�";
+        }
+        return "娴忚鍣�";
+    }
+
+    /**
+     * 鏍规嵁瀹㈡埛绔� IP 瑙f瀽鐪佷唤銆佸煄甯傦紱瑙f瀽澶辫触杩斿洖绌猴紝涓嶅奖鍝嶄簨浠惰褰�
+     */
+    private String[] region(String ip) {
+        if (StrUtil.isBlank(ip)) {
+            return new String[]{null, null};
+        }
+        Area area = IPUtils.getArea(ip);
+        if (area == null) {
+            return new String[]{null, null};
+        }
+        String province = null;
+        String city = null;
+        Area node = area;
+        while (node != null) {
+            Integer type = node.getType();
+            if (AreaTypeEnum.PROVINCE.getType().equals(type)) {
+                province = node.getName();
+            } else if (AreaTypeEnum.CITY.getType().equals(type)) {
+                city = node.getName();
+            }
+            node = node.getParent();
+        }
+        return new String[]{province, city};
+    }
+
+    private String hash(String value) {
+        return value == null || value.isBlank() ? null : DigestUtil.sha256Hex(value);
+    }
+
+    private String limit(String value, int maxLength) {
+        if (value == null || value.length() <= maxLength) {
+            return value;
+        }
+        return value.substring(0, maxLength);
+    }
+
+}
\ No newline at end of file
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanStatisticsService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanStatisticsService.java
new file mode 100644
index 0000000..79c7ebe
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanStatisticsService.java
@@ -0,0 +1,15 @@
+package cn.iocoder.yudao.module.mes.service.trace.consumer;
+
+import cn.iocoder.yudao.module.mes.controller.admin.trace.consumer.vo.MesTraceConsumerScanDistributionReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.consumer.vo.MesTraceConsumerScanDistributionRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.consumer.vo.MesTraceConsumerScanSummaryRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.consumer.vo.MesTraceConsumerScanTrendRespVO;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+public interface MesTraceConsumerScanStatisticsService {
+    MesTraceConsumerScanSummaryRespVO getSummary(LocalDateTime startTime, LocalDateTime endTime);
+    List<MesTraceConsumerScanTrendRespVO> getTrend(LocalDateTime startTime, LocalDateTime endTime);
+    List<MesTraceConsumerScanDistributionRespVO> getDistribution(MesTraceConsumerScanDistributionReqVO reqVO);
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanStatisticsServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanStatisticsServiceImpl.java
new file mode 100644
index 0000000..032c4e2
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanStatisticsServiceImpl.java
@@ -0,0 +1,150 @@
+package cn.iocoder.yudao.module.mes.service.trace.consumer;
+
+import cn.iocoder.yudao.module.mes.controller.admin.trace.consumer.vo.MesTraceConsumerScanDistributionReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.consumer.vo.MesTraceConsumerScanDistributionRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.consumer.vo.MesTraceConsumerScanSummaryRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.consumer.vo.MesTraceConsumerScanTrendRespVO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.consumer.MesTraceConsumerScanEventDO;
+import cn.iocoder.yudao.module.mes.dal.mysql.trace.consumer.MesTraceConsumerScanStatisticsMapper;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+/**
+ * 娑堣垂鑰呮壂鐮佽闂粺璁� Service 瀹炵幇
+ * <p>
+ * 閲囩敤鏌ユ槑缁� + Java 渚ц仛鍚堬細閬垮厤缁熻 SQL 涓� MySQL/H2 鏂硅█宸紓锛屽悓鏃朵笉鏆撮湶鍔ㄦ�佸垪 SQL銆�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Service
+public class MesTraceConsumerScanStatisticsServiceImpl implements MesTraceConsumerScanStatisticsService {
+
+    /**
+     * 鍒嗙粍缁村害鐧藉悕鍗曪細浠呭厑璁告寜鍥哄畾瀛楁鑱氬悎锛岄潪娉曠淮搴︾洿鎺ユ嫆缁�
+     */
+    private static final Map<String, Function<MesTraceConsumerScanEventDO, String>> GROUP_COLUMNS = Map.of(
+            "sourceType", e -> e.getSourceType(),
+            "success", e -> Boolean.TRUE.equals(e.getSuccess()) ? "1" : "0",
+            "channel", MesTraceConsumerScanEventDO::getChannel,
+            "province", MesTraceConsumerScanEventDO::getProvince,
+            "city", MesTraceConsumerScanEventDO::getCity,
+            "batchId", e -> e.getBatchId() == null ? null : String.valueOf(e.getBatchId()));
+
+    /**
+     * 绌哄垎缁勯敭鍗犱綅绗︼細Collectors.groupingBy 涓嶆帴鍙� null key锛屽厛缁熶竴鏇挎崲鍐嶅湪灞曠ず鏃舵槧灏勪负"鏈煡"
+     */
+    private static final String UNKNOWN_KEY = "__unknown__";
+
+    @Resource
+    private MesTraceConsumerScanStatisticsMapper mapper;
+
+    @Override
+    public MesTraceConsumerScanSummaryRespVO getSummary(LocalDateTime startTime, LocalDateTime endTime) {
+        List<MesTraceConsumerScanEventDO> events = mapper.selectListByTime(startTime, endTime);
+        MesTraceConsumerScanSummaryRespVO vo = new MesTraceConsumerScanSummaryRespVO();
+        vo.setTotal((long) events.size());
+        vo.setSuccess(events.stream().filter(e -> Boolean.TRUE.equals(e.getSuccess())).count());
+        vo.setFailed(events.stream().filter(e -> !Boolean.TRUE.equals(e.getSuccess())).count());
+        vo.setUniqueBatchCount(events.stream().map(MesTraceConsumerScanEventDO::getBatchId)
+                .filter(java.util.Objects::nonNull).distinct().count());
+        return vo;
+    }
+
+    @Override
+    public List<MesTraceConsumerScanTrendRespVO> getTrend(LocalDateTime startTime, LocalDateTime endTime) {
+        List<MesTraceConsumerScanEventDO> events = mapper.selectListByTime(startTime, endTime);
+        // 鎸夋棩鏈熻仛鍚�
+        Map<LocalDate, MesTraceConsumerScanTrendRespVO> data = new TreeMap<>();
+        LocalDate min = null;
+        LocalDate max = null;
+        for (MesTraceConsumerScanEventDO event : events) {
+            LocalDate date = event.getEventTime().toLocalDate();
+            MesTraceConsumerScanTrendRespVO vo = data.computeIfAbsent(date, d -> {
+                MesTraceConsumerScanTrendRespVO v = new MesTraceConsumerScanTrendRespVO();
+                v.setDate(d.toString());
+                v.setTotal(0L);
+                v.setSuccess(0L);
+                v.setFailed(0L);
+                return v;
+            });
+            vo.setTotal(vo.getTotal() + 1);
+            if (Boolean.TRUE.equals(event.getSuccess())) {
+                vo.setSuccess(vo.getSuccess() + 1);
+            } else {
+                vo.setFailed(vo.getFailed() + 1);
+            }
+            if (min == null || date.isBefore(min)) {
+                min = date;
+            }
+            if (max == null || date.isAfter(max)) {
+                max = date;
+            }
+        }
+        // 琛ラ綈鍖洪棿鍐呮棤鏁版嵁鐨勬棩鏈燂紙鏃堕棿鍙傛暟涓虹┖鏃堕��鍥炲凡鏈夋暟鎹殑鏈�灏�/鏈�澶ф棩鏈熷尯闂达級
+        LocalDate start = startTime != null ? startTime.toLocalDate() : min;
+        LocalDate end = endTime != null
+                ? (endTime.toLocalTime().equals(LocalTime.MIDNIGHT) ? endTime.toLocalDate().minusDays(1) : endTime.toLocalDate())
+                : max;
+        if (start != null && end != null && !start.isAfter(end)) {
+            for (LocalDate day = start; !day.isAfter(end); day = day.plusDays(1)) {
+                data.computeIfAbsent(day, d -> {
+                    MesTraceConsumerScanTrendRespVO v = new MesTraceConsumerScanTrendRespVO();
+                    v.setDate(d.toString());
+                    v.setTotal(0L);
+                    v.setSuccess(0L);
+                    v.setFailed(0L);
+                    return v;
+                });
+            }
+        }
+        return new ArrayList<>(data.values());
+    }
+
+    @Override
+    public List<MesTraceConsumerScanDistributionRespVO> getDistribution(MesTraceConsumerScanDistributionReqVO reqVO) {
+        Function<MesTraceConsumerScanEventDO, String> extractor = GROUP_COLUMNS.get(reqVO.getGroupBy());
+        if (extractor == null) {
+            throw new IllegalArgumentException("涓嶆敮鎸佺殑鍒嗙粍缁村害");
+        }
+        List<MesTraceConsumerScanEventDO> events = mapper.selectListByTime(reqVO.getStartTime(), reqVO.getEndTime());
+        // 鎸夋暟閲忓�掑簭鍒嗙粍锛沢roupingBy 涓嶆帴鍙� null key锛屽厛缁熶竴鏇挎崲涓哄崰浣嶇鍐嶈仛鍚�
+        Map<String, Long> counts = events.stream().collect(Collectors.groupingBy(e -> {
+            String key = extractor.apply(e);
+            return key == null ? UNKNOWN_KEY : key;
+        }, Collectors.counting()));
+        return counts.entrySet().stream()
+                .sorted(Comparator.comparing(Map.Entry<String, Long>::getValue).reversed()
+                        .thenComparing(Map.Entry.comparingByKey()))
+                .map(entry -> {
+                    MesTraceConsumerScanDistributionRespVO vo = new MesTraceConsumerScanDistributionRespVO();
+                    String name = entry.getKey();
+                    vo.setName(UNKNOWN_KEY.equals(name) ? "鏈煡" : displayName(reqVO.getGroupBy(), name));
+                    vo.setCount(entry.getValue());
+                    return vo;
+                })
+                .collect(Collectors.toCollection(ArrayList::new));
+    }
+
+    /**
+     * 甯冨皵鍒嗗尯鍋氬彲璇绘槧灏勶紝淇濊瘉缁熻鍙e緞涓庡墠绔睍绀轰竴鑷�
+     */
+    private String displayName(String groupBy, String name) {
+        if ("success".equals(groupBy)) {
+            return "1".equals(name) ? "鎴愬姛" : "澶辫触";
+        }
+        return name;
+    }
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/crossregion/MesTraceCrossRegionService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/crossregion/MesTraceCrossRegionService.java
new file mode 100644
index 0000000..678510a
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/crossregion/MesTraceCrossRegionService.java
@@ -0,0 +1,80 @@
+package cn.iocoder.yudao.module.mes.service.trace.crossregion;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceAntiConfigRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionHandleReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionStatisticsReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionStatisticsRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionSummaryRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionWarningPageReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionWarningRespVO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.consumer.MesTraceConsumerScanEventDO;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 绐滆揣棰勮 Service 鎺ュ彛
+ * <p>
+ * 娑堣垂鑰呮壂鐮佸湴鍖轰笌琚嬬爜鍑哄簱缁忛攢鍟嗘墍鍦ㄥ湴鍖轰笉涓�鑷存椂鑷姩鐢熸垚棰勮锛屽苟鎻愪緵绠$悊绔ń鏌ャ�佸鐞嗕笌缁熻鑳藉姏銆�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+public interface MesTraceCrossRegionService {
+
+    /**
+     * 娑堣垂鑰呮壂鐮佹垚鍔熷悗杩涜绐滆揣鍒ゅ畾锛屽紓甯告祦鍚戣嚜鍔ㄧ敓鎴愰璀�
+     * <p>
+     * 鍒ゅ畾澶辫触涓嶅奖鍝嶆函婧愪富娴佺▼锛屽疄鐜板眰闇�淇濊瘉涓嶆姏寮傚父銆�
+     *
+     * @param event 娑堣垂鑰呮壂鐮佷簨浠讹紙鍚В鏋愬悗鐨勮拷婧爜銆佸叆鍙g被鍨嬨�佹壂鐮佸湴鍖猴級
+     */
+    void checkAndCreateWarning(MesTraceConsumerScanEventDO event);
+
+    /**
+     * 鑾峰緱绐滆揣棰勮鍒嗛〉
+     *
+     * @param reqVO 鏌ヨ鏉′欢
+     * @return 绐滆揣棰勮鍒嗛〉
+     */
+    PageResult<MesTraceCrossRegionWarningRespVO> getWarningPage(MesTraceCrossRegionWarningPageReqVO reqVO);
+
+    /**
+     * 澶勭悊绐滆揣棰勮锛堝凡澶勭悊 / 璇姤锛夛紝浠呭緟澶勭悊鐘舵�佸彲澶勭悊
+     *
+     * @param reqVO 澶勭悊淇℃伅
+     */
+    void handleWarning(MesTraceCrossRegionHandleReqVO reqVO);
+
+    /**
+     * 鑾峰緱绐滆揣棰勮姹囨��
+     *
+     * @param startTime 寮�濮嬫椂闂达紝鍙┖
+     * @param endTime   缁撴潫鏃堕棿锛屽彲绌�
+     * @return 姹囨�讳俊鎭�
+     */
+    MesTraceCrossRegionSummaryRespVO getWarningSummary(LocalDateTime startTime, LocalDateTime endTime);
+
+    /**
+     * 鑾峰緱绐滆揣棰勮鍒嗗竷缁熻锛堟寜鐪佷唤/鍩庡競/缁忛攢鍟�/鐗╂枡/鎵规鍒嗙粍锛�
+     *
+     * @param reqVO 鍒嗙粍鏉′欢
+     * @return 鍒嗗竷缁熻鍒楄〃
+     */
+    List<MesTraceCrossRegionStatisticsRespVO> getWarningStatistics(MesTraceCrossRegionStatisticsReqVO reqVO);
+
+    /**
+     * 鑾峰緱闃茬獪璐ц鍒欓厤缃�
+     *
+     * @return 瑙勫垯閰嶇疆
+     */
+    MesTraceAntiConfigRespVO getConfig();
+
+    /**
+     * 鏇存柊闃茬獪璐ц鍒欓厤缃紙鍒ゅ畾绮掑害鍒囨崲锛歅ROVINCE 璺ㄧ渷 / CITY 璺ㄥ競锛�
+     *
+     * @param warningLevel 鍒ゅ畾绮掑害
+     */
+    void updateConfig(String warningLevel);
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/crossregion/MesTraceCrossRegionServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/crossregion/MesTraceCrossRegionServiceImpl.java
new file mode 100644
index 0000000..9d6c679
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/crossregion/MesTraceCrossRegionServiceImpl.java
@@ -0,0 +1,423 @@
+package cn.iocoder.yudao.module.mes.service.trace.crossregion;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.IdUtil;
+import cn.hutool.core.util.ObjUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.framework.ip.core.Area;
+import cn.iocoder.yudao.framework.ip.core.enums.AreaTypeEnum;
+import cn.iocoder.yudao.framework.ip.core.utils.AreaUtils;
+import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
+import cn.iocoder.yudao.module.crm.api.customer.CrmCustomerApi;
+import cn.iocoder.yudao.module.crm.api.customer.dto.CrmCustomerRespDTO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceAntiConfigRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionHandleReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionStatisticsReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionStatisticsRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionSummaryRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionWarningPageReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionWarningRespVO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.mdm.MesMdmItemDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.pro.bagcode.MesProBagCodeDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.pro.batch.MesProBatchDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.pro.pallet.MesProPalletDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.consumer.MesTraceConsumerScanEventDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.crossregion.MesTraceAntiConfigDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.crossregion.MesTraceCrossRegionWarningDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productsales.MesWmProductSalesDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productsales.MesWmProductSalesDetailDO;
+import cn.iocoder.yudao.module.mes.dal.mysql.trace.crossregion.MesTraceAntiConfigMapper;
+import cn.iocoder.yudao.module.mes.dal.mysql.trace.crossregion.MesTraceCrossRegionWarningMapper;
+import cn.iocoder.yudao.module.mes.dal.mysql.wm.productsales.MesWmProductSalesDetailMapper;
+import cn.iocoder.yudao.module.mes.dal.mysql.wm.productsales.MesWmProductSalesMapper;
+import cn.iocoder.yudao.module.mes.enums.trace.MesTraceWarningStatusEnum;
+import cn.iocoder.yudao.module.mes.enums.trace.MesTraceWarningTypeEnum;
+import cn.iocoder.yudao.module.mes.service.mdm.MesMdmItemService;
+import cn.iocoder.yudao.module.mes.service.pro.bagcode.MesProBagCodeService;
+import cn.iocoder.yudao.module.mes.service.pro.batch.MesProBatchService;
+import cn.iocoder.yudao.module.mes.service.pro.pallet.MesProPalletService;
+import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
+import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
+import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+import java.time.LocalDateTime;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
+import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.MES_TRACE_ANTI_CONFIG_NOT_EXISTS;
+import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.MES_TRACE_ANTI_CONFIG_VALUE_INVALID;
+import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.MES_TRACE_CROSS_REGION_STATUS_INVALID;
+import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.MES_TRACE_CROSS_REGION_WARNING_NOT_EXISTS;
+
+/**
+ * 绐滆揣棰勮 Service 瀹炵幇绫�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Service
+@Validated
+@Slf4j
+public class MesTraceCrossRegionServiceImpl implements MesTraceCrossRegionService {
+
+    private static final String CONFIG_KEY_WARNING_LEVEL = "warning_level";
+
+    /**
+     * 鍒嗗竷缁熻鍒嗙粍鐧藉悕鍗曪細浠呭厑璁稿浐瀹氫笟鍔″瓧娈靛垎缁勶紝闃叉浠绘剰 key 浼犲叆銆�
+     */
+    private static final Map<String, java.util.function.Function<MesTraceCrossRegionWarningDO, String>> STAT_GROUP_EXTRACTORS =
+            Map.ofEntries(
+                    Map.entry("scanProvince", w -> w.getScanProvince()),
+                    Map.entry("scanCity", w -> w.getScanCity()),
+                    Map.entry("clientId", w -> w.getClientName()),
+                    Map.entry("itemId", w -> w.getItemName()),
+                    Map.entry("batchId", w -> w.getBatchCode()));
+
+    @Resource
+    private MesTraceCrossRegionWarningMapper warningMapper;
+    @Resource
+    private MesTraceAntiConfigMapper antiConfigMapper;
+    @Resource
+    private MesWmProductSalesMapper productSalesMapper;
+    @Resource
+    private MesWmProductSalesDetailMapper productSalesDetailMapper;
+    @Resource
+    private MesProBagCodeService bagCodeService;
+    @Resource
+    private MesProPalletService palletService;
+    @Resource
+    private MesProBatchService batchService;
+    @Resource
+    private MesMdmItemService mdmItemService;
+    @Resource
+    private CrmCustomerApi customerApi;
+    @Resource
+    private AdminUserApi adminUserApi;
+
+    @Override
+    public void checkAndCreateWarning(MesTraceConsumerScanEventDO event) {
+        try {
+            doCheckAndCreateWarning(event);
+        } catch (Exception ex) {
+            // 绐滆揣鍒ゅ畾澶辫触涓嶅奖鍝嶆秷璐硅�呮函婧愪富娴佺▼
+            log.warn("[checkAndCreateWarning][绐滆揣鍒ゅ畾澶辫触] traceCode={}", event == null ? null : event.getNormalizedCode(), ex);
+        }
+    }
+
+    private void doCheckAndCreateWarning(MesTraceConsumerScanEventDO event) {
+        if (event == null) {
+            return;
+        }
+        // 1. 浠呰鐮�/鎵樼洏鍏ュ彛鍙簿纭畾浣嶅嚭搴撳幓鍚戯紝鎵规鐮佽烦杩�
+        String sourceType = event.getSourceType();
+        boolean bag = "BAG".equals(sourceType);
+        boolean pallet = "PALLET".equals(sourceType);
+        if (!bag && !pallet) {
+            return;
+        }
+        // 2. 鎵爜鍦板尯锛圛P 褰掑睘鍦帮紝璁板綍浜嬩欢鏃跺凡瑙f瀽锛夛紝鏃犲湴鍖烘棤娉曞垽瀹�
+        String scanProvince = event.getProvince();
+        String scanCity = event.getCity();
+        if (StrUtil.isBlank(scanProvince) && StrUtil.isBlank(scanCity)) {
+            return;
+        }
+        // 3. 鍙嶆煡琚嬬爜/鎵樼洏锛屽畾浣嶅嚭搴撳崟
+        Long codeId;
+        Long batchId;
+        String code;
+        Long salesId;
+        if (bag) {
+            MesProBagCodeDO bagCode = bagCodeService.getBagCodeByCode(event.getNormalizedCode());
+            if (bagCode == null) {
+                return;
+            }
+            codeId = bagCode.getId();
+            code = bagCode.getCode();
+            batchId = bagCode.getBatchId();
+            salesId = bagCode.getSalesId();
+        } else {
+            MesProPalletDO palletCode = palletService.getPalletByCode(event.getNormalizedCode());
+            if (palletCode == null) {
+                return;
+            }
+            codeId = palletCode.getId();
+            code = palletCode.getCode();
+            batchId = palletCode.getBatchId();
+            salesId = palletCode.getSalesId();
+        }
+        // 4. 琚嬬爜鏈洖鍐欏嚭搴撳崟锛堝巻鍙叉暟鎹級鏃讹紝鍏滃簳鏌ユ槑缁嗚〃
+        if (salesId == null) {
+            MesWmProductSalesDetailDO detail = bag
+                    ? productSalesDetailMapper.selectLatestByBagCodeId(codeId)
+                    : productSalesDetailMapper.selectLatestByPalletCodeId(codeId);
+            if (detail == null || detail.getSalesId() == null) {
+                return; // 鏈嚭搴擄紝鏃犵獪璐ф瘮瀵瑰熀纭�
+            }
+            salesId = detail.getSalesId();
+        }
+        // 5. 鏌ュ嚭搴撳崟涓庣粡閿�鍟嗗湴鍖�
+        MesWmProductSalesDO sales = productSalesMapper.selectById(salesId);
+        if (sales == null || sales.getClientId() == null) {
+            return;
+        }
+        CrmCustomerRespDTO customer = customerApi.getCustomer(sales.getClientId());
+        if (customer == null || customer.getAreaId() == null) {
+            return;
+        }
+        String[] dealerRegion = resolveRegion(customer.getAreaId());
+        String dealerProvince = dealerRegion[0];
+        String dealerCity = dealerRegion[1];
+        if (StrUtil.isBlank(dealerProvince)) {
+            return;
+        }
+        // 6. 鎸夊垽瀹氱矑搴︽瘮瀵�
+        String warningType = matchWarningType(getWarningLevel(), scanProvince, scanCity, dealerProvince, dealerCity);
+        if (warningType == null) {
+            return;
+        }
+        // 7. 鍐椾綑濉厖鐗╂枡/鎵规淇℃伅
+        MesProBatchDO batch = batchId != null ? batchService.getBatch(batchId) : null;
+        MesMdmItemDO item = batch != null && batch.getItemId() != null ? mdmItemService.getItem(batch.getItemId()) : null;
+        // 8. 鍐欏叆棰勮
+        MesTraceCrossRegionWarningDO warning = MesTraceCrossRegionWarningDO.builder()
+                .warningNo(generateWarningNo())
+                .bagCodeId(bag ? codeId : null)
+                .bagCode(bag ? code : null)
+                .palletCodeId(pallet ? codeId : null)
+                .palletCode(pallet ? code : null)
+                .batchId(batch != null ? batch.getId() : null)
+                .batchCode(batch != null ? batch.getCode() : null)
+                .itemId(item != null ? item.getId() : null)
+                .itemCode(item != null ? item.getCode() : null)
+                .itemName(item != null ? item.getName() : null)
+                .salesId(sales.getId())
+                .salesCode(sales.getCode())
+                .clientId(sales.getClientId())
+                .clientName(sales.getClientName())
+                .dealerProvince(dealerProvince)
+                .dealerCity(dealerCity)
+                .scanProvince(scanProvince)
+                .scanCity(scanCity)
+                .warningType(warningType)
+                .scanEventId(event.getId())
+                .status(MesTraceWarningStatusEnum.PENDING.getStatus())
+                .eventTime(event.getEventTime() != null ? event.getEventTime() : LocalDateTime.now())
+                .build();
+        warningMapper.insert(warning);
+    }
+
+    @Override
+    public PageResult<MesTraceCrossRegionWarningRespVO> getWarningPage(MesTraceCrossRegionWarningPageReqVO reqVO) {
+        PageResult<MesTraceCrossRegionWarningDO> pageResult = warningMapper.selectPage(reqVO);
+        if (CollUtil.isEmpty(pageResult.getList())) {
+            return PageResult.empty();
+        }
+        // 鎵归噺鏌ュ鐞嗕汉濮撳悕
+        Set<Long> handleUserIds = convertSet(pageResult.getList(), MesTraceCrossRegionWarningDO::getHandleUserId);
+        Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(handleUserIds);
+        List<MesTraceCrossRegionWarningRespVO> list = BeanUtils.toBean(pageResult.getList(),
+                MesTraceCrossRegionWarningRespVO.class, vo -> {
+                    MesTraceCrossRegionWarningDO warning = pageResult.getList().stream()
+                            .filter(w -> ObjUtil.equal(w.getId(), vo.getId())).findFirst().orElse(null);
+                    if (warning == null) {
+                        return;
+                    }
+                    vo.setStatusName(statusName(warning.getStatus()));
+                    vo.setWarningTypeName(warningTypeName(warning.getWarningType()));
+                    MapUtils.findAndThen(userMap, warning.getHandleUserId(),
+                            user -> vo.setHandleUserName(user.getNickname()));
+                });
+        return new PageResult<>(list, pageResult.getTotal());
+    }
+
+    @Override
+    public void handleWarning(MesTraceCrossRegionHandleReqVO reqVO) {
+        MesTraceCrossRegionWarningDO warning = warningMapper.selectById(reqVO.getId());
+        if (warning == null) {
+            throw exception(MES_TRACE_CROSS_REGION_WARNING_NOT_EXISTS);
+        }
+        if (!ObjUtil.equal(MesTraceWarningStatusEnum.PENDING.getStatus(), warning.getStatus())) {
+            throw exception(MES_TRACE_CROSS_REGION_STATUS_INVALID);
+        }
+        if (!ObjUtil.equal(MesTraceWarningStatusEnum.HANDLED.getStatus(), reqVO.getStatus())
+                && !ObjUtil.equal(MesTraceWarningStatusEnum.FALSE_ALARM.getStatus(), reqVO.getStatus())) {
+            throw exception(MES_TRACE_CROSS_REGION_STATUS_INVALID);
+        }
+        warningMapper.updateById(new MesTraceCrossRegionWarningDO()
+                .setId(warning.getId())
+                .setStatus(reqVO.getStatus())
+                .setHandleRemark(reqVO.getHandleRemark())
+                .setHandleUserId(SecurityFrameworkUtils.getLoginUserId())
+                .setHandleTime(LocalDateTime.now()));
+    }
+
+    @Override
+    public MesTraceCrossRegionSummaryRespVO getWarningSummary(LocalDateTime startTime, LocalDateTime endTime) {
+        List<MesTraceCrossRegionWarningDO> list = warningMapper.selectListByEventTimeBetween(startTime, endTime);
+        MesTraceCrossRegionSummaryRespVO vo = new MesTraceCrossRegionSummaryRespVO();
+        long total = list.size();
+        long pending = 0L;
+        long handled = 0L;
+        long falseAlarm = 0L;
+        long crossProvince = 0L;
+        long crossCity = 0L;
+        for (MesTraceCrossRegionWarningDO w : list) {
+            if (ObjUtil.equal(MesTraceWarningStatusEnum.PENDING.getStatus(), w.getStatus())) {
+                pending++;
+            } else if (ObjUtil.equal(MesTraceWarningStatusEnum.HANDLED.getStatus(), w.getStatus())) {
+                handled++;
+            } else if (ObjUtil.equal(MesTraceWarningStatusEnum.FALSE_ALARM.getStatus(), w.getStatus())) {
+                falseAlarm++;
+            }
+            if (ObjUtil.equal(MesTraceWarningTypeEnum.CROSS_PROVINCE.getType(), w.getWarningType())) {
+                crossProvince++;
+            } else if (ObjUtil.equal(MesTraceWarningTypeEnum.CROSS_CITY.getType(), w.getWarningType())) {
+                crossCity++;
+            }
+        }
+        vo.setTotal(total).setPending(pending).setHandled(handled).setFalseAlarm(falseAlarm)
+                .setCrossProvince(crossProvince).setCrossCity(crossCity);
+        return vo;
+    }
+
+    @Override
+    public List<MesTraceCrossRegionStatisticsRespVO> getWarningStatistics(MesTraceCrossRegionStatisticsReqVO reqVO) {
+        java.util.function.Function<MesTraceCrossRegionWarningDO, String> extractor = STAT_GROUP_EXTRACTORS.get(reqVO.getGroupBy());
+        if (extractor == null) {
+            throw new IllegalArgumentException("涓嶆敮鎸佺殑鍒嗙粍缁村害");
+        }
+        List<MesTraceCrossRegionWarningDO> list = warningMapper.selectListByEventTimeBetween(reqVO.getStartTime(), reqVO.getEndTime());
+        Map<String, Long> counts = new LinkedHashMap<>();
+        for (MesTraceCrossRegionWarningDO w : list) {
+            String key = StrUtil.nullToDefault(extractor.apply(w), "鏈煡");
+            counts.merge(key, 1L, Long::sum);
+        }
+        return counts.entrySet().stream()
+                .sorted(Map.Entry.<String, Long>comparingByValue().reversed())
+                .map(entry -> new MesTraceCrossRegionStatisticsRespVO().setName(entry.getKey()).setCount(entry.getValue()))
+                .toList();
+    }
+
+    @Override
+    public MesTraceAntiConfigRespVO getConfig() {
+        MesTraceAntiConfigDO config = antiConfigMapper.selectByConfigKey(CONFIG_KEY_WARNING_LEVEL);
+        if (config == null) {
+            throw exception(MES_TRACE_ANTI_CONFIG_NOT_EXISTS);
+        }
+        return new MesTraceAntiConfigRespVO().setWarningLevel(config.getConfigValue()).setRemark(config.getRemark());
+    }
+
+    @Override
+    public void updateConfig(String warningLevel) {
+        if (!ObjUtil.equal("PROVINCE", warningLevel) && !ObjUtil.equal("CITY", warningLevel)) {
+            throw exception(MES_TRACE_ANTI_CONFIG_VALUE_INVALID);
+        }
+        MesTraceAntiConfigDO config = antiConfigMapper.selectByConfigKey(CONFIG_KEY_WARNING_LEVEL);
+        if (config == null) {
+            throw exception(MES_TRACE_ANTI_CONFIG_NOT_EXISTS);
+        }
+        antiConfigMapper.updateById(new MesTraceAntiConfigDO().setId(config.getId()).setConfigValue(warningLevel));
+    }
+
+    // ==================== 绉佹湁鏂规硶 ====================
+
+    /**
+     * 璇诲彇鍒ゅ畾绮掑害锛歅ROVINCE 璺ㄧ渷 / CITY 璺ㄥ競锛岄厤缃己澶辨椂榛樿鎸夌渷鍒ゅ畾
+     */
+    private String getWarningLevel() {
+        MesTraceAntiConfigDO config = antiConfigMapper.selectByConfigKey(CONFIG_KEY_WARNING_LEVEL);
+        return config != null ? StrUtil.nullToDefault(config.getConfigValue(), "PROVINCE") : "PROVINCE";
+    }
+
+    /**
+     * 鎸夊垽瀹氱矑搴︽瘮瀵规壂鐮佸湴鍖轰笌缁忛攢鍟嗗湴鍖猴紝杩斿洖鍛戒腑棰勮绫诲瀷锛屾湭鍛戒腑杩斿洖 null
+     */
+    private String matchWarningType(String level, String scanProvince, String scanCity,
+                                    String dealerProvince, String dealerCity) {
+        if ("CITY".equals(level)) {
+            // 鍩庡競绮掑害锛氭壂鐮佸競涓庣粡閿�鍟嗗競涓嶄竴鑷达紙闇�鍙屾柟閮芥湁鍩庡競锛屽惁鍒欓��鍥炵渷绾у垽鏂級
+            if (StrUtil.isNotBlank(scanCity) && StrUtil.isNotBlank(dealerCity) && !scanCity.equals(dealerCity)) {
+                return MesTraceWarningTypeEnum.CROSS_CITY.getType();
+            }
+            if (StrUtil.isNotBlank(scanProvince) && StrUtil.isNotBlank(dealerProvince) && !scanProvince.equals(dealerProvince)) {
+                return MesTraceWarningTypeEnum.CROSS_PROVINCE.getType();
+            }
+            return null;
+        }
+        // 鐪佺骇绮掑害
+        if (StrUtil.isNotBlank(scanProvince) && StrUtil.isNotBlank(dealerProvince) && !scanProvince.equals(dealerProvince)) {
+            return MesTraceWarningTypeEnum.CROSS_PROVINCE.getType();
+        }
+        return null;
+    }
+
+    /**
+     * 鏍规嵁 Area id 鍚戜笂瑙f瀽鐪佸競鍖猴紙涓庢秷璐硅�呮壂鐮佷簨浠� IP 褰掑睘鍦拌В鏋愬彛寰勪竴鑷达紝淇濊瘉鍙瘮杈冿級
+     */
+    private String[] resolveRegion(Integer areaId) {
+        if (areaId == null) {
+            return new String[]{null, null};
+        }
+        Area area = AreaUtils.getArea(areaId);
+        if (area == null) {
+            return new String[]{null, null};
+        }
+        String province = null;
+        String city = null;
+        Area node = area;
+        while (node != null) {
+            Integer type = node.getType();
+            if (AreaTypeEnum.PROVINCE.getType().equals(type)) {
+                province = node.getName();
+            } else if (AreaTypeEnum.CITY.getType().equals(type)) {
+                city = node.getName();
+            }
+            node = node.getParent();
+        }
+        return new String[]{province, city};
+    }
+
+    /**
+     * 鐢熸垚棰勮缂栧彿锛歐ARN + 鏃堕棿鎴� + 闅忔満搴忓彿
+     */
+    private String generateWarningNo() {
+        return "WARN" + java.time.LocalDateTime.now()
+                .format(java.time.format.DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))
+                + StrUtil.sub(IdUtil.fastSimpleUUID(), 0, 6).toUpperCase();
+    }
+
+    private String statusName(Integer status) {
+        if (status == null) {
+            return "";
+        }
+        for (MesTraceWarningStatusEnum e : MesTraceWarningStatusEnum.values()) {
+            if (ObjUtil.equal(e.getStatus(), status)) {
+                return e.getName();
+            }
+        }
+        return String.valueOf(status);
+    }
+
+    private String warningTypeName(String type) {
+        if (type == null) {
+            return "";
+        }
+        for (MesTraceWarningTypeEnum e : MesTraceWarningTypeEnum.values()) {
+            if (ObjUtil.equal(e.getType(), type)) {
+                return e.getName();
+            }
+        }
+        return type;
+    }
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/integrity/MesTraceIntegrityService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/integrity/MesTraceIntegrityService.java
new file mode 100644
index 0000000..4a2a3d3
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/integrity/MesTraceIntegrityService.java
@@ -0,0 +1,57 @@
+package cn.iocoder.yudao.module.mes.service.trace.integrity;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.integrity.vo.MesTraceIntegrityRecordPageReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.integrity.vo.MesTraceIntegrityVerifyRespVO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.consumer.MesTraceConsumerScanEventDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.integrity.MesTraceIntegrityRecordDO;
+
+/**
+ * 鏁版嵁瀹屾暣鎬� Service 鎺ュ彛
+ * <p>
+ * 鍦ㄦ壒娆″垱寤恒�侀攢鍞嚭搴撱�佹秷璐硅�呮壂鐮佺瓑鍏抽敭浜嬩欢鍙戠敓鏃讹紝瀵逛笉鍙彉鏍稿績瀛楁鐢熸垚 SHA-256 鎽樿骞跺瓨鍌紱
+ * 鎻愪緵閲嶇畻姣斿鑳藉姏锛屼緵绠$悊绔彂鐜颁簨鍚庣鏀广�傛憳瑕佺敓鎴愬け璐ヤ笉寰楅樆鏂笟鍔′富娴佺▼銆�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+public interface MesTraceIntegrityService {
+
+    /**
+     * 鐢熸垚骞朵繚瀛樻壒娆″畬鏁存�ф憳瑕侊紙code|itemId|lineCode|produceDate|planQuantity锛�
+     *
+     * @param batchId 鎵规缂栧彿
+     */
+    void recordBatchIntegrity(Long batchId);
+
+    /**
+     * 鐢熸垚骞朵繚瀛橀攢鍞嚭搴撳畬鏁存�ф憳瑕侊紙code|clientId|salesDate|鏄庣粏琚嬬爜/鎵樼洏鐮乮d鍒楄〃锛�
+     *
+     * @param salesId 閿�鍞嚭搴撳崟缂栧彿
+     */
+    void recordSalesIntegrity(Long salesId);
+
+    /**
+     * 鐢熸垚骞朵繚瀛樻秷璐硅�呮壂鐮佷簨浠跺畬鏁存�ф憳瑕侊紙normalizedCode|sourceType|province|city|success|eventTime锛�
+     *
+     * @param event 娑堣垂鑰呮壂鐮佷簨浠�
+     */
+    void recordScanIntegrity(MesTraceConsumerScanEventDO event);
+
+    /**
+     * 鏍¢獙鏁版嵁瀹屾暣鎬э細閲嶇畻褰撳墠鏁版嵁鎽樿锛屼笌瀛樺偍鎽樿姣斿
+     *
+     * @param bizType 涓氬姟绫诲瀷锛欱ATCH / SALES / SCAN
+     * @param bizId   涓氬姟璁板綍缂栧彿
+     * @return 鏍¢獙缁撴灉
+     */
+    MesTraceIntegrityVerifyRespVO verify(String bizType, Long bizId);
+
+    /**
+     * 鑾峰緱鏁版嵁瀹屾暣鎬ц褰曞垎椤�
+     *
+     * @param reqVO 鏌ヨ鏉′欢
+     * @return 璁板綍鍒嗛〉
+     */
+    PageResult<MesTraceIntegrityRecordDO> getIntegrityPage(MesTraceIntegrityRecordPageReqVO reqVO);
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/integrity/MesTraceIntegrityServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/integrity/MesTraceIntegrityServiceImpl.java
new file mode 100644
index 0000000..e167248
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/trace/integrity/MesTraceIntegrityServiceImpl.java
@@ -0,0 +1,237 @@
+package cn.iocoder.yudao.module.mes.service.trace.integrity;
+
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.crypto.digest.DigestUtil;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.integrity.vo.MesTraceIntegrityRecordPageReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.integrity.vo.MesTraceIntegrityVerifyRespVO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.pro.bagcode.MesProBagCodeDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.pro.batch.MesProBatchDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.consumer.MesTraceConsumerScanEventDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.integrity.MesTraceIntegrityRecordDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productsales.MesWmProductSalesDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productsales.MesWmProductSalesDetailDO;
+import cn.iocoder.yudao.module.mes.dal.mysql.pro.bagcode.MesProBagCodeMapper;
+import cn.iocoder.yudao.module.mes.dal.mysql.pro.batch.MesProBatchMapper;
+import cn.iocoder.yudao.module.mes.dal.mysql.trace.consumer.MesTraceConsumerScanEventMapper;
+import cn.iocoder.yudao.module.mes.dal.mysql.trace.integrity.MesTraceIntegrityRecordMapper;
+import cn.iocoder.yudao.module.mes.dal.mysql.wm.productsales.MesWmProductSalesDetailMapper;
+import cn.iocoder.yudao.module.mes.dal.mysql.wm.productsales.MesWmProductSalesMapper;
+import cn.iocoder.yudao.module.mes.enums.trace.MesTraceIntegrityBizTypeEnum;
+import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+import java.time.LocalDateTime;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Objects;
+
+import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.MES_TRACE_INTEGRITY_BIZ_NOT_EXISTS;
+import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.MES_TRACE_INTEGRITY_BIZ_TYPE_INVALID;
+import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.MES_TRACE_INTEGRITY_RECORD_NOT_EXISTS;
+
+/**
+ * 鏁版嵁瀹屾暣鎬� Service 瀹炵幇绫�
+ * <p>
+ * 鎽樿浠呰鐩栦笉鍙彉鏍稿績瀛楁锛岄伩鍏嶆甯镐笟鍔℃祦杞紙鑽夌鈫掔敓浜т腑鈫掑畬鎴愩�佸嚭搴撳悗鐘舵�佹洿鏂扮瓑锛夊鑷磋鎶ャ��
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Service
+@Validated
+@Slf4j
+public class MesTraceIntegrityServiceImpl implements MesTraceIntegrityService {
+
+    @Resource
+    private MesTraceIntegrityRecordMapper integrityRecordMapper;
+    @Resource
+    private MesProBatchMapper batchMapper;
+    @Resource
+    private MesProBagCodeMapper bagCodeMapper;
+    @Resource
+    private MesWmProductSalesMapper productSalesMapper;
+    @Resource
+    private MesWmProductSalesDetailMapper productSalesDetailMapper;
+    @Resource
+    private MesTraceConsumerScanEventMapper scanEventMapper;
+
+    @Override
+    public void recordBatchIntegrity(Long batchId) {
+        try {
+            MesProBatchDO batch = batchMapper.selectById(batchId);
+            if (batch == null) {
+                return;
+            }
+            upsertRecord(MesTraceIntegrityBizTypeEnum.BATCH.getType(), batch.getId(), batch.getCode(), batchHash(batch));
+        } catch (Exception ex) {
+            log.warn("[recordBatchIntegrity][鎵规鎽樿鐢熸垚澶辫触] batchId={}", batchId, ex);
+        }
+    }
+
+    @Override
+    public void recordSalesIntegrity(Long salesId) {
+        try {
+            MesWmProductSalesDO sales = productSalesMapper.selectById(salesId);
+            if (sales == null) {
+                return;
+            }
+            String hash = salesHash(sales, productSalesDetailMapper.selectListBySalesId(salesId));
+            upsertRecord(MesTraceIntegrityBizTypeEnum.SALES.getType(), sales.getId(), sales.getCode(), hash);
+        } catch (Exception ex) {
+            log.warn("[recordSalesIntegrity][鍑哄簱鎽樿鐢熸垚澶辫触] salesId={}", salesId, ex);
+        }
+    }
+
+    @Override
+    public void recordScanIntegrity(MesTraceConsumerScanEventDO event) {
+        if (event == null || event.getId() == null) {
+            return;
+        }
+        try {
+            upsertRecord(MesTraceIntegrityBizTypeEnum.SCAN.getType(), event.getId(), event.getNormalizedCode(), scanHash(event));
+        } catch (Exception ex) {
+            log.warn("[recordScanIntegrity][鎵爜鎽樿鐢熸垚澶辫触] scanEventId={}", event.getId(), ex);
+        }
+    }
+
+    @Override
+    public MesTraceIntegrityVerifyRespVO verify(String bizType, Long bizId) {
+        if (!MesTraceIntegrityBizTypeEnum.isValid(bizType)) {
+            throw exception(MES_TRACE_INTEGRITY_BIZ_TYPE_INVALID);
+        }
+        MesTraceIntegrityRecordDO record = integrityRecordMapper.selectByBiz(bizType, bizId);
+        if (record == null) {
+            throw exception(MES_TRACE_INTEGRITY_RECORD_NOT_EXISTS);
+        }
+        String currentHash;
+        String bizCode = record.getBizCode();
+        String bagSetHash = null;
+        if (MesTraceIntegrityBizTypeEnum.BATCH.getType().equals(bizType)) {
+            MesProBatchDO batch = batchMapper.selectById(bizId);
+            if (batch == null) {
+                throw exception(MES_TRACE_INTEGRITY_BIZ_NOT_EXISTS);
+            }
+            bizCode = batch.getCode();
+            currentHash = batchHash(batch);
+            bagSetHash = bagSetHash(bizId);
+        } else if (MesTraceIntegrityBizTypeEnum.SALES.getType().equals(bizType)) {
+            MesWmProductSalesDO sales = productSalesMapper.selectById(bizId);
+            if (sales == null) {
+                throw exception(MES_TRACE_INTEGRITY_BIZ_NOT_EXISTS);
+            }
+            bizCode = sales.getCode();
+            currentHash = salesHash(sales, productSalesDetailMapper.selectListBySalesId(bizId));
+        } else {
+            MesTraceConsumerScanEventDO event = scanEventMapper.selectById(bizId);
+            if (event == null) {
+                throw exception(MES_TRACE_INTEGRITY_BIZ_NOT_EXISTS);
+            }
+            bizCode = event.getNormalizedCode();
+            currentHash = scanHash(event);
+        }
+        boolean matched = StrUtil.equals(record.getContentHash(), currentHash);
+        return new MesTraceIntegrityVerifyRespVO()
+                .setBizType(bizType)
+                .setBizId(bizId)
+                .setBizCode(bizCode)
+                .setMatched(matched)
+                .setStoredHash(record.getContentHash())
+                .setCurrentHash(currentHash)
+                .setBagSetHash(bagSetHash)
+                .setMessage(matched ? "鏁版嵁瀹屾暣锛屾湭琚鏀�" : "鏁版嵁涓嶄竴鑷达紝鍙兘瀛樺湪绡℃敼");
+    }
+
+    @Override
+    public PageResult<MesTraceIntegrityRecordDO> getIntegrityPage(MesTraceIntegrityRecordPageReqVO reqVO) {
+        return integrityRecordMapper.selectPage(reqVO);
+    }
+
+    // ==================== 绉佹湁鏂规硶 ====================
+
+    /**
+     * 鎵规鎽樿锛氫粎瑕嗙洊鍒涘缓鍚庝笉鍐嶅彉鏇寸殑鏍稿績瀛楁锛屼笉鍚姸鎬併�佽鐮佹暟閲忕瓑鍙彉瀛楁
+     */
+    private String batchHash(MesProBatchDO batch) {
+        StringBuilder sb = new StringBuilder();
+        sb.append(StrUtil.nullToEmpty(batch.getCode())).append('|')
+                .append(nvl(batch.getItemId())).append('|')
+                .append(StrUtil.nullToEmpty(batch.getLineCode())).append('|')
+                .append(nvl(batch.getProduceDate())).append('|')
+                .append(nvl(batch.getPlanQuantity()));
+        return DigestUtil.sha256Hex(sb.toString());
+    }
+
+    /**
+     * 鍑哄簱鎽樿锛氭槑缁嗚鐮�/鎵樼洏鐮� id 鎺掑簭鍚庢嫾鍏ワ紝淇濊瘉鏄庣粏椤哄簭涓嶅奖鍝嶆憳瑕�
+     */
+    private String salesHash(MesWmProductSalesDO sales, List<MesWmProductSalesDetailDO> details) {
+        List<Long> codeIds = details.stream()
+                .map(d -> d.getBagCodeId() != null ? d.getBagCodeId() : d.getPalletCodeId())
+                .filter(Objects::nonNull)
+                .sorted(Comparator.naturalOrder())
+                .toList();
+        StringBuilder sb = new StringBuilder();
+        sb.append(StrUtil.nullToEmpty(sales.getCode())).append('|')
+                .append(nvl(sales.getClientId())).append('|')
+                .append(nvl(sales.getSalesDate())).append('|')
+                .append(codeIds);
+        return DigestUtil.sha256Hex(sb.toString());
+    }
+
+    /**
+     * 鎵爜浜嬩欢鎽樿锛氫簨浠朵粎 insert 涓嶆敼锛屽叏瀛楁瀹夊叏
+     */
+    private String scanHash(MesTraceConsumerScanEventDO event) {
+        StringBuilder sb = new StringBuilder();
+        sb.append(StrUtil.nullToEmpty(event.getNormalizedCode())).append('|')
+                .append(StrUtil.nullToEmpty(event.getSourceType())).append('|')
+                .append(StrUtil.nullToEmpty(event.getProvince())).append('|')
+                .append(StrUtil.nullToEmpty(event.getCity())).append('|')
+                .append(nvl(event.getSuccess())).append('|')
+                .append(nvl(event.getEventTime()));
+        return DigestUtil.sha256Hex(sb.toString());
+    }
+
+    /**
+     * 鎵规褰撳墠琚嬬爜闆嗗悎鎽樿锛堝疄鏃惰绠楋紝渚涗汉宸ユ瘮瀵硅鐮侀槻绡℃敼锛屼笉鍏ュ簱锛�
+     */
+    private String bagSetHash(Long batchId) {
+        List<String> codes = bagCodeMapper.selectListByBatchId(batchId).stream()
+                .map(MesProBagCodeDO::getCode)
+                .filter(StrUtil::isNotBlank)
+                .sorted()
+                .toList();
+        return DigestUtil.sha256Hex(String.join("|", codes));
+    }
+
+    /**
+     * 鎽樿涓嶅瓨鍦ㄦ椂鏇存柊锛屽惁鍒欒鐩栵紙鍚屼竴涓氬姟璁板綍鍙繚鐣欐渶鏂版憳瑕侊級
+     */
+    private void upsertRecord(String bizType, Long bizId, String bizCode, String hash) {
+        MesTraceIntegrityRecordDO record = integrityRecordMapper.selectByBiz(bizType, bizId);
+        if (record == null) {
+            integrityRecordMapper.insert(MesTraceIntegrityRecordDO.builder()
+                    .bizType(bizType)
+                    .bizId(bizId)
+                    .bizCode(bizCode)
+                    .contentHash(hash)
+                    .eventTime(LocalDateTime.now())
+                    .build());
+        } else {
+            integrityRecordMapper.updateById(MesTraceIntegrityRecordDO.builder()
+                    .id(record.getId())
+                    .bizCode(bizCode)
+                    .contentHash(hash)
+                    .eventTime(LocalDateTime.now())
+                    .build());
+        }
+    }
+
+    private String nvl(Object value) {
+        return value == null ? "" : String.valueOf(value);
+    }
+
+}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesServiceImpl.java
index bfe7e4d..a54a1eb 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesServiceImpl.java
@@ -6,6 +6,7 @@
 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
+import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
 import cn.iocoder.yudao.module.mes.controller.admin.wm.productsales.vo.MesWmProductSalesPageReqVO;
 import cn.iocoder.yudao.module.mes.controller.admin.wm.productsales.vo.MesWmProductSalesSaveReqVO;
 import cn.iocoder.yudao.module.mes.controller.admin.wm.productsales.vo.MesWmProductSalesShippingReqVO;
@@ -32,9 +33,11 @@
 import cn.iocoder.yudao.module.mes.enums.wm.MesWmStockReserveBizTypeEnum;
 import cn.iocoder.yudao.module.mes.enums.wm.MesWmTransactionTypeEnum;
 import cn.iocoder.yudao.module.crm.api.customer.CrmCustomerApi;
+import cn.iocoder.yudao.module.crm.api.customer.dto.CrmCustomerRespDTO;
 import cn.iocoder.yudao.module.mes.service.wm.materialstock.MesWmMaterialStockService;
 import cn.iocoder.yudao.module.mes.service.wm.salesnotice.MesWmSalesNoticeService;
 import cn.iocoder.yudao.module.mes.service.pro.batch.MesProBatchService;
+import cn.iocoder.yudao.module.mes.service.trace.integrity.MesTraceIntegrityService;
 import cn.iocoder.yudao.module.mes.service.wm.batch.MesWmBatchService;
 import cn.iocoder.yudao.module.mes.service.wm.stockreserve.MesWmStockReserveService;
 import cn.iocoder.yudao.module.mes.service.wm.transaction.MesWmTransactionService;
@@ -98,6 +101,9 @@
     @Resource
     @Lazy
     private MesQcOqcService oqcService;
+
+    @Resource
+    private MesTraceIntegrityService integrityService;
 
     @Resource
     private ErpSaleOrderApi saleOrderApi;
@@ -372,9 +378,14 @@
         // 3. 閬嶅巻鎵�鏈夋槑缁嗭紝鍒涘缓搴撳瓨浜嬪姟锛堟墸鍑忓簱瀛� + 璁板綍娴佹按锛�
         createTransactionList(sales);
 
-        // 4. 鏇存柊鍑哄簱鍗曠姸鎬�
+        // 4. 鍥哄寲缁忛攢鍟嗕笌瀹為檯鍑哄簱鎿嶄綔淇℃伅
+        CrmCustomerRespDTO customer = customerApi.getCustomer(sales.getClientId());
         productSalesMapper.updateById(new MesWmProductSalesDO()
-                .setId(id).setStatus(MesWmProductSalesStatusEnum.FINISHED.getStatus()));
+                .setId(id)
+                .setClientName(customer != null ? customer.getName() : null)
+                .setOutboundTime(java.time.LocalDateTime.now())
+                .setOutboundUserId(SecurityFrameworkUtils.getLoginUserId())
+                .setStatus(MesWmProductSalesStatusEnum.FINISHED.getStatus()));
 
         // 5. 鏇存柊鍏宠仈鐨勫彂璐ч�氱煡鍗曞嚭搴撴暟閲忓拰鐘舵��
         if (sales.getNoticeId() != null) {
@@ -383,6 +394,18 @@
 
         // 6. 鍥炲啓 ERP 閿�鍞鍗曠殑鍑哄簱鏁伴噺鍜岀姸鎬�
         updateErpSaleOrderOutCount(sales);
+
+        // 7. 鍥炲啓琚嬬爜/鎵樼洏鍑哄簱鍘诲悜锛堜緵绐滆揣绋芥煡瀹氫綅缁忛攢鍟嗗湴鍖猴級锛屽苟鐢熸垚鍑哄簱瀹屾暣鎬ф憳瑕�
+        List<MesWmProductSalesDetailDO> outDetails = productSalesDetailService.getProductSalesDetailListBySalesId(id);
+        for (MesWmProductSalesDetailDO detail : outDetails) {
+            if (detail.getBagCodeId() != null) {
+                bagCodeService.markOutbound(detail.getBagCodeId(), id);
+            }
+            if (detail.getPalletCodeId() != null) {
+                palletService.markOutbound(detail.getPalletCodeId(), id);
+            }
+        }
+        integrityService.recordSalesIntegrity(id);
     }
 
     /**
diff --git a/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanEventServiceImplTest.java b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanEventServiceImplTest.java
new file mode 100644
index 0000000..07f170e
--- /dev/null
+++ b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanEventServiceImplTest.java
@@ -0,0 +1,89 @@
+package cn.iocoder.yudao.module.mes.service.trace.consumer;
+
+import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.consumer.MesTraceConsumerScanEventDO;
+import cn.iocoder.yudao.module.mes.dal.mysql.trace.consumer.MesTraceConsumerScanEventMapper;
+import jakarta.annotation.Resource;
+import org.junit.jupiter.api.Test;
+import org.springframework.context.annotation.Import;
+
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+/**
+ * {@link MesTraceConsumerScanEventServiceImpl} 鐨勫崟鍏冩祴璇�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Import(MesTraceConsumerScanEventServiceImpl.class)
+public class MesTraceConsumerScanEventServiceImplTest extends BaseDbUnitTest {
+
+    @Resource
+    private MesTraceConsumerScanEventService eventService;
+
+    @Resource
+    private MesTraceConsumerScanEventMapper eventMapper;
+
+    /**
+     * 鏌ヨ鍒氭彃鍏ョ殑绗竴鏉′簨浠讹紙id 鐢卞簭鍒�/闆姳绠楁硶鐢熸垚锛屼笉鍥哄畾涓� 1锛�
+     */
+    private MesTraceConsumerScanEventDO getFirstEvent() {
+        List<MesTraceConsumerScanEventDO> list = eventMapper.selectList(null);
+        return list.isEmpty() ? null : list.get(0);
+    }
+
+    @Test
+    public void testRecordScan_鎴愬姛浜嬩欢钀藉簱() {
+        // 鏃犺姹備笂涓嬫枃鏃� IP/UA/娓犻亾涓虹┖锛屼絾浜嬩欢浠嶅簲钀藉簱涓斾笉鎶涘紓甯�
+        eventService.recordScan("PC-RAW-CODE", "PC-CODE-001", "BAG", 100L, true, null);
+
+        MesTraceConsumerScanEventDO event = getFirstEvent();
+        assertNotNull(event);
+        assertEquals("PC-RAW-CODE", event.getTraceCode());
+        assertEquals("PC-CODE-001", event.getNormalizedCode());
+        assertEquals("BAG", event.getSourceType());
+        assertEquals(100L, event.getBatchId());
+        assertTrue(Boolean.TRUE.equals(event.getSuccess()));
+        assertNull(event.getErrorCode());
+        assertNull(event.getIpHash()); // 鏃犺姹備笂涓嬫枃鏃犳槑鏂� IP锛屼篃涓嶅簲淇濆瓨
+        assertNull(event.getChannel());
+        assertNotNull(event.getEventTime());
+    }
+
+    @Test
+    public void testRecordScan_澶辫触浜嬩欢钀藉簱() {
+        eventService.recordScan("NOT-EXIST", null, null, null, false, "MES_TRACE_CODE_NOT_FOUND");
+
+        MesTraceConsumerScanEventDO event = getFirstEvent();
+        assertNotNull(event);
+        assertFalse(Boolean.TRUE.equals(event.getSuccess()));
+        assertEquals("MES_TRACE_CODE_NOT_FOUND", event.getErrorCode());
+        assertNull(event.getSourceType());
+        assertNull(event.getBatchId());
+    }
+
+    @Test
+    public void testRecordScan_瓒呴暱鐮佹埅鏂�() {
+        String longCode = "X".repeat(500);
+        eventService.recordScan(longCode, longCode, "BATCH", null, true, null);
+
+        MesTraceConsumerScanEventDO event = getFirstEvent();
+        assertNotNull(event);
+        // traceCode 鎴柇鍒� 255銆乶ormalizedCode 鎴柇鍒� 128
+        assertEquals(255, event.getTraceCode().length());
+        assertEquals(128, event.getNormalizedCode().length());
+    }
+
+    @Test
+    public void testRecordScan_璁板綍寮傚父涓嶅奖鍝嶆帴鍙�() {
+        // recordScan 鍐呴儴鍚炴帀寮傚父锛屼簨浠朵粛搴旀甯歌惤搴�
+        eventService.recordScan("CODE", "CODE", "BATCH", null, true, null);
+        assertNotNull(getFirstEvent());
+    }
+
+}
diff --git a/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanStatisticsServiceImplTest.java b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanStatisticsServiceImplTest.java
new file mode 100644
index 0000000..ed7dbcd
--- /dev/null
+++ b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/trace/consumer/MesTraceConsumerScanStatisticsServiceImplTest.java
@@ -0,0 +1,154 @@
+package cn.iocoder.yudao.module.mes.service.trace.consumer;
+
+import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.consumer.vo.MesTraceConsumerScanDistributionReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.consumer.vo.MesTraceConsumerScanDistributionRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.consumer.vo.MesTraceConsumerScanSummaryRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.consumer.vo.MesTraceConsumerScanTrendRespVO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.consumer.MesTraceConsumerScanEventDO;
+import cn.iocoder.yudao.module.mes.dal.mysql.trace.consumer.MesTraceConsumerScanEventMapper;
+import jakarta.annotation.Resource;
+import org.junit.jupiter.api.Test;
+import org.springframework.context.annotation.Import;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+/**
+ * {@link MesTraceConsumerScanStatisticsServiceImpl} 鐨勫崟鍏冩祴璇�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Import(MesTraceConsumerScanStatisticsServiceImpl.class)
+public class MesTraceConsumerScanStatisticsServiceImplTest extends BaseDbUnitTest {
+
+    @Resource
+    private MesTraceConsumerScanStatisticsService statisticsService;
+
+    @Resource
+    private MesTraceConsumerScanEventMapper eventMapper;
+
+    private MesTraceConsumerScanEventDO buildEvent(String traceCode, String sourceType, String channel,
+                                                   String province, Long batchId, boolean success,
+                                                   LocalDateTime eventTime) {
+        return MesTraceConsumerScanEventDO.builder()
+                .traceCode(traceCode).normalizedCode(traceCode).sourceType(sourceType)
+                .channel(channel).province(province).batchId(batchId).success(success)
+                .eventTime(eventTime).build();
+    }
+
+    @Test
+    public void testGetSummary_缁熻鍙e緞() {
+        LocalDateTime t1 = LocalDateTime.of(2026, 9, 1, 10, 0);
+        LocalDateTime t2 = LocalDateTime.of(2026, 9, 2, 11, 0);
+        eventMapper.insert(buildEvent("B1", "BAG", "寰俊", "姹熻嫃鐪�", 100L, true, t1));
+        eventMapper.insert(buildEvent("B2", "BAG", "娴忚鍣�", "姹熻嫃鐪�", 100L, true, t2));
+        eventMapper.insert(buildEvent("B3", "BATCH", null, null, null, false, t2));
+
+        MesTraceConsumerScanSummaryRespVO vo = statisticsService.getSummary(
+                LocalDateTime.of(2026, 9, 1, 0, 0), LocalDateTime.of(2026, 9, 3, 0, 0));
+
+        assertNotNull(vo);
+        assertEquals(3L, vo.getTotal());
+        assertEquals(2L, vo.getSuccess());
+        assertEquals(1L, vo.getFailed());
+        assertEquals(1L, vo.getUniqueBatchCount()); // 浠� batchId 闈炵┖涓斿幓閲�
+    }
+
+    @Test
+    public void testGetTrend_琛ラ綈鏃犳暟鎹棩鏈�() {
+        // 9 鏈� 1 鏃ヤ袱鏉°��9 鏈� 3 鏃ヤ竴鏉★紱9 鏈� 2 鏃ユ棤鏁版嵁搴旇ˉ 0
+        eventMapper.insert(buildEvent("B1", "BAG", "寰俊", null, 100L, true,
+                LocalDateTime.of(2026, 9, 1, 9, 0)));
+        eventMapper.insert(buildEvent("B2", "BATCH", null, null, null, false,
+                LocalDateTime.of(2026, 9, 1, 10, 0)));
+        eventMapper.insert(buildEvent("B3", "BAG", "娴忚鍣�", null, 100L, true,
+                LocalDateTime.of(2026, 9, 3, 9, 0)));
+
+        List<MesTraceConsumerScanTrendRespVO> list = statisticsService.getTrend(
+                LocalDateTime.of(2026, 9, 1, 0, 0), LocalDateTime.of(2026, 9, 4, 0, 0));
+
+        assertNotNull(list);
+        assertEquals(3, list.size());
+        assertEquals("2026-09-01", list.get(0).getDate());
+        assertEquals(2L, list.get(0).getTotal());
+        assertEquals("2026-09-02", list.get(1).getDate());
+        assertEquals(0L, list.get(1).getTotal()); // 琛� 0
+        assertEquals("2026-09-03", list.get(2).getDate());
+        assertEquals(1L, list.get(2).getTotal());
+    }
+
+    @Test
+    public void testGetDistribution_bySourceType() {
+        eventMapper.insert(buildEvent("B1", "BAG", null, null, 100L, true,
+                LocalDateTime.of(2026, 9, 1, 9, 0)));
+        eventMapper.insert(buildEvent("B2", "PALLET", null, null, 100L, true,
+                LocalDateTime.of(2026, 9, 1, 10, 0)));
+        eventMapper.insert(buildEvent("B3", "PALLET", null, null, null, false,
+                LocalDateTime.of(2026, 9, 1, 11, 0)));
+
+        MesTraceConsumerScanDistributionReqVO reqVO = new MesTraceConsumerScanDistributionReqVO();
+        reqVO.setGroupBy("sourceType");
+        List<MesTraceConsumerScanDistributionRespVO> list = statisticsService.getDistribution(reqVO);
+
+        assertNotNull(list);
+        // PALLET 2 鏉� > BAG 1 鏉★紙鎸� count 鍊掑簭锛�
+        assertEquals("PALLET", list.get(0).getName());
+        assertEquals(2L, list.get(0).getCount());
+        assertEquals("BAG", list.get(1).getName());
+        assertEquals(1L, list.get(1).getCount());
+    }
+
+    @Test
+    public void testGetDistribution_nullKey鏄犲皠鏈煡() {
+        // 瑙f瀽澶辫触鐨勪簨浠� sourceType 涓� null锛屼笉寰楀洜 groupBy 绌洪敭鎶� NPE锛屽簲鑱氬悎涓�"鏈煡"
+        eventMapper.insert(buildEvent("B1", "BAG", null, null, 100L, true,
+                LocalDateTime.of(2026, 9, 1, 9, 0)));
+        eventMapper.insert(buildEvent("B2", null, null, null, null, false,
+                LocalDateTime.of(2026, 9, 1, 10, 0)));
+        eventMapper.insert(buildEvent("B3", null, null, null, null, false,
+                LocalDateTime.of(2026, 9, 1, 11, 0)));
+
+        MesTraceConsumerScanDistributionReqVO reqVO = new MesTraceConsumerScanDistributionReqVO();
+        reqVO.setGroupBy("sourceType");
+        List<MesTraceConsumerScanDistributionRespVO> list = statisticsService.getDistribution(reqVO);
+
+        assertNotNull(list);
+        // 鎸� count 鍊掑簭锛氭湭鐭�(2) 鍦� BAG(1) 涔嬪墠
+        assertEquals(2, list.size());
+        assertEquals("鏈煡", list.get(0).getName());
+        assertEquals(2L, list.get(0).getCount());
+        assertEquals("BAG", list.get(1).getName());
+        assertEquals(1L, list.get(1).getCount());
+    }
+
+    @Test
+    public void testGetDistribution_success鏄剧ず鍚嶇О() {
+        eventMapper.insert(buildEvent("B1", "BAG", null, null, 100L, true,
+                LocalDateTime.of(2026, 9, 1, 9, 0)));
+        eventMapper.insert(buildEvent("B2", "BAG", null, null, null, false,
+                LocalDateTime.of(2026, 9, 1, 10, 0)));
+
+        MesTraceConsumerScanDistributionReqVO reqVO = new MesTraceConsumerScanDistributionReqVO();
+        reqVO.setGroupBy("success");
+        List<MesTraceConsumerScanDistributionRespVO> list = statisticsService.getDistribution(reqVO);
+
+        assertNotNull(list);
+        assertEquals(2, list.size());
+        // 鏁伴噺鐩稿悓鏃舵寜鍒嗙粍鍚嶅崌搴忥細"0"(澶辫触) 鍦� "1"(鎴愬姛) 涔嬪墠
+        assertEquals("澶辫触", list.get(0).getName());
+        assertEquals("鎴愬姛", list.get(1).getName());
+    }
+
+    @Test
+    public void testGetDistribution_闈炴硶缁村害鎷掔粷() {
+        MesTraceConsumerScanDistributionReqVO reqVO = new MesTraceConsumerScanDistributionReqVO();
+        reqVO.setGroupBy("item_code; DROP TABLE x");
+        assertThrows(IllegalArgumentException.class, () -> statisticsService.getDistribution(reqVO));
+    }
+
+}
diff --git a/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/trace/crossregion/MesTraceCrossRegionServiceImplTest.java b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/trace/crossregion/MesTraceCrossRegionServiceImplTest.java
new file mode 100644
index 0000000..bac16e1
--- /dev/null
+++ b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/trace/crossregion/MesTraceCrossRegionServiceImplTest.java
@@ -0,0 +1,367 @@
+package cn.iocoder.yudao.module.mes.service.trace.crossregion;
+
+import cn.iocoder.yudao.framework.common.exception.ServiceException;
+import cn.iocoder.yudao.framework.ip.core.utils.AreaUtils;
+import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
+import cn.iocoder.yudao.module.crm.api.customer.CrmCustomerApi;
+import cn.iocoder.yudao.module.crm.api.customer.dto.CrmCustomerRespDTO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionHandleReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionStatisticsReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionStatisticsRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionSummaryRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionWarningPageReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceCrossRegionWarningRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.crossregion.vo.MesTraceAntiConfigRespVO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.mdm.MesMdmItemDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.pro.bagcode.MesProBagCodeDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.pro.batch.MesProBatchDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.consumer.MesTraceConsumerScanEventDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.crossregion.MesTraceAntiConfigDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.crossregion.MesTraceCrossRegionWarningDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productsales.MesWmProductSalesDO;
+import cn.iocoder.yudao.module.mes.dal.mysql.trace.crossregion.MesTraceAntiConfigMapper;
+import cn.iocoder.yudao.module.mes.dal.mysql.trace.crossregion.MesTraceCrossRegionWarningMapper;
+import cn.iocoder.yudao.module.mes.dal.mysql.wm.productsales.MesWmProductSalesDetailMapper;
+import cn.iocoder.yudao.module.mes.dal.mysql.wm.productsales.MesWmProductSalesMapper;
+import cn.iocoder.yudao.module.mes.enums.trace.MesTraceWarningStatusEnum;
+import cn.iocoder.yudao.module.mes.enums.trace.MesTraceWarningTypeEnum;
+import cn.iocoder.yudao.module.mes.service.mdm.MesMdmItemService;
+import cn.iocoder.yudao.module.mes.service.pro.bagcode.MesProBagCodeService;
+import cn.iocoder.yudao.module.mes.service.pro.batch.MesProBatchService;
+import cn.iocoder.yudao.module.mes.service.pro.pallet.MesProPalletService;
+import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
+import jakarta.annotation.Resource;
+import org.junit.jupiter.api.Test;
+import org.springframework.context.annotation.Import;
+import org.springframework.test.context.bean.override.mockito.MockitoBean;
+
+import java.time.LocalDateTime;
+import java.util.Collections;
+import java.util.List;
+
+import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.MES_TRACE_ANTI_CONFIG_VALUE_INVALID;
+import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.MES_TRACE_CROSS_REGION_STATUS_INVALID;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+/**
+ * {@link MesTraceCrossRegionServiceImpl} 鐨勫崟鍏冩祴璇�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Import(MesTraceCrossRegionServiceImpl.class)
+public class MesTraceCrossRegionServiceImplTest extends BaseDbUnitTest {
+
+    @Resource
+    private MesTraceCrossRegionService crossRegionService;
+    @Resource
+    private MesTraceCrossRegionWarningMapper warningMapper;
+    @Resource
+    private MesTraceAntiConfigMapper antiConfigMapper;
+
+    @MockitoBean
+    private MesProBagCodeService bagCodeService;
+    @MockitoBean
+    private MesProPalletService palletService;
+    @MockitoBean
+    private MesProBatchService batchService;
+    @MockitoBean
+    private MesMdmItemService mdmItemService;
+    @MockitoBean
+    private CrmCustomerApi customerApi;
+    @MockitoBean
+    private AdminUserApi adminUserApi;
+    @MockitoBean
+    private MesWmProductSalesMapper productSalesMapper;
+    @MockitoBean
+    private MesWmProductSalesDetailMapper productSalesDetailMapper;
+
+    // ==================== 绐滆揣鍒ゅ畾 ====================
+
+    @Test
+    public void testCheckAndCreateWarning_璺ㄧ渷瑙﹀彂() {
+        // 閰嶇疆鐪佺骇绮掑害
+        antiConfigMapper.insert(MesTraceAntiConfigDO.builder()
+                .configKey("warning_level").configValue("PROVINCE").build());
+        mockDealer("姹熻嫃鐪�", "鍗椾含甯�");
+        MesTraceConsumerScanEventDO event = buildEvent("BAG", "娴欐睙鐪�", "鏉窞甯�", true);
+
+        crossRegionService.checkAndCreateWarning(event);
+
+        List<MesTraceCrossRegionWarningDO> warnings = warningMapper.selectList();
+        assertEquals(1, warnings.size());
+        MesTraceCrossRegionWarningDO warning = warnings.get(0);
+        assertEquals(MesTraceWarningTypeEnum.CROSS_PROVINCE.getType(), warning.getWarningType());
+        assertEquals("姹熻嫃鐪�", warning.getDealerProvince());
+        assertEquals("娴欐睙鐪�", warning.getScanProvince());
+        assertEquals("SO-001", warning.getSalesCode());
+        assertEquals("鍗庝笢缁忛攢鍟�", warning.getClientName());
+        assertEquals(event.getId(), warning.getScanEventId());
+        assertEquals(MesTraceWarningStatusEnum.PENDING.getStatus(), warning.getStatus());
+    }
+
+    @Test
+    public void testCheckAndCreateWarning_璺ㄥ競瑙﹀彂() {
+        // 甯傜骇绮掑害锛氭壂鐮佸競 鈮� 缁忛攢鍟嗗競 鈫� CROSS_CITY
+        antiConfigMapper.insert(MesTraceAntiConfigDO.builder()
+                .configKey("warning_level").configValue("CITY").build());
+        mockDealer("姹熻嫃鐪�", "鍗椾含甯�");
+        MesTraceConsumerScanEventDO event = buildEvent("BAG", "姹熻嫃鐪�", "鑻忓窞甯�", true);
+
+        crossRegionService.checkAndCreateWarning(event);
+
+        List<MesTraceCrossRegionWarningDO> warnings = warningMapper.selectList();
+        assertEquals(1, warnings.size());
+        assertEquals(MesTraceWarningTypeEnum.CROSS_CITY.getType(), warnings.get(0).getWarningType());
+        assertEquals("鍗椾含甯�", warnings.get(0).getDealerCity());
+        assertEquals("鑻忓窞甯�", warnings.get(0).getScanCity());
+    }
+
+    @Test
+    public void testCheckAndCreateWarning_鍚屽湴鍖轰笉棰勮() {
+        antiConfigMapper.insert(MesTraceAntiConfigDO.builder()
+                .configKey("warning_level").configValue("PROVINCE").build());
+        mockDealer("姹熻嫃鐪�", "鍗椾含甯�");
+        MesTraceConsumerScanEventDO event = buildEvent("BAG", "姹熻嫃鐪�", "鍗椾含甯�", true);
+
+        crossRegionService.checkAndCreateWarning(event);
+
+        assertEquals(0, warningMapper.selectCount());
+    }
+
+    @Test
+    public void testCheckAndCreateWarning_鎵爜鏃犲湴鍖哄閿�() {
+        antiConfigMapper.insert(MesTraceAntiConfigDO.builder()
+                .configKey("warning_level").configValue("PROVINCE").build());
+        mockDealer("姹熻嫃鐪�", "鍗椾含甯�");
+        MesTraceConsumerScanEventDO event = buildEvent("BAG", null, null, true);
+
+        crossRegionService.checkAndCreateWarning(event);
+
+        assertEquals(0, warningMapper.selectCount());
+    }
+
+    @Test
+    public void testCheckAndCreateWarning_鎵规鍏ュ彛璺宠繃() {
+        antiConfigMapper.insert(MesTraceAntiConfigDO.builder()
+                .configKey("warning_level").configValue("PROVINCE").build());
+        mockDealer("姹熻嫃鐪�", "鍗椾含甯�");
+        MesTraceConsumerScanEventDO event = buildEvent("BATCH", "娴欐睙鐪�", "鏉窞甯�", true);
+
+        crossRegionService.checkAndCreateWarning(event);
+
+        assertEquals(0, warningMapper.selectCount());
+    }
+
+    @Test
+    public void testCheckAndCreateWarning_琚嬬爜鏈嚭搴撹烦杩�() {
+        antiConfigMapper.insert(MesTraceAntiConfigDO.builder()
+                .configKey("warning_level").configValue("PROVINCE").build());
+        // 琚嬬爜鏈洖鍐欏嚭搴撳崟锛屼笖鏄庣粏琛ㄦ棤璁板綍 鈫� 涓嶉璀�
+        when(bagCodeService.getBagCodeByCode("BAG-00000001")).thenReturn(
+                MesProBagCodeDO.builder().id(1L).code("BAG-00000001").batchId(10L).build());
+        MesTraceConsumerScanEventDO event = buildEvent("BAG", "娴欐睙鐪�", "鏉窞甯�", true);
+
+        crossRegionService.checkAndCreateWarning(event);
+
+        verify(productSalesDetailMapper).selectLatestByBagCodeId(1L);
+        assertEquals(0, warningMapper.selectCount());
+    }
+
+    @Test
+    public void testCheckAndCreateWarning_琚嬬爜鏈粦瀹氭壒娆¤烦杩�() {
+        antiConfigMapper.insert(MesTraceAntiConfigDO.builder()
+                .configKey("warning_level").configValue("PROVINCE").build());
+        when(bagCodeService.getBagCodeByCode("BAG-00000001")).thenReturn(null);
+        MesTraceConsumerScanEventDO event = buildEvent("BAG", "娴欐睙鐪�", "鏉窞甯�", true);
+
+        crossRegionService.checkAndCreateWarning(event);
+
+        assertEquals(0, warningMapper.selectCount());
+    }
+
+    // ==================== 鐘舵�佹祦杞� ====================
+
+    @Test
+    public void testHandleWarning_鐘舵�佹祦杞�() {
+        MesTraceCrossRegionWarningDO warning = buildWarning(MesTraceWarningStatusEnum.PENDING.getStatus());
+        warningMapper.insert(warning);
+
+        MesTraceCrossRegionHandleReqVO reqVO = new MesTraceCrossRegionHandleReqVO();
+        reqVO.setId(warning.getId());
+        reqVO.setStatus(MesTraceWarningStatusEnum.HANDLED.getStatus());
+        reqVO.setHandleRemark("纭涓虹墿娴佷腑杞�");
+        crossRegionService.handleWarning(reqVO);
+
+        MesTraceCrossRegionWarningDO updated = warningMapper.selectById(warning.getId());
+        assertEquals(MesTraceWarningStatusEnum.HANDLED.getStatus(), updated.getStatus());
+        assertEquals("纭涓虹墿娴佷腑杞�", updated.getHandleRemark());
+    }
+
+    @Test
+    public void testHandleWarning_宸插鐞嗕笉鍙啀澶勭悊() {
+        MesTraceCrossRegionWarningDO warning = buildWarning(MesTraceWarningStatusEnum.HANDLED.getStatus());
+        warningMapper.insert(warning);
+
+        MesTraceCrossRegionHandleReqVO reqVO = new MesTraceCrossRegionHandleReqVO();
+        reqVO.setId(warning.getId());
+        reqVO.setStatus(MesTraceWarningStatusEnum.FALSE_ALARM.getStatus());
+        ServiceException ex = assertThrows(ServiceException.class,
+                () -> crossRegionService.handleWarning(reqVO));
+        assertEquals(MES_TRACE_CROSS_REGION_STATUS_INVALID.getCode(), ex.getCode());
+    }
+
+    // ==================== 閰嶇疆 ====================
+
+    @Test
+    public void testGetConfig_updateConfig() {
+        antiConfigMapper.insert(MesTraceAntiConfigDO.builder()
+                .configKey("warning_level").configValue("PROVINCE").build());
+
+        MesTraceAntiConfigRespVO config = crossRegionService.getConfig();
+        assertEquals("PROVINCE", config.getWarningLevel());
+
+        crossRegionService.updateConfig("CITY");
+        assertEquals("CITY", antiConfigMapper.selectByConfigKey("warning_level").getConfigValue());
+
+        ServiceException ex = assertThrows(ServiceException.class,
+                () -> crossRegionService.updateConfig("INVALID"));
+        assertEquals(MES_TRACE_ANTI_CONFIG_VALUE_INVALID.getCode(), ex.getCode());
+    }
+
+    // ==================== 姹囨�讳笌缁熻 ====================
+
+    @Test
+    public void testGetWarningSummary() {
+        warningMapper.insert(buildWarning(MesTraceWarningStatusEnum.PENDING.getStatus())
+                .setWarningType(MesTraceWarningTypeEnum.CROSS_PROVINCE.getType()));
+        warningMapper.insert(buildWarning(MesTraceWarningStatusEnum.HANDLED.getStatus())
+                .setWarningType(MesTraceWarningTypeEnum.CROSS_CITY.getType()));
+        warningMapper.insert(buildWarning(MesTraceWarningStatusEnum.FALSE_ALARM.getStatus())
+                .setWarningType(MesTraceWarningTypeEnum.CROSS_PROVINCE.getType()));
+
+        MesTraceCrossRegionSummaryRespVO vo = crossRegionService.getWarningSummary(null, null);
+
+        assertEquals(3L, vo.getTotal());
+        assertEquals(1L, vo.getPending());
+        assertEquals(1L, vo.getHandled());
+        assertEquals(1L, vo.getFalseAlarm());
+        assertEquals(2L, vo.getCrossProvince());
+        assertEquals(1L, vo.getCrossCity());
+    }
+
+    @Test
+    public void testGetWarningStatistics_鍒嗙粍缁熻() {
+        warningMapper.insert(buildWarning(MesTraceWarningStatusEnum.PENDING.getStatus())
+                .setWarningType(MesTraceWarningTypeEnum.CROSS_PROVINCE.getType()).setScanProvince("娴欐睙鐪�"));
+        warningMapper.insert(buildWarning(MesTraceWarningStatusEnum.PENDING.getStatus())
+                .setWarningType(MesTraceWarningTypeEnum.CROSS_PROVINCE.getType()).setScanProvince("娴欐睙鐪�"));
+        warningMapper.insert(buildWarning(MesTraceWarningStatusEnum.PENDING.getStatus())
+                .setWarningType(MesTraceWarningTypeEnum.CROSS_PROVINCE.getType()).setScanProvince("姹熻嫃鐪�"));
+
+        MesTraceCrossRegionStatisticsReqVO reqVO = new MesTraceCrossRegionStatisticsReqVO();
+        reqVO.setGroupBy("scanProvince");
+        List<MesTraceCrossRegionStatisticsRespVO> list = crossRegionService.getWarningStatistics(reqVO);
+
+        assertEquals(2, list.size());
+        assertEquals("娴欐睙鐪�", list.get(0).getName());
+        assertEquals(2L, list.get(0).getCount());
+        assertEquals("姹熻嫃鐪�", list.get(1).getName());
+        assertEquals(1L, list.get(1).getCount());
+    }
+
+    @Test
+    public void testGetWarningStatistics_闈炴硶缁村害鎷掔粷() {
+        MesTraceCrossRegionStatisticsReqVO reqVO = new MesTraceCrossRegionStatisticsReqVO();
+        reqVO.setGroupBy("item_code; DROP TABLE x");
+        assertThrows(IllegalArgumentException.class,
+                () -> crossRegionService.getWarningStatistics(reqVO));
+    }
+
+    // ==================== 鍒嗛〉 ====================
+
+    @Test
+    public void testGetWarningPage() {
+        when(adminUserApi.getUserMap(any())).thenReturn(Collections.emptyMap());
+        warningMapper.insert(buildWarning(MesTraceWarningStatusEnum.PENDING.getStatus())
+                .setWarningType(MesTraceWarningTypeEnum.CROSS_PROVINCE.getType())
+                .setScanProvince("娴欐睙鐪�").setDealerProvince("姹熻嫃鐪�"));
+
+        MesTraceCrossRegionWarningPageReqVO reqVO = new MesTraceCrossRegionWarningPageReqVO();
+        reqVO.setStatus(MesTraceWarningStatusEnum.PENDING.getStatus());
+        var page = crossRegionService.getWarningPage(reqVO);
+
+        assertEquals(1L, page.getTotal());
+        MesTraceCrossRegionWarningRespVO vo = page.getList().get(0);
+        assertEquals(MesTraceWarningStatusEnum.PENDING.getName(), vo.getStatusName());
+        assertEquals(MesTraceWarningTypeEnum.CROSS_PROVINCE.getName(), vo.getWarningTypeName());
+        assertTrue(vo.getWarningNo() != null);
+    }
+
+    // ==================== 杈呭姪鏂规硶 ====================
+
+    /**
+     * 鏋勫缓娑堣垂鑰呮壂鐮佷簨浠讹紙id 鍥哄畾锛屼究浜庢柇瑷�鍏宠仈锛�
+     */
+    private MesTraceConsumerScanEventDO buildEvent(String sourceType, String province, String city, boolean success) {
+        return MesTraceConsumerScanEventDO.builder()
+                .id(1L)
+                .normalizedCode("BAG-00000001")
+                .sourceType(sourceType)
+                .province(province)
+                .city(city)
+                .batchId(10L)
+                .success(success)
+                .eventTime(LocalDateTime.of(2026, 9, 1, 10, 0))
+                .build();
+    }
+
+    /**
+     * Mock 琚嬬爜 鈫� 鍑哄簱鍗� 鈫� 缁忛攢鍟嗭紙鎸囧畾鍦板尯锛夐摼璺�
+     */
+    private void mockDealer(String dealerProvince, String dealerCity) {
+        MesProBagCodeDO bag = MesProBagCodeDO.builder().id(1L).code("BAG-00000001")
+                .batchId(10L).salesId(100L).build();
+        when(bagCodeService.getBagCodeByCode("BAG-00000001")).thenReturn(bag);
+
+        MesWmProductSalesDO sales = MesWmProductSalesDO.builder().id(100L).code("SO-001")
+                .clientId(200L).clientName("鍗庝笢缁忛攢鍟�").build();
+        when(productSalesMapper.selectById(100L)).thenReturn(sales);
+
+        Integer areaId = AreaUtils.parseArea(dealerProvince + "/" + dealerCity).getId();
+        CrmCustomerRespDTO customer = new CrmCustomerRespDTO();
+        customer.setId(200L);
+        customer.setName("鍗庝笢缁忛攢鍟�");
+        customer.setAreaId(areaId);
+        when(customerApi.getCustomer(200L)).thenReturn(customer);
+
+        MesProBatchDO batch = MesProBatchDO.builder().id(10L).itemId(5L).build();
+        when(batchService.getBatch(10L)).thenReturn(batch);
+
+        MesMdmItemDO item = MesMdmItemDO.builder().id(5L).code("ITEM001").name("姘寸ɑ绉嶅瓙").build();
+        when(mdmItemService.getItem(5L)).thenReturn(item);
+    }
+
+    private MesTraceCrossRegionWarningDO buildWarning(Integer status) {
+        return MesTraceCrossRegionWarningDO.builder()
+                .warningNo("WARN20260901100000ABCDEF")
+                .batchId(10L)
+                .batchCode("PC20260901L001M001_001")
+                .salesId(100L)
+                .salesCode("SO-001")
+                .clientId(200L)
+                .clientName("鍗庝笢缁忛攢鍟�")
+                .dealerProvince("姹熻嫃鐪�")
+                .dealerCity("鍗椾含甯�")
+                .scanProvince("娴欐睙鐪�")
+                .scanCity("鏉窞甯�")
+                .status(status)
+                .eventTime(LocalDateTime.of(2026, 9, 1, 10, 0))
+                .build();
+    }
+
+}
diff --git a/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/trace/integrity/MesTraceIntegrityServiceImplTest.java b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/trace/integrity/MesTraceIntegrityServiceImplTest.java
new file mode 100644
index 0000000..259fa2f
--- /dev/null
+++ b/yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/trace/integrity/MesTraceIntegrityServiceImplTest.java
@@ -0,0 +1,129 @@
+package cn.iocoder.yudao.module.mes.service.trace.integrity;
+
+import cn.iocoder.yudao.framework.common.exception.ServiceException;
+import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
+import cn.iocoder.yudao.module.mes.controller.admin.trace.integrity.vo.MesTraceIntegrityVerifyRespVO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.consumer.MesTraceConsumerScanEventDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.trace.integrity.MesTraceIntegrityRecordDO;
+import cn.iocoder.yudao.module.mes.dal.mysql.trace.consumer.MesTraceConsumerScanEventMapper;
+import cn.iocoder.yudao.module.mes.dal.mysql.trace.integrity.MesTraceIntegrityRecordMapper;
+import cn.iocoder.yudao.module.mes.enums.trace.MesTraceIntegrityBizTypeEnum;
+import jakarta.annotation.Resource;
+import org.junit.jupiter.api.Test;
+import org.springframework.context.annotation.Import;
+
+import java.time.LocalDateTime;
+
+import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.MES_TRACE_INTEGRITY_BIZ_TYPE_INVALID;
+import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.MES_TRACE_INTEGRITY_RECORD_NOT_EXISTS;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+/**
+ * {@link MesTraceIntegrityServiceImpl} 鐨勫崟鍏冩祴璇�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Import(MesTraceIntegrityServiceImpl.class)
+public class MesTraceIntegrityServiceImplTest extends BaseDbUnitTest {
+
+    @Resource
+    private MesTraceIntegrityService integrityService;
+    @Resource
+    private MesTraceIntegrityRecordMapper integrityRecordMapper;
+    @Resource
+    private MesTraceConsumerScanEventMapper scanEventMapper;
+
+    @Test
+    public void testRecordScanIntegrity_鐢熸垚鎽樿骞跺叆搴�() {
+        MesTraceConsumerScanEventDO event = insertEvent("姹熻嫃鐪�", "鍗椾含甯�");
+        integrityService.recordScanIntegrity(event);
+
+        MesTraceIntegrityRecordDO record = integrityRecordMapper.selectByBiz(
+                MesTraceIntegrityBizTypeEnum.SCAN.getType(), event.getId());
+        assertNotNull(record);
+        assertEquals(64, record.getContentHash().length());
+        assertEquals(event.getNormalizedCode(), record.getBizCode());
+    }
+
+    @Test
+    public void testVerify_鏁版嵁瀹屾暣閫氳繃() {
+        MesTraceConsumerScanEventDO event = insertEvent("姹熻嫃鐪�", "鍗椾含甯�");
+        integrityService.recordScanIntegrity(event);
+
+        MesTraceIntegrityVerifyRespVO vo = integrityService.verify(
+                MesTraceIntegrityBizTypeEnum.SCAN.getType(), event.getId());
+
+        assertTrue(vo.getMatched());
+        assertEquals(vo.getStoredHash(), vo.getCurrentHash());
+        assertEquals(event.getNormalizedCode(), vo.getBizCode());
+    }
+
+    @Test
+    public void testVerify_绡℃敼妫�娴嬪け璐�() {
+        MesTraceConsumerScanEventDO event = insertEvent("姹熻嫃鐪�", "鍗椾含甯�");
+        integrityService.recordScanIntegrity(event);
+        // 妯℃嫙浜嬪悗绡℃敼鎵爜鍦板尯
+        scanEventMapper.updateById(new MesTraceConsumerScanEventDO().setId(event.getId()).setProvince("娴欐睙鐪�"));
+
+        MesTraceIntegrityVerifyRespVO vo = integrityService.verify(
+                MesTraceIntegrityBizTypeEnum.SCAN.getType(), event.getId());
+
+        assertFalse(vo.getMatched());
+        assertEquals("鏁版嵁涓嶄竴鑷达紝鍙兘瀛樺湪绡℃敼", vo.getMessage());
+    }
+
+    @Test
+    public void testVerify_瑕嗙洊鏇存柊涓嶄骇鐢熼噸澶嶈褰�() {
+        MesTraceConsumerScanEventDO event = insertEvent("姹熻嫃鐪�", "鍗椾含甯�");
+        integrityService.recordScanIntegrity(event);
+        integrityService.recordScanIntegrity(event);
+
+        assertEquals(1L, integrityRecordMapper.selectCount());
+        MesTraceIntegrityRecordDO record = integrityRecordMapper.selectByBiz(
+                MesTraceIntegrityBizTypeEnum.SCAN.getType(), event.getId());
+        assertEquals(64, record.getContentHash().length());
+    }
+
+    @Test
+    public void testVerify_鏃犳憳瑕佽褰曞紓甯�() {
+        ServiceException ex = assertThrows(ServiceException.class,
+                () -> integrityService.verify(MesTraceIntegrityBizTypeEnum.SCAN.getType(), 99999L));
+        assertEquals(MES_TRACE_INTEGRITY_RECORD_NOT_EXISTS.getCode(), ex.getCode());
+    }
+
+    @Test
+    public void testVerify_闈炴硶涓氬姟绫诲瀷() {
+        ServiceException ex = assertThrows(ServiceException.class,
+                () -> integrityService.verify("XXX", 1L));
+        assertEquals(MES_TRACE_INTEGRITY_BIZ_TYPE_INVALID.getCode(), ex.getCode());
+    }
+
+    @Test
+    public void testRecordScanIntegrity_null浜嬩欢瀹归敊() {
+        integrityService.recordScanIntegrity(null);
+        integrityService.recordScanIntegrity(MesTraceConsumerScanEventDO.builder().id(null).build());
+        assertEquals(0L, integrityRecordMapper.selectCount());
+    }
+
+    // ==================== 杈呭姪鏂规硶 ====================
+
+    private MesTraceConsumerScanEventDO insertEvent(String province, String city) {
+        MesTraceConsumerScanEventDO event = MesTraceConsumerScanEventDO.builder()
+                .traceCode("BAG-00000001")
+                .normalizedCode("BAG-00000001")
+                .sourceType("BAG")
+                .province(province)
+                .city(city)
+                .batchId(10L)
+                .success(true)
+                .eventTime(LocalDateTime.of(2026, 9, 1, 10, 0))
+                .build();
+        scanEventMapper.insert(event);
+        return event;
+    }
+
+}
diff --git a/yudao-module-mes/src/test/resources/sql/clean.sql b/yudao-module-mes/src/test/resources/sql/clean.sql
index 8cb28c3..b06e99c 100644
--- a/yudao-module-mes/src/test/resources/sql/clean.sql
+++ b/yudao-module-mes/src/test/resources/sql/clean.sql
@@ -21,3 +21,7 @@
 DELETE FROM "mes_pro_task";
 DELETE FROM "mes_pro_route_process";
 DELETE FROM "mes_qc_indicator_result";
+DELETE FROM "mes_trace_consumer_scan_event";
+DELETE FROM "mes_trace_anti_config";
+DELETE FROM "mes_trace_cross_region_warning";
+DELETE FROM "mes_trace_integrity_record";
diff --git a/yudao-module-mes/src/test/resources/sql/create_tables.sql b/yudao-module-mes/src/test/resources/sql/create_tables.sql
index fd73613..a6ef868 100644
--- a/yudao-module-mes/src/test/resources/sql/create_tables.sql
+++ b/yudao-module-mes/src/test/resources/sql/create_tables.sql
@@ -830,3 +830,101 @@
     "tenant_id" bigint NOT NULL DEFAULT 0,
     PRIMARY KEY ("id")
 );
+
+-- ----------------------------
+-- MES 娑堣垂鑰呮壂鐮佽闂簨浠�
+-- ----------------------------
+CREATE TABLE IF NOT EXISTS "mes_trace_consumer_scan_event" (
+    "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
+    "trace_code" varchar(255) NOT NULL,
+    "normalized_code" varchar(128) DEFAULT NULL,
+    "source_type" varchar(32) DEFAULT NULL,
+    "channel" varchar(32) DEFAULT NULL,
+    "province" varchar(64) DEFAULT NULL,
+    "city" varchar(64) DEFAULT NULL,
+    "batch_id" bigint DEFAULT NULL,
+    "success" bit NOT NULL DEFAULT FALSE,
+    "error_code" varchar(64) DEFAULT NULL,
+    "ip_hash" varchar(64) DEFAULT NULL,
+    "user_agent_hash" varchar(64) DEFAULT NULL,
+    "event_time" timestamp NOT NULL,
+    "creator" varchar(64) DEFAULT '',
+    "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    "updater" varchar(64) DEFAULT '',
+    "update_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    "deleted" bit NOT NULL DEFAULT FALSE,
+    "tenant_id" bigint NOT NULL DEFAULT 0,
+    PRIMARY KEY ("id")
+);
+
+-- ----------------------------
+-- MES 闃茬獪璐ц鍒欓厤缃�
+-- ----------------------------
+CREATE TABLE IF NOT EXISTS "mes_trace_anti_config" (
+    "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
+    "config_key" varchar(64) DEFAULT NULL,
+    "config_value" varchar(255) DEFAULT NULL,
+    "remark" varchar(255) DEFAULT NULL,
+    "creator" varchar(64) DEFAULT '',
+    "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    "updater" varchar(64) DEFAULT '',
+    "update_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    "deleted" bit NOT NULL DEFAULT FALSE,
+    PRIMARY KEY ("id")
+);
+
+-- ----------------------------
+-- MES 绐滆揣棰勮璁板綍
+-- ----------------------------
+CREATE TABLE IF NOT EXISTS "mes_trace_cross_region_warning" (
+    "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
+    "warning_no" varchar(64) DEFAULT NULL,
+    "bag_code_id" bigint DEFAULT NULL,
+    "bag_code" varchar(64) DEFAULT NULL,
+    "pallet_code_id" bigint DEFAULT NULL,
+    "pallet_code" varchar(64) DEFAULT NULL,
+    "batch_id" bigint DEFAULT NULL,
+    "batch_code" varchar(64) DEFAULT NULL,
+    "item_id" bigint DEFAULT NULL,
+    "item_code" varchar(64) DEFAULT NULL,
+    "item_name" varchar(128) DEFAULT NULL,
+    "sales_id" bigint DEFAULT NULL,
+    "sales_code" varchar(64) DEFAULT NULL,
+    "client_id" bigint DEFAULT NULL,
+    "client_name" varchar(128) DEFAULT NULL,
+    "dealer_province" varchar(64) DEFAULT NULL,
+    "dealer_city" varchar(64) DEFAULT NULL,
+    "scan_province" varchar(64) DEFAULT NULL,
+    "scan_city" varchar(64) DEFAULT NULL,
+    "warning_type" varchar(32) DEFAULT NULL,
+    "scan_event_id" bigint DEFAULT NULL,
+    "status" tinyint NOT NULL DEFAULT 10,
+    "handle_user_id" bigint DEFAULT NULL,
+    "handle_time" timestamp DEFAULT NULL,
+    "handle_remark" varchar(255) DEFAULT NULL,
+    "event_time" timestamp NOT NULL,
+    "creator" varchar(64) DEFAULT '',
+    "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    "updater" varchar(64) DEFAULT '',
+    "update_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    "deleted" bit NOT NULL DEFAULT FALSE,
+    PRIMARY KEY ("id")
+);
+
+-- ----------------------------
+-- MES 鏁版嵁瀹屾暣鎬ф牎楠岃褰�
+-- ----------------------------
+CREATE TABLE IF NOT EXISTS "mes_trace_integrity_record" (
+    "id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
+    "biz_type" varchar(32) NOT NULL,
+    "biz_id" bigint NOT NULL,
+    "biz_code" varchar(64) DEFAULT NULL,
+    "content_hash" varchar(64) NOT NULL,
+    "event_time" timestamp NOT NULL,
+    "creator" varchar(64) DEFAULT '',
+    "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    "updater" varchar(64) DEFAULT '',
+    "update_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    "deleted" bit NOT NULL DEFAULT FALSE,
+    PRIMARY KEY ("id")
+);
diff --git a/yudao-server/src/main/resources/static/trace.html b/yudao-server/src/main/resources/static/trace.html
index be5c7f5..afafce6 100644
--- a/yudao-server/src/main/resources/static/trace.html
+++ b/yudao-server/src/main/resources/static/trace.html
@@ -141,6 +141,34 @@
   .scroll-list::-webkit-scrollbar { width: 4px; }
   .scroll-list::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 2px; }
 
+  /* 姝e搧楠岃瘉鍗★紙椤堕儴锛屾壂鐮佷紭鍏堝睍绀猴級 */
+  .verify-card {
+    border: 1px solid var(--primary-light);
+    background: linear-gradient(180deg, #eef8ee, #fff);
+  }
+  .verify-card .card-bd { padding: 14px 16px; }
+  .verify-title {
+    display: flex; align-items: center; gap: 8px;
+    font-size: 16px; font-weight: 700; color: var(--primary);
+    margin-bottom: 4px;
+  }
+  .verify-title::before { content: ""; width: 5px; height: 16px; border-radius: 2px; background: var(--primary); }
+  .verify-sub { font-size: 12px; color: var(--text-sub); margin-bottom: 10px; }
+  .verify-badge { margin-bottom: 10px; }
+  .verify-stats { margin-top: 10px; border-top: 1px dashed var(--border); padding-top: 4px; }
+
+  /* 鍙姌鍙犲崱鐗� */
+  .card.collapsible .card-hd { cursor: pointer; position: relative; padding-right: 30px; }
+  .card.collapsible .card-hd::after {
+    content: "鈻�"; position: absolute; right: 12px; top: 50%;
+    transform: translateY(-50%); color: var(--text-sub); font-size: 12px;
+    transition: transform .2s;
+  }
+  .card.collapsible:not(.open) .card-hd::after { transform: translateY(-50%) rotate(-90deg); }
+  .card.collapsible .card-hd .count { margin-right: 16px; }
+  .card.collapsible .card-bd { display: none; }
+  .card.collapsible.open .card-bd { display: block; }
+
   footer {
     max-width: 480px; margin: 0 auto;
     padding: 20px 16px 28px; text-align: center;
@@ -207,11 +235,17 @@
     return '<span class="badge ' + item[1] + '">' + esc(item[0]) + '</span>';
   }
 
-  function card(title, countHtml, bodyHtml) {
-    return '<div class="card">' +
-      '<div class="card-hd"><span class="bar"></span>' + esc(title) +
+  function card(title, countHtml, bodyHtml, opts) {
+    opts = opts || {};
+    var collapsible = !!opts.collapsible;
+    var open = collapsible && !!opts.open;
+    var hd = '<div class="card-hd"' +
+      (collapsible ? ' onclick="this.parentNode.classList.toggle(\'open\')"' : '') +
+      '><span class="bar"></span>' + esc(title) +
       (countHtml ? '<span class="count">' + countHtml + '</span>' : '') +
-      '</div>' + '<div class="card-bd">' + bodyHtml + '</div>' + '</div>';
+      '</div>';
+    return '<div class="card' + (collapsible ? ' collapsible' : '') + (open ? ' open' : '') + '">' +
+      hd + '<div class="card-bd">' + bodyHtml + '</div>' + '</div>';
   }
 
   function kv(k, v, dim) {
@@ -257,6 +291,7 @@
       return;
     }
     var html = '';
+    html += buildVerifyCard(d);
     html += buildItemCard(d);
     html += buildBatchCard(d);
     html += buildQualityCard(d);
@@ -269,13 +304,59 @@
     window.scrollTo({ top: 0, behavior: 'smooth' });
   }
 
+  // 鍖哄潡0锛氭鍝侀獙璇侊紙椤堕儴锛屾壂鐮佷紭鍏堝睍绀洪獙璇佺粨璁轰笌鏌ヨ缁熻锛�
+  function stripUrl(v) {
+    if (!v) return v;
+    if (/^https?:\/\//i.test(v)) {
+      var m = v.match(/[?&]code=([^&]*)/);
+      return m ? decodeURIComponent(m[1]) : '';
+    }
+    return v;
+  }
+
+  function buildVerifyCard(d) {
+    var typeLabel = { BAG: '琚嬬爜', PALLET: '鎵樼洏鐮�', BATCH: '鎵规鐮�' }[d.sourceType] || '杩芥函鐮�';
+    var code = stripUrl(d.requestCode) || d.batchCode || d.tempCode || '-';
+    var bagNo = '-';
+    if (d.sourceType === 'BAG' && d.bags) {
+      for (var i = 0; i < d.bags.length; i++) {
+        if (d.bags[i].code === code) {
+          bagNo = d.bags[i].bagNo;
+          break;
+        }
+      }
+    }
+    var statsHtml = '<div class="verify-stats">';
+    if (d.antiFake && d.antiFake.scanCount > 0) {
+      statsHtml += kv('绱鏌ヨ', esc(d.antiFake.scanCount) + ' 娆�') +
+        kv('棣栨鏌ヨ', fmtDate(d.antiFake.firstScanTime)) +
+        kv('鏈�杩戞煡璇�', fmtDate(d.antiFake.lastScanTime));
+    } else {
+      statsHtml += kv('绱鏌ヨ', '鏆傛棤鏌ヨ璁板綍');
+    }
+    statsHtml += '</div>';
+    return '<div class="card verify-card">' +
+      '<div class="card-bd">' +
+      '<div class="verify-title">姝e搧楠岃瘉</div>' +
+      '<div class="verify-badge"><span class="badge-big green">鉁� 姝e搧楠岃瘉閫氳繃</span></div>' +
+      '<div class="verify-sub">璇ヨ拷婧爜涓烘瑙勬笭閬撲骇鍝侊紝婧簮淇℃伅鐪熷疄鏈夋晥</div>' +
+      kv('杩芥函绫诲瀷', typeLabel) +
+      kv(typeLabel, text(code)) +
+      (d.sourceType === 'BAG' ? kv('琚嬪彿', bagNo) : '') +
+      kv('鎵规鍙�', text(d.batchCode)) +
+      kv('鍝佺', text(d.itemName)) +
+      statsHtml +
+      '</div></div>';
+  }
+
   // 鍖哄潡1锛氬搧绉嶄俊鎭�
   function buildItemCard(d) {
     if (!d.itemCode && !d.itemName && !d.itemSpecification) return '';
     return card('鍝佺淇℃伅', null,
       kv('鍝佺鍚嶇О', text(d.itemName)) +
       kv('瑙勬牸', text(d.itemSpecification)) +
-      kv('鍝佺缂栫爜', text(d.itemCode))
+      kv('鍝佺缂栫爜', text(d.itemCode)),
+      { collapsible: true, open: true }
     );
   }
 
@@ -293,7 +374,8 @@
       kv('宸茬敓鎴愯鐮�', fmtNum(d.bagQuantity)) +
       kv('宸茬敓鎴愭墭鐩�', fmtNum(d.palletQuantity)) +
       kv('鍏ュ簱鏃堕棿', fmtDate(d.inboundTime)) +
-      (d.remark ? kv('澶囨敞', text(d.remark)) : '')
+      (d.remark ? kv('澶囨敞', text(d.remark)) : ''),
+      { collapsible: true, open: true }
     );
   }
 
@@ -325,7 +407,8 @@
       kv('妫�楠屽憳', text(q.inspectorName)) +
       kv('妫�楠屾椂闂�', fmtDate(q.inspectedAt)) +
       (q.reason ? kv('涓嶅悎鏍煎師鍥�', text(q.reason)) : '') +
-      (rows ? '<div style="margin-top:8px">' + rows + '</div>' : '')
+      (rows ? '<div style="margin-top:8px">' + rows + '</div>' : ''),
+      { collapsible: true, open: false }
     );
   }
 
@@ -341,7 +424,7 @@
         esc(type) + '锛�' + esc(name) + '</span>';
     });
     html += '</div>';
-    return card('鐢熶骇浜哄憳', null, html);
+    return card('鐢熶骇浜哄憳', null, html, { collapsible: true, open: false });
   }
 
   // 鍖哄潡5锛氭壂鐮佸叆搴撲簨浠�
@@ -353,7 +436,8 @@
       kv('鍏ュ簱鏁伴噺', fmtNum(e.quantity)) +
       kv('璁惧缂栫爜', text(e.deviceCode)) +
       kv('浜х嚎', text(e.lineCode)) +
-      kv('鍏ュ簱鏃堕棿', fmtDate(e.eventTime))
+      kv('鍏ュ簱鏃堕棿', fmtDate(e.eventTime)),
+      { collapsible: true, open: false }
     );
   }
 
@@ -367,7 +451,7 @@
         fmtNum(p.bagCount) + ' / ' + fmtNum(p.capacity) + '</td></tr>';
     });
     rows += '</tbody></table>';
-    return card('鎵樼洏淇℃伅', countHtml, rows);
+    return card('鎵樼洏淇℃伅', countHtml, rows, { collapsible: true, open: false });
   }
 
   // 鍖哄潡7锛氳鐮侊紙涓�琚嬩竴鐮侊級
@@ -381,7 +465,8 @@
     });
     rows += '</tbody></table>';
     return card('琚嬬爜淇℃伅', countHtml,
-      '<div class="scroll-list">' + rows + '</div>'
+      '<div class="scroll-list">' + rows + '</div>',
+      { collapsible: true, open: false }
     );
   }
 
@@ -394,7 +479,7 @@
         rows += '<tr><td>' + text(s.receiptCode) + '</td><td>' + text(s.vendorName) + '</td><td>' + fmtNum(s.receivedQuantity) + '</td><td>' + fmtDate(s.receiptDate) + '</td></tr>';
       });
       rows += '</tbody></table>';
-      html += card('閲囪喘鏉ユ簮', null, rows);
+      html += card('閲囪喘鏉ユ簮', null, rows, { collapsible: true, open: false });
     }
     if (!isEmptyList(d.salesTargets)) {
       var rows2 = '<table class="mini-table"><thead><tr><th>閿�鍞嚭搴撳崟</th><th>瀹㈡埛</th><th>鏁伴噺</th><th>鏃ユ湡</th></tr></thead><tbody>';
@@ -402,7 +487,7 @@
         rows2 += '<tr><td>' + text(s.outCode || s.salesOrderCode || '') + '</td><td>' + text(s.customerName) + '</td><td>' + fmtNum(s.quantity) + '</td><td>' + fmtDate(s.outTime) + '</td></tr>';
       });
       rows2 += '</tbody></table>';
-      html += card('閿�鍞幓鍚�', null, rows2);
+      html += card('閿�鍞幓鍚�', null, rows2, { collapsible: true, open: false });
     }
     if (!isEmptyList(d.processTraces)) {
       var rows3 = '<table class="mini-table"><thead><tr><th>鑺傜偣</th><th>璇存槑</th><th>鏃堕棿</th></tr></thead><tbody>';
@@ -410,7 +495,7 @@
         rows3 += '<tr><td>' + text(t.nodeName) + '</td><td>' + text(t.description) + '</td><td>' + fmtDate(t.processTime) + '</td></tr>';
       });
       rows3 += '</tbody></table>';
-      html += card('鍔犲伐娴佽浆', null, rows3);
+      html += card('鍔犲伐娴佽浆', null, rows3, { collapsible: true, open: false });
     }
     return html;
   }

--
Gitblit v1.9.3