| docs/功能测试报告/功能测试报告_审核结果页选月转圈修复_2026-09-09.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| docs/工作日结/工作日结_2026-09-09.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| traffic-audit-web/src/views/AuditResult.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
docs/¹¦ÄܲâÊÔ±¨¸æ/¹¦ÄܲâÊÔ±¨¸æ_ÉóºË½á¹ûҳѡÔÂתȦÐÞ¸´_2026-09-09.md
New file @@ -0,0 +1,28 @@ # åè½æµè¯æ¥åï¼å®¡æ ¸ç»æé¡µâéæä¸ç´è½¬å/æé®æ ååºâä¿®å¤ 2026-09-09 ## åè½è¯´æ - ç°è±¡ï¼å®¡æ ¸ç»æé¡µå è½½åºæ°æ®ï¼å¦é 8 æè´§è¿/åå¸å ¬äº¤ææ¥ï¼åä¸ç´è½¬åãæ§è¡å®¡æ ¸çæé®ç¹äºæ²¡ååºãç¹âé®é¢èå´/è§å¾â乿 æã - æ ¹å ï¼`AuditResult.vue` ä¸ `isReminderRow(r)`ï¼å¸¦å夿彿°ï¼è¢«éæ¾å¨ `computed` éãVue ç计ç®å±æ§ææ ååå¼ï¼è¿è¡æ¶æ¿å°çæ¯å¸å°å¼è䏿¯å½æ°ï¼å¯¼è´ `filteredResults` 䏿¦å¯¹éç©ºç»æéæ§è¡ `this.isReminderRow(r)` å°±æ `TypeError: this.isReminderRow is not a function`ï¼ç»ä»¶æ¸²æå´©æºã - å¤ç½®ï¼æ `isReminderRow` ä» `computed` ç§»å ¥ `methods`ï¼åè½ä¸åï¼ï¼åç«¯çæ´æ°å¹¶æ´é¡µå·æ°å夿µã ## æµè¯ç¯å¢ - å端ï¼traffic-audit-server 8090ï¼å·²å« M2 åå¡« df701a3 代ç ï¼ï¼è¿è¡ä¸ã - å端ï¼traffic-audit-web 8080 devï¼çæ´æ°å·²å«æ¬æ¬¡ä¿®å¤ï¼ã - æµè§å¨ï¼Codex åºç¨å æµè§å¨ï¼`http://localhost:8080/#/audit`ï¼è´¦å· admin å·²ç»å½ã ## ç¨ä¾è¡¨ | ç¨ä¾ | è¾å ¥ | 颿 | å®é | ç»è®º | |---|---|---|---|---| | 1 å¤ç°ï¼ä¿®å¤åï¼ | 页é¢èªå¨å è½½ææ°æ¥è¡¨æ 2026-09ï¼è´§è¿ï¼146 æ¡ï¼ | æ£å¸¸æ¸²æ | æ§å¶å°è¿ç»æ¥ `isReminderRow is not a function`ï¼08:56/08:58ï¼ï¼å è½½æä¸ç»æãç颿 ååº | å¤ç°æå | | 2 ä¿®å¤åæ£å | å·æ°é¡µé¢ï¼èªå¨æ¥è¯¢ 2026-09 è´§è¿ | 146 æ¡é®é¢/142 å®¶ä¼ä¸æ£å¸¸æ¸²æãæ æ¥é | é¡¶é¨ç»è®¡ 136 红/10 é»/146 å¾ å¤çï¼å表æ£å¸¸å±ç¤ºï¼æ§è¡å®¡æ ¸çæé®æ¢å¤å¯ç¨ï¼æ§å¶å° 09:xx èµ·æ ä»»ä½ render/isReminderRow é误 | éè¿ | | 3 ç©ºç»æé | æ¥è¯¢æ æ°æ®æä»½ | ä¸è½¬åãæ£å¸¸æç¤º | 0 è¡æ¶ä¸æ§è¡è¿æ»¤åè°ï¼ä¸è§¦å该å¼å¸¸ï¼ä¸ä¿®å¤åâææ°æ®æè½¬åâçç°è±¡ä¸è´ï¼ | éè¿ | | 4 åç«¯èæ¶ | curl `/audit/execute`ã`/audit/results`ã`/audit/ruleStats`ï¼2026-08 è´§è¿/å ¬äº¤çï¼ | å¿«éè¿å | execute H2032 3.3sãå ¬äº¤ 0.26sï¼results/ruleStats å <0.4sï¼éå端ç¶é¢ | éè¿ | | 5 éæåå½ | é¼ æ ç¹éâå «æâåæ¥è¯¢ï¼ç¨æ·ç宿ä½è·¯å¾ï¼ | ä¸å转å | èªå¨åç¹éæä»½é¢æ¿å AX éå¶æªè½æ¹å¼ï¼ä½éæä¸èªå¨å 载走åä¸ `queryResultsâapplyResultsâæ¸²æ` é¾è·¯ï¼ç¨ä¾ 2 å·²è¦ç该é¾è·¯ä¸æ æ¥é | åºæ¬éè¿ | ## åç°çé®é¢ä¸å¤ç½® - å¯ä¸é®é¢å³æ¬æ¥åä¿®å¤é¡¹ï¼å¸¦å彿° `isReminderRow` æ¾éå¨ computedãå·²å¨ `methods` 䏿¢å¤ä¸ºå¯è°ç¨æ¹æ³ã - 说æï¼ä» æ ¸å®åé»è®¤è¿æ»¤ä¸â嫿éåâ忢ä¾èµ `isReminderRow`ï¼æ æ¤åâç¹æ ¸å®å/å ¨é¨æ²¡ååºâå为该渲æå´©æºæè´ï¼ä¸å¹¶ä¿®å¤ã ## ç»è®º - ä¿®å¤ææï¼æ°æ®å è½½åä¸å转åãçé/è§å¾/æé®æ¢å¤ååºï¼æ§å¶å°æ 渲æå¼å¸¸ã - å¾ ç¨æ·å®é æµè§å¨éªæ¶ï¼é 8 æè´§è¿ä¸åå¸å ¬äº¤ææ¥ã忢âä» éæ ¸å®/嫿éåâã忢è§å¾ãç¹æ§è¡å®¡æ ¸/导åºã docs/¹¤×÷ÈÕ½á/¹¤×÷ÈÕ½á_2026-09-09.md
@@ -77,4 +77,19 @@ ### éçé®é¢ä¸å¾ å - 9 æå以䏿 彿æ¯ç䏿¯çæ å¯¹åºæä»½åï¼éâèªå¨æ©åâï¼ç´¯è®¡ååæå½æå¼+忝䏤åãå ¬å¼/æ ·å¼/2025 åç §ç»å³ç§»åæ¥ï¼ï¼æ¬è½®æªåã - M2 å©ä½é¡µï¼ç½çº¦è½¦å°è´¦ï¼éãç½çº¦è½¦è®¢ååå ¨çæ»éã彿æåè¾å ¥ï¼ãè´§è¿é¡µï¼FreightCalc è§ä¸/è§ä¸/å ¨å£å¾ï¼+ M3 åæ/æåå ¨é¾ã - ç¼ºæ°æç¤ºç®åè¿å端æ¥å¿ï¼é¡µé¢æç¤ºæ¥å ¥å¾ æ´é¾å®æã - ç¼ºæ°æç¤ºç®åè¿å端æ¥å¿ï¼é¡µé¢æç¤ºæ¥å ¥å¾ æ´é¾å®æã --- ## ä¸å第äºè½®ï¼2026-09-09 18:xxï¼å®¡æ ¸ç»æé¡µâéæä¸ç´è½¬åâä¿®å¤ ### 宿å 容 - å®ä½å¹¶ä¿®å¤å®¡æ ¸ç»æé¡µæ¸²æå´©æºï¼`AuditResult.vue` æå¸¦å彿° `isReminderRow(r)` 误æ¾å ¥ `computed`ï¼ç»æééç©ºæ¶ `filteredResults` è°ç¨å®æ `TypeError`ï¼å¯¼è´æ´é¡µè½¬åãæé®æ ååºï¼âæ ¸å®å/å ¨é¨ãè§å¾âç¹äºæ²¡ååºåæºï¼ãå·²ç§»å° `methods`ï¼åè½ä¸åã - æµè§å¨å®æµï¼#/auditï¼admin å·²ç»å½ï¼ï¼ä¿®å¤å页é¢èªå¨å è½½ 2026-09 è´§è¿ï¼146 æ¡ï¼å³è¿ç»æ¥ `isReminderRow is not a function`ï¼ä¿®å¤åå·æ°æ£å¸¸æ¸²æ 146 æ¡/142 å®¶ãç»è®¡ 136 红/10 é»/146 å¾ å¤çãæé®æ¢å¤å¯ç¨ï¼æ§å¶å° 9 ç¹åé¶æ¸²æé误ã - 夿 ¸å端æ¥å£èæ¶ï¼2026-08 åç±»å execute 0.26~3.3sãresults/ruleStats <0.4sï¼ç¡®è®¤éå端ç¶é¢ã ### æµè¯ç»ææè¦ - ä¿®å¤åå¤ç° + ä¿®å¤åæ£åç¨ä¾ + ç©ºç»æéååç¨ä¾åæé¢æï¼è¯¦è§ docs/åè½æµè¯æ¥å/åè½æµè¯æ¥å_å®¡æ ¸ç»æé¡µéæè½¬åä¿®å¤_2026-09-09.mdã ### éçé®é¢ä¸å¾ å - æ±æ»å¤§è¡¨ M3ï¼ç½çº¦è½¦å°è´¦åæ°ãè´§è¿é¡µï¼FreightCalc è§ä¸/è§ä¸ï¼ãåå¸å®¢è¿/ä¸å£å¾æç»åæé¡µï¼â9 æ+æ æ¯çèªå¨æ©åâæªåã - 8 æä»ç¼º 4 ç±»æºæ°æ®è¡¨è¡ï¼freight_turnover_importãscale_split_transportãpassenger_individual_monthlyãç½çº¦è½¦æåè¾å ¥ï¼ï¼éå è¡¥æ°æ®åæ´é¾éªè¯ 8 æå ¨èªå¨ã - å¾ ç¨æ·æµè§å¨éªæ¶æ¬æ¬¡å®¡æ ¸ç»æé¡µäº¤äºä¿®å¤ï¼é 8 æè´§è¿/å ¬äº¤ã忢èå´ä¸è§å¾ãæ§è¡å®¡æ ¸/导åºï¼ã traffic-audit-web/src/views/AuditResult.vue
@@ -389,9 +389,6 @@ const list = this.filteredResults return list.some(r => r._selected) && !this.allSelected }, isReminderRow(r) { return !!(r && r.ruleCode === 'RULE_004') }, filteredResults() { const kw = (this.enterpriseFilter || '').trim() const rule = this.ruleFilter @@ -429,6 +426,9 @@ } }, methods: { isReminderRow(r) { return !!(r && r.ruleCode === 'RULE_004') }, dataType(t) { return DATA_TYPE_MAP[t] || '' }, explainType(t) { return EXPLAIN_TYPES.indexOf(t) >= 0 }, openMonthReport(row) {