| docs/功能测试报告/功能测试报告_投资预安排汇总补计与导入弹窗_2026-09-20.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| docs/工作日结/工作日结_2026-09-20.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| docs/投资/输入/客运(客运站)/7月/十堰市2026年7月固定资产月报电子版投资表格.xlsx | 补丁 | 查看 | 原始文档 | blame | 历史 | |
| docs/投资/输入/物流(物流园区)/7月/湖北省十堰交通物流基础设施投资统计汇总表(月报)(2026年7月).xls | 补丁 | 查看 | 原始文档 | blame | 历史 | |
| docs/投资/输出/清理残留_十堰汇总表带出的非十堰项目_2026-09-20.tsv | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| traffic-audit-web/src/views/DataImport.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
docs/¹¦ÄܲâÊÔ±¨¸æ/¹¦ÄܲâÊÔ±¨¸æ_Ͷ×ÊÔ¤°²ÅÅ»ã×ܲ¹¼ÆÓëµ¼È뵯´°_2026-09-20.md
New file @@ -0,0 +1,52 @@ # åè½æµè¯æ¥å_æèµé¢å®ææ±æ»è¡¥è®¡ä¸å¯¼å ¥å¼¹çª_2026-09-20 ## ä¸ãåè½è¯´æ 1. **æ¸ é¤æ®çæ°æ®**ï¼å é¤ãæ¹åçåå °äº¤éç©æµåºç¡è®¾æ½æèµç»è®¡æ±æ»è¡¨ï¼ææ¥ï¼ãï¼5/7/8 æçï¼æå¸å·å带è¿åºç**éåå °é¡¹ç® 31 个**ï¼æ¦æ± 27 + é»ç³ 4ï¼ï¼ 以åè§£ææ¶æãå计ãè¡è¯¯å»ºæé¡¹ç®ç**ä¼ªé¡¹ç® 1 个**ï¼å¸å®å¸å®¢è¿ç«åºï¼13727 ä¸å ï¼ãå é¤åå ¨éå¤ä»½ã 2. **é¢å®ææ±æ»è¡¨å°è®¡è¡¥è®¡**ï¼`investPlan`ï¼çæ_å ¨çé¢å®æè®¡åè¿åº¦æ 嵿±æ».xlsï¼ç**å¸å·å°èè¡ / ååè®¡è¡ / å ¨çå计è¡**ï¼ å¨æ `investment_monthly` ç´¯å ä¹å¤ï¼æ°å¢ã**æ¬ææ æåº¦æ°ãä½é¡¹ç®ä¸»æ¡£ææ»æèµ**ãç项ç®ï¼åªè¡¥è®¡ãæ»æèµãä¸å ï¼å ¶ä½ä¸åæ ä¸»æ¡£æ°æ®æºï¼ç空ï¼ã 3. **å¯¼å ¥ç»æå¼¹çªæ¹é **ï¼æ°æ®å¯¼å ¥é¡µçå¯¼å ¥ç»æ/失败/ä¸ä¸è´æç¤ºï¼ç± Element `$alert` æ¢æèªå®ä¹ `el-dialog`ââ æ 颿 坿å¨ãå å®¹åºæ»å¨ï¼åºé¨æé®åºå®å¯è§ï¼ãåè§ï¼å¹¶æ¯æãå¯¼åºæç»ãä¸è½½ CSVã ## äºãæµè¯ç¯å¢ - å端ï¼`mvn -q compile` éè¿ï¼`start-dev.ps1` éå¯ï¼backend.log `14:47:45 Started TrafficAuditApplication`ã`Tomcat started on port(s): 8090`ã - å端ï¼frontend.log `14:47:45 DONE Compiled successfully in 4986ms`ï¼App running at http://localhost:8080ã - æ°æ®åºï¼MySQL `127.0.0.1:3308` åº `traffic_audit`ã - éªè¯æ¥å£ï¼`/api/report/ready`ã`/api/report/export/{type}`ï¼èªç¾ JWTï¼ã ## ä¸ãç¨ä¾è¡¨ | ç¼å· | ç¨ä¾ | è¾å ¥/æä½ | 颿 | å®é | ç»è®º | | --- | --- | --- | --- | --- | --- | | T01 | æ®ç项ç®åºåº | `investment_project` ç©æµååºè®¡æ° | 135 â 31 = 104 | 104 | éè¿ | | T02 | æ®çæåº¦æ°åºåº | 被å 31 个项ç®ç `investment_monthly` | 0 | 0 | éè¿ | | T03 | å¤ä»½å¯è¿½æº¯ | `docs/æèµ/è¾åº/æ¸ çæ®ç_åå °æ±æ»è¡¨å¸¦åºçéåå °é¡¹ç®_2026-09-20.tsv` | å« 31 ä¸ªé¡¹ç® + 39 æ¡æåº¦æ° + 1 æ¡ä¼ªé¡¹ç® | 77 è¡ï¼å«åèæ é¢/è¡¨å¤´ï¼ | éè¿ | | T04 | æ¦æ±ç©æµæ®µè¡æ° | å¯¼åº investPlanï¼2026-08 å½æï¼ | 33 â 6 | 6ï¼èªåæºæ §ç©æµå/ä¸é/é³é»æ¸¯éæ°´èè¿/æå /åä¸åå¦å/è¿ç¿è¾¾ï¼ | éè¿ | | T05 | æ¦æ±ç©æµå°è®¡ï¼è¡¥è®¡æ°é»è¾ï¼ | åä¸ï¼æ¦æ±å°èè¡ c8 | = 6 ä¸ªé¡¹ç®æ»æèµ 69876+38400+12200+65000+22000+65000 = 272476 | c8=272476ï¼c9/c10/c23 空ï¼è¯¥å¸æªæ¥é 8 æï¼ | éè¿ | | T06 | é»ç³ç©æµå°è®¡ | åä¸ | 729375.69 â 614991.69ï¼= èªæ¥ 8 个项ç®ï¼ | 614991.69 | éè¿ | | T07 | åå计 = ä¸»æ¡£æ»æèµå计 | ç©æµååè®¡è¡ c8 | `SUM(total_investment)=5889737.36` | 5889737.36 | éè¿ | | T08 | å ¨çå计 | åè®¡è¡ c8 | å®¢è¿ 763632.2 + ç©æµ 5889737.36 = 6653369.56 | 6653369.56 | éè¿ | | T09 | 补计ä¸å½±åç´¯è®¡å®ææèµ | åè®¡è¡ c23 | 744262.86 â 10306.8ï¼è¢«å 31 ä¸ªé¡¹ç® year_cum ä¹åï¼= 733956.06 | 733956.06 | éè¿ | | T10 | 伪项ç®å½±å | å¸å®ï¼å®¢è¿ï¼å°èè¡ c8 | 27454 â 13727 | 13727 | éè¿ | | T11 | çæè¡¨æ»è¡æ° | å¯¼åºæä»¶è¡æ° | 313 â 281ï¼å 31 + 1 è¡ï¼ | 281 | éè¿ | | T12 | å ¶å®æèµæ¥è¡¨åå½ | `/ready` + éä¸ªå¯¼åº | å ¨é¨ readyãå¯å¯¼åº | rowsï¼investPlan 136 / investBillion 136 / investCounty 136 / investFiveYearLogistics 136 / investPassengerDetail 39 / investLogisticsDetail 97ï¼å¯¼åºåè 162304 / 47104 / 55808 / 82944 / 29462 / 134144 | éè¿ | | T13 | è´åï¼æªç¥ç±»å | `types=foo` | ready=falseï¼note=æªç¥æ¥è¡¨ç±»åï¼foo | ä¸è´ï¼å åºæªåå¼±ï¼ | éè¿ | | T14 | å¼¹çªäº¤äº | å端代ç + ç¼è¯ | å¯æå¨ / å 容æ»å¨ / åºé¨æé®åºå® / å¯¼åº CSV | 代ç éææ ¸å¯¹éè¿ãå端ç¼è¯éè¿ï¼**ç¹å»çº§éªæ¶æªå**ï¼é触åçå®å¯¼å ¥æä¼å¼¹ï¼ | é¨åéè¿ | ## åãåç°çé®é¢ä¸å¤ç½® 1. **伪项ç®ãåããã计ã**ï¼id=229ï¼å¸å®å¸å®¢è¿ç«åºï¼13727 ä¸å ï¼æ æåº¦æ°ï¼ï¼æ¥èª 2026-09-16 15:07 ç 8 æå®¢è¿å¯¼å ¥æ¹æ¬¡ã è§£æç«¯çãå计/å°è®¡ãå¤å®æ¤å已修为å»ç©ºç½å¹é ï¼æ¤æ¡å±æ§æ¹æ¬¡éçï¼æ¬æ¬¡ä¸å¹¶æ¸ é¤ï¼å¤ä»½åä¸ TSV æä»¶ï¼ã 2. **8 æçåå °æ±æ»è¡¨æªæ¸ ç**ï¼ç¨æ·å·²æãæ¹åçåå °â¦ï¼2026å¹´7æï¼.xlsãééåå °å å®¹å æï¼108032 â 90112 åèï¼mtime 2026-09-20 14:34ï¼ï¼ ä½**8 æçï¼mtime 2026-08-20ï¼éä»å«æ¦æ± 27 + é»ç³ 4 段**ãè¥åæ¬¡å¯¼å ¥è¯¥æä»¶ï¼å é¤ç 31 个项ç®ä¼éæ°å»ºæ¡£ â é导åéåæ ·æ¸ çã 3. **æ ¹å **ï¼è¿ç±»ãä¸ä»½æä»¶å«å ¨çåå¸å·ãççæ±æ»è¡¨è¢«å½ä½ãå¸å·å表ãæåå ¥åºï¼ç³æ¥åä½ååå °ãå®é æ¶å ¨çï¼ã ç¨åºä¾§å åºæ¹æ¡ï¼å¯¼å ¥æ¶è¯å«å¤å¸å·åå¹¶æç¤ºï¼å¾ ç¨æ·ç¡®è®¤æ¯å¦è¦åã 4. **补计å£å¾**ï¼åªè¡¥ãæ»æèµãï¼ä¸è¡¥èªå¼å§å»ºè®¾ç´¯è®¡/æ¬å¹´è®¡å/æ¬æå®æââè¿ä¸å没æé¡¹ç®ä¸»æ¡£æ°æ®æºï¼ç¬¦åç¨æ·ç¡®è®¤çå£å¾ã ## äºãç»è®º é¤ T14 çç¹å»çº§éªæ¶å¤å ¨é¨éè¿ï¼æ®çæ°æ®å·²æ¸ é¤å¹¶çæ¡£å¤ä»½ï¼é¢å®ææ±æ»è¡¨å°è®¡/å计å£å¾å·²æç¨æ·ç¡®è®¤è°æ´ï¼ å ¶å®æèµæ¥è¡¨ï¼äº¿å /ç»æµå¼ºå¿/åäºäºç©æµ/ä¸¤å¼ æç»è¡¨ï¼å彿£å¸¸ã docs/¹¤×÷ÈÕ½á/¹¤×÷ÈÕ½á_2026-09-20.md
@@ -41,6 +41,33 @@ `yearMonthOf` æ¯æè£¸æ¥æåºåï¼`repairCumulativeYoyFormulas()` ä¿ç使¯çå åºã 3. å端ï¼`ReportExport.vue` é¢è§è¡¥é½è´§è¿é/åå¸å®¢è¿/ä¸å£å¾å ± 8 项忝æ å°ï¼ä¿®æ£ãå½æè´§ç©å¨è½¬é(ä¸å¨)ãåä½ã ### 1.4 æ¸ é¤ãåå °æ±æ»è¡¨ã带åºçéåå °æ®çï¼ç¨æ·è¦æ±ï¼ - **èæ¯**ï¼ç¨æ·æ ¸å¯¹ `D:\æ¡é¢\çææ°æ®\çæ_å ¨çé¢å®æè®¡åè¿åº¦æ 嵿±æ» (2).xls` åç°æ¦æ±ç©æµæ®µå¤åº 27 个项ç®ï¼é«æ¡¥è´§è¿ç«â¦è¶æµ·åä¸ä¾åºé¾æ»é¨åºå°ï¼å¼å·¥å¹´ 2006-2016ï¼ã - **溯æº**ï¼è¿ 27 个ï¼+é»ç³ 4 ä¸ªï¼æ¥èªãæ¹åçåå °äº¤éç©æµåºç¡è®¾æ½æèµç»è®¡æ±æ»è¡¨ï¼ææ¥ï¼ãââæä»¶å/å¡«æ¥å使¯åå °ï¼ ä½ä¸ä¸ªé¡µç¾éæ¶äºå ¨çåå¸å·ï¼2026-08-26 11:57 éãå¸å·å表æ¹éå¯¼å ¥ï¼ç©æµï¼ç©æµååºï¼/7æï¼ãæå¸å·åå ¥åºï¼batch 17/25ï¼ã äº¤åæ ¸å¯¹ï¼è¿ 31 个项ç®åç§°å¨å ¶å®ä»»ä½å¸å·æºæä»¶éé½**æ¥ä¸å°**ï¼ç¡®è®¤ä¸ºè¯¥æä»¶å¸¦åºçæ®çã - **导åºä¸ºä½ä¼æ¾ç¤º**ï¼`investPlan` æ¯ãæ¯çå使¿æ¢ + 卿æè¡ãââæ¯çæ¦æ±ç©æµåªé¢ç 7 è¡ï¼åºéå¤åºçé¡¹ç®æãå¸å·+ç±»å«ãèªå¨è¡¥æå°å°èæ«å°¾ ï¼`ReportExportService.java` 卿æè¡æ®µï¼ãæä»¥åºéæå¤å°é¡¹ç®ï¼çæè¡¨å°±åºå¤å°è¡ã - **å¤ç½®**ï¼å ¨éå¤ä»½å° `docs/æèµ/è¾åº/æ¸ çæ®ç_åå °æ±æ»è¡¨å¸¦åºçéåå °é¡¹ç®_2026-09-20.tsv`ï¼31 ä¸ªé¡¹ç® + 39 æ¡æåº¦æ°ï¼åå é¤ï¼ 顺带åç°å¹¶æ¸ é¤è§£æãå计ãè¡è¯¯å»ºç伪项ç®ï¼id=229 å¸å®å¸å®¢è¿ç«åºãåããã计ãï¼13727 ä¸å ï¼ã ç»æï¼ç©æµååºé¡¹ç® 135 â 104ï¼2026-08 æåº¦æ° 167 â 136ï¼å®¢è¿ç«åºé¡¹ç® 49 â 48ã ### 1.5 é¢å®ææ±æ»è¡¨ï¼å°è®¡/åè®¡è¡¥è®¡ãææ»æèµãæ æ¬ææåº¦æ°ãç项ç®ï¼ç¨æ·ç¡®è®¤ãå¯ä»¥ãï¼ - åºæ¯ï¼æ¦æ± 8 æç©æµæ²¡æå表æ¥éï¼`docs/æèµ/è¾å ¥/ç©æµï¼ç©æµååºï¼/8æ` éæ²¡ææ¦æ±æä»¶ï¼ï¼6 个æ°é¡¹ç®å¨åºé没æ 2026-08 æåº¦æ°ï¼ 忥å°è®¡åªç´¯å æåº¦æ°æ® â æ¦æ±ç©æµæ´ååªæ¾ç¤ºé¡¹ç®è¡ãå°è®¡ç©ºç½ã - æ¹å¨ï¼`ReportExportService.investPlan()` æ°å¢ `addProjectsWithoutMonthly(...)`ï¼å¨**å¸å·å°è/åå计/å ¨çå计**ä¸å¤ç´¯å åï¼ æãæ¬ææ æåº¦è®°å½ä½ä¸»æ¡£ææ»æèµãçé¡¹ç®æç±»å«/å¸å·è¡¥è¿ **æ»æèµ** ä¸åï¼å ¶ä½åæ ä¸»æ¡£æ°æ®æºï¼ä¿æç©ºç½ï¼ã - ææï¼æ¦æ±ç©æµå°è®¡ = 272476ï¼6 ä¸ªé¡¹ç®æ»æèµåï¼ï¼åå计/å ¨çå计 = åºå åç±»é¡¹ç®æ»æèµä¹åï¼å¯é项对 SQL æ ¸å¯¹ï¼ã ### 1.6 å¯¼å ¥ç»æå¼¹çªæ¹é ï¼ç¨æ·ï¼å¼¹çªå¤ªé¿ãç¹ä¸å°ç¡®è®¤ãä¸è½ç§»å¨ï¼ - 忥ç¨çæ¯ Element `$alert`ï¼MessageBoxï¼æ¿è½½å¯¼å ¥ç»æ HTMLï¼å 容ä¸é¿å°±æãç¡®è®¤ãæ¤åºå±å¹ï¼ä¸ä¸è½æå¨ã - æ¹ä¸ºèªå®ä¹ `el-dialog`ï¼`v-dialog-drag` æ 颿 æå¨ã`custom-class="import-result-dialog"`ï¼å ¨å±æ ·å¼ï¼åè§ + å å®¹åº `max-height` æ»å¨ + åºé¨æé®åºå®ï¼ï¼ å¹¶æ°å¢ãå¯¼åºæç»ãæé®ï¼CSVï¼å¸¦ BOMï¼å¯ç´æ¥ Excel æå¼ï¼ï¼ç¨äºç¨æ·èªè¡æ ¸å¯¹/ä¿®æ¹ä¸ä¸è´å 容ã - è¦ç 4 å¤ï¼æ¹éå¯¼å ¥ç»æãå¸å·å表æ¹éå¯¼å ¥ç»æãåæä»¶å¯¼å ¥å¤±è´¥ãæèµä¸æèµç³»ç»ä¸ä¸è´æ¸ åã ## äºãæµè¯ç»ææè¦ ãåè½æµè¯æ¥å_æèµæç»è¡¨å°±ç»ªä¸é¢è§ç±»åè¡¥é½_2026-09-20.mdãï¼**7 æ¡ç¨ä¾éè¿ï¼1 æ¡æªå®æµ**ï¼ç¼ºæ¯çæç¤ºï¼æªä¸´æ¶ç§»å¨ç¨æ·æ¯çæä»¶ï¼ã @@ -67,6 +94,21 @@ | é¢è§æ¥å£ | 24 é¡¹ææ å« 8 项忝ï¼1.03 ç§ | | 导åºèæ¶ | 14 ç§ï¼æ¯ç读å+åå¡« 6.5sãå ¬å¼éç® 4.1sãåçä¼ è¾ 3.4sï¼ | ãåè½æµè¯æ¥å_æèµé¢å®ææ±æ»è¡¥è®¡ä¸å¯¼å ¥å¼¹çª_2026-09-20.mdãï¼**14 æ¡ç¨ä¾éè¿ï¼1 æ¡ä¸ºéæ/ç¼è¯çº§éªè¯ï¼ç¹å»çº§éªæ¶å¾ ç¨æ·å®æµï¼**ã | æ ¡éªé¡¹ | ç»æ | | --- | --- | | æ®çåºåº | ç©æµé¡¹ç® 135â104ãæåº¦æ° 167â136ï¼å¤ä»½ TSV 77 è¡ | | çæè¡¨æ¦æ±ç©æµæ®µ | 33 è¡ â 6 è¡ï¼èªå/ä¸é/é³é»æ¸¯/æå /åä¸åå¦å/è¿ç¿è¾¾ï¼ | | æ¦æ±ç©æµå°è®¡ï¼è¡¥è®¡ï¼ | c8=272476ï¼6 ä¸ªé¡¹ç®æ»æèµåï¼ï¼å ¶ä½å空 | | é»ç³ç©æµå°è®¡ | 729375.69 â 614991.69 | | åå计/å ¨çå计 | ç©æµ 5889737.36ãå®¢è¿ 763632.2ãå ¨ç 6653369.56ï¼ä¸ SQL ä¸è´ | | 1-8æç´¯è®¡ï¼c23ï¼ | 744262.86 â 733956.06ï¼å·®é¢ = 被å é¡¹ç® year_cum ä¹åï¼è¡¥è®¡æªæ±¡æè¯¥å | | ä¼ªé¡¹ç®æ¸ é¤ | å¸å®å®¢è¿å°è®¡ 27454 â 13727 | | çæè¡¨è¡æ° | 313 â 281 | | å ¶å®æèµæ¥è¡¨åå½ | investBillion/County/FiveYearLogistics å 136 è¡ãä¸¤å¼ æç»è¡¨ 39/97 è¡ï¼ready=trueï¼åå¯å¯¼åº | | è´å | `types=foo` â ready=falseï¼noteãæªç¥æ¥è¡¨ç±»åï¼fooã | ## ä¸ãéçé®é¢ä¸å¾ å 1. æ¦æ±ç©æµé¡¹ç®æ¸ åå£å¾ï¼å·²ç¡®è®¤å¿½ç¥ï¼ã @@ -87,3 +129,8 @@ 2. æ¨è¿ C/D ç»ä¸ B4ã 3. ä¸ç¨æ·ç¡®è®¤æ¯å¦æ 09-18 å¤é´èµ·çæ¬å°æäº¤ä¸å¹¶æ¨éå°å ¬å¸ giteaï¼ç¨æ· 09-19 æ¾è¦æ±ãä»å¤©å 䏿¨å ¬å¸ãï¼ã 4. è¯ä¼°æ±æ»å¤§è¡¨å¯¼åºå¼æ¥åï¼é¿ä»»å¡è¿åº¦æ¡ / ç»æç¼åï¼ï¼å¹¶ç¡®è®¤é¨ç½²å æ¯ç忥æ¹å¼ã 9. **8 æçåå °æ±æ»è¡¨æªæ¸ ç**ï¼ç¨æ·åªæ¸ äº 7 æçï¼108032â90112 åèï¼ï¼8 æçï¼mtime 2026-08-20ï¼ä»å«æ¦æ± 27 + é»ç³ 4 æ®µï¼ è¥é导 8 æç©æµï¼å·²å é¤ç 31 个项ç®ä¼éæ°å»ºæ¡£ â é导åéåæ ·æ¸ çï¼æç±æä»£åï¼å¾ ç¨æ·ç¡®è®¤ï¼ã 10. å¸å·åè¡¨å¯¼å ¥ç**å¤å¸å·åå åºæç¤º**ï¼è¯å«ä¸ä»½æä»¶å«å¤ä¸ªå¸å·åå¹¶æç¤º/è·³è¿ï¼å¾ ç¨æ·ç¡®è®¤æ¯å¦è¦åã 11. çæè¡¨æ¦æ±ç©æµå°è®¡ç°å¨åªæãæ»æèµãï¼ç¼º 8 æçèªå¼å§ç´¯è®¡/æ¬å¹´è®¡å/æå®æ â éæ¦æ± 8 æç©æµåè¡¨ï¼æçå å£å¾ï¼æè½è¡¥é½ã docs/Ͷ×Ê/ÊäÈë/¿ÍÔË£¨¿ÍÔËÕ¾£©/7ÔÂ/Ê®ÑßÊÐ2026Äê7Ô¹̶¨×ʲúÔ±¨µç×Ó°æÍ¶×ʱí¸ñ.xlsxBinary files differ
docs/Ͷ×Ê/ÊäÈë/ÎïÁ÷£¨ÎïÁ÷Ô°Çø£©/7ÔÂ/ºþ±±Ê¡Ê®Ñß½»Í¨ÎïÁ÷»ù´¡ÉèʩͶ×Êͳ¼Æ»ã×Ü±í£¨Ô±¨£©£¨2026Äê7Ô£©.xlsBinary files differ
docs/Ͷ×Ê/Êä³ö/ÇåÀí²ÐÁô_Ê®Ñß»ã×Ü±í´ø³öµÄ·ÇÊ®ÑßÏîÄ¿_2026-09-20.tsv
New file @@ -0,0 +1,81 @@ ## å¤ä»½æ¶é´ 2026-09-20 åå ï¼åå °æ±æ»è¡¨(2026å¹´5/7/8æç)å 嫿¦æ±27个+é»ç³4个éåå °è项ç®ï¼2026-08-26 11:57 éãå¸å·å表æ¹éå¯¼å ¥ãå ¥åºï¼ç°æç¨æ·è¦æ±æ¸ é¤ ## investment_project id project_name category city county builder_name construct_nature start_time end_time total_investment is_billion is_county is_five_year source import_batch_id created_at updated_at 122 髿¡¥è´§è¿ç« ç©æµååº æ¦æ±å¸ NULL æ¦æ±ä¸è¥¿æ¹ä¿ç¨ç©æµæèµæéå ¬å¸ ç»å»º 2006 2020 45482 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 16:37:31 123 èç°ç©æµåºå° ç©æµååº æ¦æ±å¸ NULL æ¦æ±èç°ç©æµåºå°è¡ä»½æéå ¬å¸ ç»å»º 2011 2015 110000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 124 æ±å£åå½é å¤å¼èè¿ç©æµæ¸¯ ç©æµååº æ¦æ±å¸ NULL æ¹åç交éæèµæéå ¬å¸ æ°å»º 2016 2020 300000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 125 æ¦æ±æ¦æ¹åå¸é éä¸å¿ ç©æµååº æ¦æ±å¸ NULL æ¹åèå å产åå·é¾ç©æµå ¬å¸ æ°å»º 2015 2017 30000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 126 æ¦æ±æ·å©éè¾¾ç°ä»£ç©æµ ç©æµååº æ¦æ±å¸ NULL æ¦æ±æ·å©éè¾¾ç©æµæéå ¬å¸ ç»å»º 2013 2016 50000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 127 æ¦æ±éè£ ç®±å ¬è·¯ä¸è½¬ä¸å¿ ç©æµååº æ¦æ±å¸ NULL æ¹åçæ¸¯åéå¢ æ°å»º 2016 2020 75000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 128 æ¦æ±ä¸è¥¿æ¹ç©æµåºå° ç©æµååº æ¦æ±å¸ NULL æ±éç½®ä¸è¡ä»½æéå ¬å¸ æ°å»º 2012 2016 130000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 129 æ¦æ±ç©æµäº¤ææï¼æ»é¨ï¼ ç©æµååº æ¦æ±å¸ NULL æ¦æ±äº¤æç©æµäº¤æä¸å¿æéå ¬å¸ æ°å»º 2016 2020 270000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 130 æ¦æ±ç¾å®ç°ä»£ç©æµå ç©æµååº æ¦æ±å¸ NULL æ¦æ±ç¾å®å¨è¿æéå ¬å¸ æ°å»º 2014 2016 110000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 131 åå°é港ä¸å¿ ç©æµååº æ¦æ±å¸ NULL åå°é港ä¸å¿æèµæéå ¬å¸ æ°å»º 2014 2017 400000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 132 æ¦æ±æ°æ¸¯é³é»æ¸¯å£ç©æµå ç©æµååº æ¦æ±å¸ NULL æ¦æ±æ°æ¸¯é³é»ä¿ç¨ååºç®¡çæéå ¬å¸ æ°å»º 2014 2017 108994 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 133 æµ·åæå½é 绿è²å港 ç©æµååº æ¦æ±å¸ NULL æ¦æ±åå¸åæµ·åæå产åç©æµæéå ¬å¸ æ°å»º 2014 2020 800000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 134 æ¦æ±ï¼æ±å¤ï¼å¾·é¦ç©æµäº§ä¸å ç©æµååº æ¦æ±å¸ NULL å¾·é¦ç©æµ æ°å»º 2015 2017 137000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 135 æ¦æ±åè¿è¾¾ç©æµåºå°é¡¹ç® ç©æµååº æ¦æ±å¸ NULL æ¦æ±åè¿è¾¾ç©æµæéå ¬å¸ æ°å»º 2015 2017 30000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 136 鿏¯æ°åºæ±½è½¦ç©æµå ç©æµååº æ¦æ±å¸ NULL æ¦æ±æ°é¸¿çç©æµæéå ¬å¸ æ°å»º 2015 2017 64000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 137 顺丰é鿦æ±çµååå¡ç©æµä¸å¿ ç©æµååº æ¦æ±å¸ NULL æ¦æ±ä¸°æ³°çµå产ä¸å管çæéå ¬å¸ æ°å»º 2015 2017 100000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 138 å´å®¶å±±éè·¯ç©æµå ç©æµååº æ¦æ±å¸ NULL æ¦æ±éè·¯å± æ°å»º 2015 2018 35000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 139 æåºè¾¾é«åå·¥ç©æµ ç©æµååº æ¦æ±å¸ NULL æ¹åéè ¾å ´æéå ¬å¸ æ°å»º 2013 2018 204000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 140 䏿¹ç»¼åä¿ç¨åºé£åä¿ç¨ç©æµå ç©æµååº æ¦æ±å¸ NULL æ¦æ±éå®ç»¼åä¿ç¨å屿éå ¬å¸ æ°å»º 2015 2017 124000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 141 京ä¸åååä¸åºåæ»é¨ ç©æµååº æ¦æ±å¸ NULL å京京ä¸ä¸çºªè´¸ææéå ¬å¸ æ°å»º 2014 2018 700000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 142 äºèç½+ç©æµä¿¡æ¯äº¤æå¹³å° ç©æµååº æ¦æ±å¸ NULL æ¦æ±æ·å©ç©æµæéå ¬å¸ æ°å»º 2015 2016 31792 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 143 é»ç³æ°å°çµååå¡ç©æµä¸å¿ ç©æµååº æ¦æ±å¸ NULL æ¦æ±é«æ¡¥æ°å°ç©æµæéå ¬å¸ æ°å»º 2015 2016 200000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 144 æ±å£åå ¬éèè¿ä¸å¿ ç©æµååº æ¦æ±å¸ NULL çäº¤æ æ°å»º 2016 2018 200000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 145 æ±å£å髿°ç©æµç¤ºèåï¼æ¦æ¹è´§è¿ç«ï¼ ç©æµååº æ¦æ±å¸ NULL æ¹åçæ±½è½¦è¿è¾æ»å ¬å¸ æ°å»º 2012 2017 114500 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 146 å山货è¿ç« ç©æµååº æ¦æ±å¸ NULL æ¦æ±å®æ¹¾å½é ç©æµæéå ¬å¸ æ°å»º 2013 2015 102000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 147 æ±å£åéè·¯ç©æµä¸å¿ï¼2æï¼ ç©æµååº æ¦æ±å¸ NULL æ¦æ±ä¸åç©æµæéå ¬å¸ æ°å»º 2015 2017 88500 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 148 è¶æµ·åä¸ä¾åºé¾æ»é¨åºå° ç©æµååº æ¦æ±å¸ NULL æ·±å³å¸è¶æµ·å ¨çç©æµæéå ¬å¸ æ°å»º 2015 2018 150000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-01 15:54:17 149 é»ç³ç½æ¡¥ç©æµå ç©æµååº é»ç³å¸ NULL æ¹å天海çè¾¾ç©æµæéå ¬å¸ æ°å»º 2012 2017 39119 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-19 00:11:41 150 é»ç³è±æ¹ç©æµä¸å¿ ç©æµååº é»ç³å¸ NULL æ¹å广åç©æµæéå ¬å¸ æ°å»º 2012 2016 23586 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-19 00:11:41 151 é»ç³æ£ç洲综åç©æµåä¸æï¼æ£çæ´²ä¿ç¨ç©æµä¸å¿ï¼ ç©æµååº é»ç³å¸ NULL é»ç³æ¸¯éç©æµå屿éå ¬å¸ æ°å»º 2013 2018 28679 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-19 00:11:41 152 鳿°å¿ç©æµä¸å¿ ç©æµååº é»ç³å¸ NULL 鳿°å¿äº¤éæèµå ¬å¸ æ°å»º 2015 2018 23000 0 0 0 å¸å·å表 NULL 2026-08-26 11:57:10 2026-09-19 00:11:41 ## investment_monthly id report_period project_id project_name year_plan year_cum month_done start_cum progress_stage LEFT(m.progress_desc,60) building_area created_at 3000 2026-08 122 髿¡¥è´§è¿ç« 0 0 0 40148 NULL 䏿è§åä¸ NULL 2026-09-19 00:20:08 3001 2026-08 123 èç°ç©æµåºå° 1500 500 500 89608 NULL åå¸é éä¸å¿å»ºè®¾å·²å®æè³100%ï¼ç¸å ³å¸æ¿é å¥å·¥ç¨å®æ100%ãç°å ä¸ç¯çº¿è¾ é徿¶æè¿äºå®è´ä½¿è¯ä»¶åçå·¥ä½å»¶æåå¾ç®äºæ NULL 2026-09-19 00:20:08 3002 2026-08 124 æ±å£åå½é å¤å¼èè¿ç©æµæ¸¯ 1000 0 0 0 NULL æ´½è°ä¸ NULL 2026-09-19 00:20:08 3003 2026-08 125 æ¦æ±æ¦æ¹åå¸é éä¸å¿ 6000 0 0 13000 NULL ä»åºå¨å»ºä¸ NULL 2026-09-19 00:20:08 3004 2026-08 126 æ¦æ±æ·å©éè¾¾ç°ä»£ç©æµ 14000 1100 1100 26000 NULL ç®åäºæå¨åçå¼å·¥åæç»ï¼å·²å®æåºååå°æè¿ãå¹³æ´å·¥ä½ã NULL 2026-09-19 00:20:08 3005 2026-08 127 æ¦æ±éè£ ç®±å ¬è·¯ä¸è½¬ä¸å¿ 1000 0 0 0 NULL ç±æ¦æ±æ°æ¸¯å§çµå¤´æ¦æ±æ°æ¸¯ç©ºæ¸¯ç»¼åä¿ç¨åºæ©å¤§èå´ç认è¯é®é¢ï¼å¯¹æ¥æ±åéè·¯äºæå»ºè®¾ï¼æ¯ææ°æ¸¯ä¼ä¸åå±çãç°å·²æ£å¼å¯å¨è¯¥é¡¹ç®ç NULL 2026-09-19 00:20:08 3006 2026-08 128 æ¦æ±ä¸è¥¿æ¹ç©æµåºå° 12000 1000 1000 71657 NULL åæåºåç7#楼å°é¡¶ã6#楼äºå±ç»æã5#楼å°ä¸å®¤å°é¡¶ã4#楼æ£è´é¶ï¼å车åºBåºæ½å·¥ã NULL 2026-09-19 00:20:08 3007 2026-08 129 æ¦æ±ç©æµäº¤ææï¼æ»é¨ï¼ 20000 0 0 1000 NULL 项ç®å¯è¡æ§ç ç©¶æ¥ååå»ºçæ¹æ¡è®¾è®¡æ£å¨ç¼å¶ä¸ NULL 2026-09-19 00:20:08 3008 2026-08 130 æ¦æ±ç¾å®ç°ä»£ç©æµå 0 0 0 30156 NULL 2#楼å é¨è£ ä¿®å®æ¯ï¼å·²å¼å§è¯è¿è¥ï¼1#楼å¼å§ææ¡©ï¼ç©æµå°åå·²å¼å§è®¾è®¡ï¼å ´å»ºåè½¦åº NULL 2026-09-19 00:20:08 3009 2026-08 131 åå°é港ä¸å¿ 20000 400 400 51900 NULL æ£å¨è¿è¡ååºéè·¯éºè®¾ï¼å´ç½å·¥ç¨ NULL 2026-09-19 00:20:08 3010 2026-08 132 æ¦æ±æ°æ¸¯é³é»æ¸¯å£ç©æµå 30000 865.6 865.6 44157 NULL 宿ååºåå°å¹³æ´ãå°ä¸è®¾æ½ãååºéè·¯ãæ¡©åºåå´ç½çåºç¡æ½å·¥ NULL 2026-09-19 00:20:08 3011 2026-08 133 æµ·åæå½é 绿è²å港 36000 2865.2 2865.2 66092.26 NULL 21æ è¬è交æå¤§å ãé 奿¥¼Aæ åçµåä¸å¿å·¥ç¨ç«£å·¥äº¤ä»å¹¶å¼ä¸ãç°å·²å¯å¨äºæå»ºè®¾ NULL 2026-09-19 00:20:08 3012 2026-08 134 æ¦æ±ï¼æ±å¤ï¼å¾·é¦ç©æµäº§ä¸å 1000 0 0 0 NULL æå ³æç»å·²åé½ï¼å·²å®æåå°æææå·¥ä½ NULL 2026-09-19 00:20:08 3013 2026-08 135 æ¦æ±åè¿è¾¾ç©æµåºå°é¡¹ç® 0 0 0 5000 NULL ç®åå·²åå¾åå°149.9亩ï¼åå°è¯æ£å¨åçä¸ï¼å¼å±åºå¹³å·¥ä½ NULL 2026-09-19 00:20:08 3014 2026-08 136 鿏¯æ°åºæ±½è½¦ç©æµå 0 0 0 0 NULL 已宿å°è´¨åå¯ NULL 2026-09-19 00:20:08 3015 2026-08 137 顺丰é鿦æ±çµååå¡ç©æµä¸å¿ 0 0 0 10000 NULL 1ã项ç®ç¨å°å·²è·æ¹åï¼è¿å ¥ä¸è¥¿æ¹åºåå°å¨å¤ä¸å¿ï¼åâæææâåæåå¤ã NULL 2026-09-19 00:20:08 3016 2026-08 138 å´å®¶å±±éè·¯ç©æµå 0 0 0 5000 NULL 宿ååºé路建设ï¼äºå±åå ¬æ¥¼å°é¡¶ NULL 2026-09-19 00:20:08 3017 2026-08 139 æåºè¾¾é«åå·¥ç©æµ 0 0 0 25888 NULL è¯è¿è¥ NULL 2026-09-19 00:20:08 3018 2026-08 140 䏿¹ç»¼åä¿ç¨åºé£åä¿ç¨ç©æµå 0 0 0 59000 NULL å ³å 241亩ç¨å°å·²å¼å·¥å»ºè®¾ NULL 2026-09-19 00:20:08 3019 2026-08 141 京ä¸åååä¸åºåæ»é¨ 20000 0 0 87800 NULL 已宿1-6#åæ¿ä¸»ä½é¢ç»æå®è£ ï¼è®¾å¤å®è£ è°è¯ï¼1#ã4#åæ¿å´æ¤ç»æå®è£ ï¼é£å å°é¡¶ï¼å®¿è1#楼æ½å·¥å®æ5å±ï¼å®¿èå°ä¸å®¤ NULL 2026-09-19 00:20:08 3020 2026-08 142 äºèç½+ç©æµä¿¡æ¯äº¤æå¹³å° 0 0 0 8000 NULL 已建æ1000ä½åº§å¸åæå ¥6000ä¸å NULL 2026-09-19 00:20:08 3021 2026-08 143 é»ç³æ°å°çµååå¡ç©æµä¸å¿ 0 2000 2000 2000 NULL æ£å¨è¿è¡æè¿ãåºå¹³ãæ¸ æ·¤æ¢å¡«ãæ¸ é¤èæ¤åçåºå¹³å·¥ä½ NULL 2026-09-19 00:20:08 3022 2026-08 144 æ±å£åå ¬éèè¿ä¸å¿ 20000 0 0 0 NULL æ´½è°ä¸ NULL 2026-09-19 00:20:08 3023 2026-08 145 æ±å£å髿°ç©æµç¤ºèåï¼æ¦æ¹è´§è¿ç«ï¼ 15000 0 0 11629 NULL å®æåæ 1.25ä¸å¹³æ¹ç±³ä¸»ä½å·¥ç¨ï¼å ¶ä½é¡¹ç®ç¨å°æ£å¨è½å®ä¸ NULL 2026-09-19 00:20:08 3024 2026-08 146 å山货è¿ç« 1000 0 0 59050 NULL ä¼ä¸è¿åºè¯è¿è¥ NULL 2026-09-19 00:20:08 3025 2026-08 147 æ±å£åéè·¯ç©æµä¸å¿ï¼2æï¼ 30000 0 0 0 NULL æ£å¨è¿è¡äºææ½å·¥è®¾è®¡åæ½å·¥æææ å·¥ä½ NULL 2026-09-19 00:20:08 3026 2026-08 148 è¶æµ·åä¸ä¾åºé¾æ»é¨åºå° 30000 0 0 0 NULL åºå¹³å ¨é¨å®æ NULL 2026-09-19 00:20:08 1624 2026-06 149 é»ç³ç½æ¡¥ç©æµå 11200 69 69 18202 NULL éè£ ç®±è®¾å¤å®è£ NULL 2026-08-26 12:25:57 1998 2026-07 149 é»ç³ç½æ¡¥ç©æµå 11200 69 69 18202 NULL éè£ ç®±è®¾å¤å®è£ NULL 2026-09-01 16:37:32 3027 2026-08 149 é»ç³ç½æ¡¥ç©æµå 11200 69 69 18202 NULL éè£ ç®±è®¾å¤å®è£ NULL 2026-09-19 00:20:08 1625 2026-06 150 é»ç³è±æ¹ç©æµä¸å¿ 1700 0 0 20300 NULL åºæ¬å»ºæï¼æ£å¨è¿è¡äºæç»¼å楼å¤å¢è£ ä¿® NULL 2026-08-26 12:25:57 1999 2026-07 150 é»ç³è±æ¹ç©æµä¸å¿ 1700 0 0 20300 NULL åºæ¬å»ºæï¼æ£å¨è¿è¡äºæç»¼å楼å¤å¢è£ ä¿® NULL 2026-09-01 16:37:32 3028 2026-08 150 é»ç³è±æ¹ç©æµä¸å¿ 1700 0 0 20300 NULL åºæ¬å»ºæï¼æ£å¨è¿è¡äºæç»¼å楼å¤å¢è£ ä¿® NULL 2026-09-19 00:20:08 1626 2026-06 151 é»ç³æ£ç洲综åç©æµåä¸æï¼æ£çæ´²ä¿ç¨ç©æµä¸å¿ï¼ 5000 0 0 23730 NULL ä¿ç¨ç©æµä¸å¿éè¿å½å®¶éªæ¶ NULL 2026-08-26 12:25:57 2000 2026-07 151 é»ç³æ£ç洲综åç©æµåä¸æï¼æ£çæ´²ä¿ç¨ç©æµä¸å¿ï¼ 5000 0 0 23730 NULL ä¿ç¨ç©æµä¸å¿éè¿å½å®¶éªæ¶ NULL 2026-09-01 16:37:32 3029 2026-08 151 é»ç³æ£ç洲综åç©æµåä¸æï¼æ£çæ´²ä¿ç¨ç©æµä¸å¿ï¼ 5000 0 0 23730 NULL ä¿ç¨ç©æµä¸å¿éè¿å½å®¶éªæ¶ NULL 2026-09-19 00:20:08 1627 2026-06 152 鳿°å¿ç©æµä¸å¿ 1000 0 0 1332 NULL åæå·¥ä½ NULL 2026-08-26 12:25:57 2001 2026-07 152 鳿°å¿ç©æµä¸å¿ 1000 0 0 1332 NULL åæå·¥ä½ NULL 2026-09-01 16:37:32 3030 2026-08 152 鳿°å¿ç©æµä¸å¿ 1000 0 0 1332 NULL åæå·¥ä½ NULL 2026-09-19 00:20:08 ## 追å ï¼ä¼ªé¡¹ç®ãåããã计ã(å¸å®å¸å®¢è¿ç«åº, id=229, è§£æåè®¡è¡æ¶è¯¯å»º, æ æåº¦æ°) id project_name city category source total_investment created_at 229 å 计 å¸å®å¸ 客è¿ç«åº å¸å·å表 13727 2026-09-16 15:07:54 traffic-audit-web/src/views/DataImport.vue
@@ -150,6 +150,19 @@ :disabled="clearScope === 'types' && !clearTypes.length" @click="confirmClear">ç¡®è®¤æ¸ ç©º</el-button> </span> </el-dialog> <!-- å¯¼å ¥ç»æå¼¹çªï¼å¯æå¨ãå å®¹åºæ»å¨ãåºé¨æé®åºå®å¯è§ï¼å $alert å å®¹é¿æ¶åºé¨æé®ä¼è¢«æ¤åºå±å¹ï¼ --> <el-dialog :title="resultDialog.title" :visible.sync="resultDialog.visible" width="860px" top="5vh" append-to-body :close-on-click-modal="false" custom-class="import-result-dialog" v-dialog-drag> <div v-if="resultDialog.level" class="ird-level" :class="'ird-' + resultDialog.level"> {{ resultDialog.level === 'error' ? 'å¯¼å ¥å¤±è´¥' : (resultDialog.level === 'warning' ? 'åå¨éè¦ç¡®è®¤çå 容' : 'å¯¼å ¥æå') }} </div> <div class="ird-body" v-html="resultDialog.html"></div> <span slot="footer"> <el-button v-if="resultDialog.rows.length" size="small" icon="el-icon-download" @click="exportResultDialog">å¯¼åºæç»</el-button> <el-button type="primary" @click="resultDialog.visible = false">确认</el-button> </span> </el-dialog> </el-main> </el-container> </el-container> @@ -193,6 +206,7 @@ clearDialog: false, clearScope: 'all', clearTypes: [], resultDialog: { visible: false, title: '', html: '', rows: [], columns: [], fileName: '', level: '' }, sideOpen: false, result: '', error: '', @@ -463,11 +477,15 @@ (f.city ? 'ï¼' + f.city + 'ï¼' : '') + 'ï¼è§£æ ' + (f.success || 0) + ' æ¡' + (f.error ? ' <span style="color:#F56C6C">' + f.error + '</span>' : '') + '</div>' ).join('') this.$alert(html, (label || type) + ' æ¹éå¯¼å ¥å®æï¼å ± ' + d.total + ' 个æä»¶' + (d.fail > 0 ? 'ï¼å¤±è´¥ ' + d.fail + ' æ¡' : '') + 'ï¼æå ' + d.success + ' æ¡ï¼', { dangerouslyUseHTMLString: true, type: errCount > 0 ? 'warning' : 'success', confirmButtonText: 'ç¥éäº' this.showResultDialog({ title: (label || type) + ' æ¹éå¯¼å ¥å®æï¼å ± ' + d.total + ' 个æä»¶' + (d.fail > 0 ? 'ï¼å¤±è´¥ ' + d.fail + ' æ¡' : '') + 'ï¼æå ' + d.success + ' æ¡ï¼', html: html, level: errCount > 0 ? 'warning' : 'success', columns: [{ key: 'fileName', label: 'æä»¶å' }, { key: 'city', label: 'å¸å·' }, { key: 'success', label: 'è§£ææ¡æ°' }, { key: 'error', label: 'é误' }], rows: files.map(f => ({ fileName: f.fileName || '', city: f.city || '', success: f.success || 0, error: f.error || '' })), fileName: (label || 'æ¹éå¯¼å ¥') + '_' + this.period + '_å¯¼å ¥ç»æ' }) if (type === 'investment' || type === 'investmentLogistics') { this.checkInvest(this.period) @@ -505,12 +523,16 @@ (f.city ? 'ï¼' + f.city + 'ï¼' : '') + 'ï¼è§£æ ' + (f.success || 0) + ' 个项ç®' + (f.error ? ' <span style="color:#F56C6C">' + f.error + '</span>' : '') + '</div>' ).join('') this.$alert(html, 'å¸å·å表æ¹éå¯¼å ¥å®æï¼å ± ' + d.total + ' æ¡ï¼æå ' + d.success + ' æ¡' + (d.fail > 0 ? 'ï¼å¤±è´¥ ' + d.fail + ' æ¡' : '') + 'ï¼åäºäºé¡¹ç®å¹é ' + d.fiveYearMatched + '/' + d.fiveYearTemplateProjects + 'ï¼', { dangerouslyUseHTMLString: true, type: errCount > 0 ? 'warning' : 'success', confirmButtonText: 'ç¥éäº' this.showResultDialog({ title: 'å¸å·å表æ¹éå¯¼å ¥å®æï¼å ± ' + d.total + ' æ¡ï¼æå ' + d.success + ' æ¡' + (d.fail > 0 ? 'ï¼å¤±è´¥ ' + d.fail + ' æ¡' : '') + 'ï¼åäºäºé¡¹ç®å¹é ' + d.fiveYearMatched + '/' + d.fiveYearTemplateProjects + 'ï¼', html: html, level: errCount > 0 ? 'warning' : 'success', columns: [{ key: 'fileName', label: 'æä»¶å' }, { key: 'city', label: 'å¸å·' }, { key: 'success', label: 'è§£æé¡¹ç®æ°' }, { key: 'error', label: 'é误' }], rows: files.map(f => ({ fileName: f.fileName || '', city: f.city || '', success: f.success || 0, error: f.error || '' })), fileName: 'å¸å·åè¡¨å¯¼å ¥ç»æ_' + this.period }) this.afterImport() }) @@ -527,10 +549,10 @@ const text = (msg && msg.indexOf('å¯¼å ¥') !== -1) ? msg : 'æ°æ®å¯¼å ¥æå' this.$message({ message: text, type: 'success', duration: 5000 }) } else { this.$alert((msg || 'æ°æ®å¯¼å ¥å¤±è´¥ï¼è¯¦è§ä¸æ¹å¤±è´¥è®°å½').replace(/\n/g, '<br>'), 'æ°æ®å¯¼å ¥å¤±è´¥', { dangerouslyUseHTMLString: true, type: 'error', confirmButtonText: 'ç¥éäº' this.showResultDialog({ title: 'æ°æ®å¯¼å ¥å¤±è´¥', html: (msg || 'æ°æ®å¯¼å ¥å¤±è´¥ï¼è¯¦è§ä¸æ¹å¤±è´¥è®°å½').replace(/\n/g, '<br>'), level: 'error' }) } }, @@ -646,14 +668,55 @@ '<br/>å®é ï¼' + (x.actualValue || '') + 'ãåºåï¼' + (x.thresholdValue || '') + '<br/>å·®å¼ï¼' + (x.deviation || '') + '</div>' }).join('') this.$alert(html, 'æèµæ°æ®ä¸æèµç³»ç»ä¸ä¸è´ï¼' + pending.length + ' æ¡ï¼', { dangerouslyUseHTMLString: true, type: 'warning', confirmButtonText: 'ç¥éäº' this.showResultDialog({ title: 'æèµæ°æ®ä¸æèµç³»ç»ä¸ä¸è´ï¼' + pending.length + ' æ¡ï¼', html: html, level: 'warning', columns: [{ key: 'rule', label: 'è§å' }, { key: 'name', label: '项ç®/ä¼ä¸' }, { key: 'actual', label: 'å®é å¼' }, { key: 'base', label: 'åºåå¼' }, { key: 'dev', label: 'å·®å¼' }], rows: pending.map(x => ({ rule: x.ruleName || '', name: x.enterpriseName || x.actualValue || '', actual: x.actualValue || '', base: x.thresholdValue || '', dev: x.deviation || '' })), fileName: 'æèµæ°æ®ä¸æèµç³»ç»ä¸ä¸è´_' + this.period }) } else { this.$message.success('已䏿èµç³»ç»æ ¸å¯¹ï¼æ¬ææ°æ®ä¸è´') } }) .catch(() => {}) }, showResultDialog(opts) { const o = opts || {} this.resultDialog = { visible: true, title: o.title || 'å¯¼å ¥ç»æ', html: o.html || '', level: o.level || '', rows: o.rows || [], columns: o.columns || [], fileName: o.fileName || ('å¯¼å ¥ç»æ_' + (this.period || '')) } }, exportResultDialog() { const cols = this.resultDialog.columns || [] const rows = this.resultDialog.rows || [] if (!cols.length || !rows.length) { this.$message.warning('没æå¯å¯¼åºçæç»'); return } const esc = v => '"' + String(v === null || v === undefined ? '' : v).replace(/"/g, '""') + '"' const lines = [cols.map(c => esc(c.label)).join(',')] rows.forEach(r => lines.push(cols.map(c => esc(r[c.key])).join(','))) const blob = new Blob(['\ufeff' + lines.join('\r\n')], { type: 'text/csv;charset=utf-8' }) const url = URL.createObjectURL(blob) const a = document.createElement('a') a.href = url a.download = this.resultDialog.fileName + '.csv' document.body.appendChild(a) a.click() document.body.removeChild(a) URL.revokeObjectURL(url) }, parseFailDetails(row) { if (!row || !row.errorDetail) return [] @@ -723,3 +786,17 @@ .module-tabs-head { margin-bottom: 10px; } .module-tab-pane { min-height: 120px; } </style> <style> /* å¯¼å ¥ç»æå¼¹çªï¼el-dialog é»è®¤ append-to-bodyï¼DOM æå¨ body ä¸ï¼scoped éæ©å¨å¹é ä¸å°ï¼å¿ é¡»åå ¨å± */ .import-result-dialog { border-radius: 10px; overflow: hidden; } .import-result-dialog .el-dialog__header { cursor: move; user-select: none; -webkit-user-select: none; } .import-result-dialog .el-dialog__headerbtn { cursor: pointer; } .import-result-dialog .el-dialog__body { max-height: calc(100vh - 210px); overflow-y: auto; overscroll-behavior: contain; padding: 12px 20px; } .import-result-dialog .el-dialog__footer { border-top: 1px solid #EBEEF5; padding: 10px 20px; } .import-result-dialog .ird-body { line-height: 1.7; font-size: 13px; color: #303133; } .import-result-dialog .ird-level { margin-bottom: 8px; font-weight: 600; } .import-result-dialog .ird-success { color: #67C23A; } .import-result-dialog .ird-warning { color: #E6A23C; } .import-result-dialog .ird-error { color: #F56C6C; } </style>