소스 검색

调整部分组件的ui

code4eat 11 달 전
부모
커밋
5f3c7e016b
25개의 변경된 파일1342개의 추가작업 그리고 569개의 파일을 삭제
  1. BIN
      .DS_Store
  2. 206 0
      .VSCodeCounter/2024-08-30_09-46-31/details.md
  3. 15 0
      .VSCodeCounter/2024-08-30_09-46-31/diff-details.md
  4. 2 0
      .VSCodeCounter/2024-08-30_09-46-31/diff.csv
  5. 19 0
      .VSCodeCounter/2024-08-30_09-46-31/diff.md
  6. 22 0
      .VSCodeCounter/2024-08-30_09-46-31/diff.txt
  7. 193 0
      .VSCodeCounter/2024-08-30_09-46-31/results.csv
  8. 0 0
      .VSCodeCounter/2024-08-30_09-46-31/results.json
  9. 108 0
      .VSCodeCounter/2024-08-30_09-46-31/results.md
  10. 302 0
      .VSCodeCounter/2024-08-30_09-46-31/results.txt
  11. 3 2
      src/pages/budgetMana/monthlyInfoCheck/index.tsx
  12. 99 160
      src/pages/budgetMana/oneBatch/index.tsx
  13. 3 0
      src/pages/budgetMana/personnelSalaryBudget/components/distribute/index.tsx
  14. 2 2
      src/pages/budgetMana/personnelSalaryBudget/service.ts
  15. 2 3
      src/pages/noAccess/index.tsx
  16. 91 82
      src/pages/reportCheck/report/index.tsx
  17. 27 13
      src/pages/secondaryDistribute/employeeInfoCheck/index.tsx
  18. 16 5
      src/pages/secondaryDistribute/nonCheckProjectApprove/index.tsx
  19. 76 40
      src/pages/secondaryDistribute/secondaryDitriComputed/index.tsx
  20. 7 16
      src/pages/secondaryDistribute/secondaryDitriComputed/service.ts
  21. 23 13
      src/pages/secondaryDistribute/unitCheckProjectScore/index.tsx
  22. 2 2
      src/pages/setting/manaPerformanceSet/unitIndicTargetSet/index.tsx
  23. 2 2
      src/pages/setting/reportSet/diySqlMana/index.tsx
  24. 8 5
      src/utils/format.ts
  25. 114 224
      src/utils/tableToMultiHeaderExcel.ts

BIN
.DS_Store


+ 206 - 0
.VSCodeCounter/2024-08-30_09-46-31/details.md

@@ -0,0 +1,206 @@
+# Details
+
+Date : 2024-08-30 09:46:31
+
+Directory /Users/dema/work/BudgetManaSystem
+
+Total : 191 files,  49276 codes, 2657 comments, 7297 blanks, all 59230 lines
+
+[Summary](results.md) / Details / [Diff Summary](diff.md) / [Diff Details](diff-details.md)
+
+## Files
+| filename | language | code | comment | blank | total |
+| :--- | :--- | ---: | ---: | ---: | ---: |
+| [.eslintrc.js](/.eslintrc.js) | JavaScript | 3 | 0 | 1 | 4 |
+| [.prettierignore](/.prettierignore) | Ignore | 3 | 0 | 1 | 4 |
+| [.prettierrc](/.prettierrc) | JSON | 8 | 0 | 1 | 9 |
+| [.stylelintrc.js](/.stylelintrc.js) | JavaScript | 3 | 0 | 1 | 4 |
+| [.umirc.ts](/.umirc.ts) | TypeScript | 419 | 23 | 12 | 454 |
+| [README.md](/README.md) | Markdown | 2 | 0 | 2 | 4 |
+| [config/proxy.ts](/config/proxy.ts) | TypeScript | 0 | 8 | 4 | 12 |
+| [mock/home.ts](/mock/home.ts) | TypeScript | 47 | 8 | 5 | 60 |
+| [mock/monthlyData.ts](/mock/monthlyData.ts) | TypeScript | 156 | 8 | 78 | 242 |
+| [mock/monthlyInfo.ts](/mock/monthlyInfo.ts) | TypeScript | 147 | 8 | 50 | 205 |
+| [mock/monthlySet.ts](/mock/monthlySet.ts) | TypeScript | 43 | 8 | 3 | 54 |
+| [mock/userAPI.ts](/mock/userAPI.ts) | TypeScript | 19 | 0 | 2 | 21 |
+| [package-lock.json](/package-lock.json) | JSON | 17,089 | 0 | 1 | 17,090 |
+| [package.json](/package.json) | JSON | 49 | 0 | 1 | 50 |
+| [src/access.ts](/src/access.ts) | TypeScript | 45 | 13 | 22 | 80 |
+| [src/app.tsx](/src/app.tsx) | TypeScript JSX | 411 | 62 | 114 | 587 |
+| [src/authWrapper.tsx](/src/authWrapper.tsx) | TypeScript JSX | 46 | 12 | 7 | 65 |
+| [src/components/BMSModalForm/index.tsx](/src/components/BMSModalForm/index.tsx) | TypeScript JSX | 23 | 8 | 11 | 42 |
+| [src/components/BMSPageContainer/index.tsx](/src/components/BMSPageContainer/index.tsx) | TypeScript JSX | 75 | 8 | 18 | 101 |
+| [src/components/BMSPageContainer/style.less](/src/components/BMSPageContainer/style.less) | Less | 123 | 0 | 16 | 139 |
+| [src/components/BMSTable/index.tsx](/src/components/BMSTable/index.tsx) | TypeScript JSX | 38 | 12 | 12 | 62 |
+| [src/components/BMSTable/style.less](/src/components/BMSTable/style.less) | Less | 173 | 24 | 51 | 248 |
+| [src/components/BMSUpload/index.tsx](/src/components/BMSUpload/index.tsx) | TypeScript JSX | 56 | 9 | 13 | 78 |
+| [src/components/BMSUpload/style.less](/src/components/BMSUpload/style.less) | Less | 26 | 0 | 5 | 31 |
+| [src/components/Guide/Guide.less](/src/components/Guide/Guide.less) | Less | 4 | 0 | 1 | 5 |
+| [src/components/Guide/Guide.tsx](/src/components/Guide/Guide.tsx) | TypeScript JSX | 19 | 1 | 4 | 24 |
+| [src/components/Guide/index.ts](/src/components/Guide/index.ts) | TypeScript | 2 | 0 | 1 | 3 |
+| [src/components/ResizableContainer/index.tsx](/src/components/ResizableContainer/index.tsx) | TypeScript JSX | 54 | 8 | 10 | 72 |
+| [src/components/ResizableContainer/style.less](/src/components/ResizableContainer/style.less) | Less | 18 | 0 | 8 | 26 |
+| [src/components/SQLEditor/index.tsx](/src/components/SQLEditor/index.tsx) | TypeScript JSX | 108 | 10 | 15 | 133 |
+| [src/components/SQLEditor/style.less](/src/components/SQLEditor/style.less) | Less | 45 | 0 | 1 | 46 |
+| [src/constants/index.ts](/src/constants/index.ts) | TypeScript | 1 | 0 | 1 | 2 |
+| [src/global.less](/src/global.less) | Less | 595 | 49 | 160 | 804 |
+| [src/global.ts](/src/global.ts) | TypeScript | 0 | 0 | 1 | 1 |
+| [src/menuIcons.js](/src/menuIcons.js) | JavaScript | 33 | 24 | 6 | 63 |
+| [src/models/global.ts](/src/models/global.ts) | TypeScript | 10 | 1 | 3 | 14 |
+| [src/pages/Home/index.tsx](/src/pages/Home/index.tsx) | TypeScript JSX | 351 | 17 | 40 | 408 |
+| [src/pages/Home/service.ts](/src/pages/Home/service.ts) | TypeScript | 28 | 11 | 22 | 61 |
+| [src/pages/Home/style.less](/src/pages/Home/style.less) | Less | 201 | 14 | 47 | 262 |
+| [src/pages/Table/components/CreateForm.tsx](/src/pages/Table/components/CreateForm.tsx) | TypeScript JSX | 22 | 0 | 5 | 27 |
+| [src/pages/Table/components/UpdateForm.tsx](/src/pages/Table/components/UpdateForm.tsx) | TypeScript JSX | 134 | 0 | 6 | 140 |
+| [src/pages/Table/index.tsx](/src/pages/Table/index.tsx) | TypeScript JSX | 247 | 14 | 10 | 271 |
+| [src/pages/budgetMana/monthlyDataCheck/index.tsx](/src/pages/budgetMana/monthlyDataCheck/index.tsx) | TypeScript JSX | 1,670 | 127 | 283 | 2,080 |
+| [src/pages/budgetMana/monthlyDataCheck/service.ts](/src/pages/budgetMana/monthlyDataCheck/service.ts) | TypeScript | 380 | 69 | 169 | 618 |
+| [src/pages/budgetMana/monthlyDataCheck/style.less](/src/pages/budgetMana/monthlyDataCheck/style.less) | Less | 292 | 3 | 46 | 341 |
+| [src/pages/budgetMana/monthlyInfoCheck/index.tsx](/src/pages/budgetMana/monthlyInfoCheck/index.tsx) | TypeScript JSX | 963 | 42 | 204 | 1,209 |
+| [src/pages/budgetMana/monthlyInfoCheck/service.ts](/src/pages/budgetMana/monthlyInfoCheck/service.ts) | TypeScript | 187 | 24 | 90 | 301 |
+| [src/pages/budgetMana/monthlyInfoCheck/style.less](/src/pages/budgetMana/monthlyInfoCheck/style.less) | Less | 184 | 2 | 25 | 211 |
+| [src/pages/budgetMana/monthlySet/index.tsx](/src/pages/budgetMana/monthlySet/index.tsx) | TypeScript JSX | 280 | 28 | 54 | 362 |
+| [src/pages/budgetMana/monthlySet/service.ts](/src/pages/budgetMana/monthlySet/service.ts) | TypeScript | 70 | 14 | 30 | 114 |
+| [src/pages/budgetMana/monthlySet/style.less](/src/pages/budgetMana/monthlySet/style.less) | Less | 119 | 1 | 23 | 143 |
+| [src/pages/budgetMana/oneBatch/index.tsx](/src/pages/budgetMana/oneBatch/index.tsx) | TypeScript JSX | 490 | 12 | 125 | 627 |
+| [src/pages/budgetMana/oneBatch/service.ts](/src/pages/budgetMana/oneBatch/service.ts) | TypeScript | 66 | 15 | 29 | 110 |
+| [src/pages/budgetMana/oneBatch/style.less](/src/pages/budgetMana/oneBatch/style.less) | Less | 90 | 1 | 11 | 102 |
+| [src/pages/budgetMana/personnelSalaryBudget/components/cardList/index.tsx](/src/pages/budgetMana/personnelSalaryBudget/components/cardList/index.tsx) | TypeScript JSX | 123 | 38 | 22 | 183 |
+| [src/pages/budgetMana/personnelSalaryBudget/components/cardList/style.less](/src/pages/budgetMana/personnelSalaryBudget/components/cardList/style.less) | Less | 120 | 0 | 15 | 135 |
+| [src/pages/budgetMana/personnelSalaryBudget/components/distribute/index.tsx](/src/pages/budgetMana/personnelSalaryBudget/components/distribute/index.tsx) | TypeScript JSX | 361 | 12 | 53 | 426 |
+| [src/pages/budgetMana/personnelSalaryBudget/components/distribute/style.less](/src/pages/budgetMana/personnelSalaryBudget/components/distribute/style.less) | Less | 195 | 5 | 31 | 231 |
+| [src/pages/budgetMana/personnelSalaryBudget/components/distribute/tableSelector.tsx](/src/pages/budgetMana/personnelSalaryBudget/components/distribute/tableSelector.tsx) | TypeScript JSX | 143 | 6 | 48 | 197 |
+| [src/pages/budgetMana/personnelSalaryBudget/index.tsx](/src/pages/budgetMana/personnelSalaryBudget/index.tsx) | TypeScript JSX | 441 | 28 | 74 | 543 |
+| [src/pages/budgetMana/personnelSalaryBudget/service.ts](/src/pages/budgetMana/personnelSalaryBudget/service.ts) | TypeScript | 112 | 24 | 35 | 171 |
+| [src/pages/budgetMana/personnelSalaryBudget/style.less](/src/pages/budgetMana/personnelSalaryBudget/style.less) | Less | 273 | 53 | 42 | 368 |
+| [src/pages/budgetMana/specialDataImport/index.tsx](/src/pages/budgetMana/specialDataImport/index.tsx) | TypeScript JSX | 229 | 11 | 42 | 282 |
+| [src/pages/budgetMana/specialDataImport/service.ts](/src/pages/budgetMana/specialDataImport/service.ts) | TypeScript | 56 | 16 | 32 | 104 |
+| [src/pages/budgetMana/specialDataImport/style.less](/src/pages/budgetMana/specialDataImport/style.less) | Less | 49 | 0 | 7 | 56 |
+| [src/pages/noAccess/index.tsx](/src/pages/noAccess/index.tsx) | TypeScript JSX | 17 | 9 | 3 | 29 |
+| [src/pages/noAccess/style.less](/src/pages/noAccess/style.less) | Less | 45 | 0 | 4 | 49 |
+| [src/pages/reportCheck/report/SetColWidComponent.tsx](/src/pages/reportCheck/report/SetColWidComponent.tsx) | TypeScript JSX | 134 | 0 | 16 | 150 |
+| [src/pages/reportCheck/report/index.tsx](/src/pages/reportCheck/report/index.tsx) | TypeScript JSX | 411 | 26 | 96 | 533 |
+| [src/pages/reportCheck/report/service.ts](/src/pages/reportCheck/report/service.ts) | TypeScript | 27 | 9 | 20 | 56 |
+| [src/pages/reportCheck/report/style.less](/src/pages/reportCheck/report/style.less) | Less | 65 | 0 | 11 | 76 |
+| [src/pages/reports/index.tsx](/src/pages/reports/index.tsx) | TypeScript JSX | 44 | 10 | 17 | 71 |
+| [src/pages/secondaryDistribute/employeeInfoCheck/index.tsx](/src/pages/secondaryDistribute/employeeInfoCheck/index.tsx) | TypeScript JSX | 584 | 24 | 125 | 733 |
+| [src/pages/secondaryDistribute/employeeInfoCheck/service.ts](/src/pages/secondaryDistribute/employeeInfoCheck/service.ts) | TypeScript | 99 | 16 | 50 | 165 |
+| [src/pages/secondaryDistribute/employeeInfoCheck/style.less](/src/pages/secondaryDistribute/employeeInfoCheck/style.less) | Less | 172 | 2 | 23 | 197 |
+| [src/pages/secondaryDistribute/nonCheckProjectApprove/index.tsx](/src/pages/secondaryDistribute/nonCheckProjectApprove/index.tsx) | TypeScript JSX | 555 | 24 | 120 | 699 |
+| [src/pages/secondaryDistribute/nonCheckProjectApprove/service.ts](/src/pages/secondaryDistribute/nonCheckProjectApprove/service.ts) | TypeScript | 111 | 18 | 60 | 189 |
+| [src/pages/secondaryDistribute/nonCheckProjectApprove/style.less](/src/pages/secondaryDistribute/nonCheckProjectApprove/style.less) | Less | 172 | 2 | 23 | 197 |
+| [src/pages/secondaryDistribute/secondaryDitriComputed/index.tsx](/src/pages/secondaryDistribute/secondaryDitriComputed/index.tsx) | TypeScript JSX | 733 | 41 | 169 | 943 |
+| [src/pages/secondaryDistribute/secondaryDitriComputed/service.ts](/src/pages/secondaryDistribute/secondaryDitriComputed/service.ts) | TypeScript | 99 | 19 | 51 | 169 |
+| [src/pages/secondaryDistribute/secondaryDitriComputed/style.less](/src/pages/secondaryDistribute/secondaryDitriComputed/style.less) | Less | 327 | 2 | 52 | 381 |
+| [src/pages/secondaryDistribute/unitCheckProjectScore/index.tsx](/src/pages/secondaryDistribute/unitCheckProjectScore/index.tsx) | TypeScript JSX | 796 | 51 | 203 | 1,050 |
+| [src/pages/secondaryDistribute/unitCheckProjectScore/service.ts](/src/pages/secondaryDistribute/unitCheckProjectScore/service.ts) | TypeScript | 104 | 20 | 54 | 178 |
+| [src/pages/secondaryDistribute/unitCheckProjectScore/style.less](/src/pages/secondaryDistribute/unitCheckProjectScore/style.less) | Less | 295 | 2 | 47 | 344 |
+| [src/pages/setting/baseSetting/businessDicMana/index.tsx](/src/pages/setting/baseSetting/businessDicMana/index.tsx) | TypeScript JSX | 282 | 9 | 50 | 341 |
+| [src/pages/setting/baseSetting/businessDicMana/service.ts](/src/pages/setting/baseSetting/businessDicMana/service.ts) | TypeScript | 55 | 13 | 22 | 90 |
+| [src/pages/setting/baseSetting/businessDicMana/style.less](/src/pages/setting/baseSetting/businessDicMana/style.less) | Less | 77 | 0 | 12 | 89 |
+| [src/pages/setting/baseSetting/dicClassfication/index.tsx](/src/pages/setting/baseSetting/dicClassfication/index.tsx) | TypeScript JSX | 182 | 9 | 38 | 229 |
+| [src/pages/setting/baseSetting/dicClassfication/service.ts](/src/pages/setting/baseSetting/dicClassfication/service.ts) | TypeScript | 43 | 13 | 23 | 79 |
+| [src/pages/setting/baseSetting/dicClassfication/style.less](/src/pages/setting/baseSetting/dicClassfication/style.less) | Less | 37 | 0 | 7 | 44 |
+| [src/pages/setting/baseSetting/jobCateBaseSet/index.tsx](/src/pages/setting/baseSetting/jobCateBaseSet/index.tsx) | TypeScript JSX | 123 | 17 | 32 | 172 |
+| [src/pages/setting/baseSetting/jobCateBaseSet/service.ts](/src/pages/setting/baseSetting/jobCateBaseSet/service.ts) | TypeScript | 35 | 10 | 25 | 70 |
+| [src/pages/setting/baseSetting/jobCateBaseSet/style.less](/src/pages/setting/baseSetting/jobCateBaseSet/style.less) | Less | 45 | 0 | 7 | 52 |
+| [src/pages/setting/baseSetting/paramsMana/index.tsx](/src/pages/setting/baseSetting/paramsMana/index.tsx) | TypeScript JSX | 200 | 9 | 34 | 243 |
+| [src/pages/setting/baseSetting/paramsMana/service.ts](/src/pages/setting/baseSetting/paramsMana/service.ts) | TypeScript | 50 | 12 | 23 | 85 |
+| [src/pages/setting/baseSetting/paramsMana/style.less](/src/pages/setting/baseSetting/paramsMana/style.less) | Less | 37 | 0 | 7 | 44 |
+| [src/pages/setting/baseSetting/positionLevelRateSet/index.tsx](/src/pages/setting/baseSetting/positionLevelRateSet/index.tsx) | TypeScript JSX | 219 | 11 | 50 | 280 |
+| [src/pages/setting/baseSetting/positionLevelRateSet/service.ts](/src/pages/setting/baseSetting/positionLevelRateSet/service.ts) | TypeScript | 35 | 11 | 26 | 72 |
+| [src/pages/setting/baseSetting/positionLevelRateSet/style.less](/src/pages/setting/baseSetting/positionLevelRateSet/style.less) | Less | 13 | 0 | 2 | 15 |
+| [src/pages/setting/checkUnitSet/checkUnitClassMana/index.tsx](/src/pages/setting/checkUnitSet/checkUnitClassMana/index.tsx) | TypeScript JSX | 212 | 10 | 44 | 266 |
+| [src/pages/setting/checkUnitSet/checkUnitClassMana/service.ts](/src/pages/setting/checkUnitSet/checkUnitClassMana/service.ts) | TypeScript | 48 | 12 | 32 | 92 |
+| [src/pages/setting/checkUnitSet/checkUnitClassMana/style.less](/src/pages/setting/checkUnitSet/checkUnitClassMana/style.less) | Less | 37 | 0 | 7 | 44 |
+| [src/pages/setting/checkUnitSet/checkUnitDepMap/index.tsx](/src/pages/setting/checkUnitSet/checkUnitDepMap/index.tsx) | TypeScript JSX | 426 | 56 | 132 | 614 |
+| [src/pages/setting/checkUnitSet/checkUnitDepMap/service.ts](/src/pages/setting/checkUnitSet/checkUnitDepMap/service.ts) | TypeScript | 83 | 13 | 40 | 136 |
+| [src/pages/setting/checkUnitSet/checkUnitDepMap/style.less](/src/pages/setting/checkUnitSet/checkUnitDepMap/style.less) | Less | 103 | 2 | 14 | 119 |
+| [src/pages/setting/checkUnitSet/checkUnitEmpSet/index.tsx](/src/pages/setting/checkUnitSet/checkUnitEmpSet/index.tsx) | TypeScript JSX | 675 | 35 | 148 | 858 |
+| [src/pages/setting/checkUnitSet/checkUnitEmpSet/service.ts](/src/pages/setting/checkUnitSet/checkUnitEmpSet/service.ts) | TypeScript | 77 | 16 | 44 | 137 |
+| [src/pages/setting/checkUnitSet/checkUnitEmpSet/style.less](/src/pages/setting/checkUnitSet/checkUnitEmpSet/style.less) | Less | 164 | 1 | 19 | 184 |
+| [src/pages/setting/checkUnitSet/checkUnitMana/index.tsx](/src/pages/setting/checkUnitSet/checkUnitMana/index.tsx) | TypeScript JSX | 375 | 21 | 103 | 499 |
+| [src/pages/setting/checkUnitSet/checkUnitMana/service.ts](/src/pages/setting/checkUnitSet/checkUnitMana/service.ts) | TypeScript | 68 | 11 | 33 | 112 |
+| [src/pages/setting/checkUnitSet/checkUnitMana/style.less](/src/pages/setting/checkUnitSet/checkUnitMana/style.less) | Less | 78 | 2 | 12 | 92 |
+| [src/pages/setting/checkUnitSet/medicalGroupSet/index.tsx](/src/pages/setting/checkUnitSet/medicalGroupSet/index.tsx) | TypeScript JSX | 410 | 18 | 104 | 532 |
+| [src/pages/setting/checkUnitSet/medicalGroupSet/service.ts](/src/pages/setting/checkUnitSet/medicalGroupSet/service.ts) | TypeScript | 67 | 18 | 34 | 119 |
+| [src/pages/setting/checkUnitSet/medicalGroupSet/style.less](/src/pages/setting/checkUnitSet/medicalGroupSet/style.less) | Less | 229 | 0 | 31 | 260 |
+| [src/pages/setting/checkUnitSet/viewUnitPermSet/index.tsx](/src/pages/setting/checkUnitSet/viewUnitPermSet/index.tsx) | TypeScript JSX | 276 | 11 | 58 | 345 |
+| [src/pages/setting/checkUnitSet/viewUnitPermSet/service.ts](/src/pages/setting/checkUnitSet/viewUnitPermSet/service.ts) | TypeScript | 27 | 12 | 26 | 65 |
+| [src/pages/setting/checkUnitSet/viewUnitPermSet/style.less](/src/pages/setting/checkUnitSet/viewUnitPermSet/style.less) | Less | 45 | 0 | 6 | 51 |
+| [src/pages/setting/manaPerformanceSet/classAssessAndGradeSet/index.tsx](/src/pages/setting/manaPerformanceSet/classAssessAndGradeSet/index.tsx) | TypeScript JSX | 161 | 12 | 47 | 220 |
+| [src/pages/setting/manaPerformanceSet/classAssessAndGradeSet/service.ts](/src/pages/setting/manaPerformanceSet/classAssessAndGradeSet/service.ts) | TypeScript | 13 | 10 | 22 | 45 |
+| [src/pages/setting/manaPerformanceSet/classAssessAndGradeSet/style.less](/src/pages/setting/manaPerformanceSet/classAssessAndGradeSet/style.less) | Less | 76 | 0 | 10 | 86 |
+| [src/pages/setting/manaPerformanceSet/indicGroupWeightSet/index.tsx](/src/pages/setting/manaPerformanceSet/indicGroupWeightSet/index.tsx) | TypeScript JSX | 515 | 37 | 113 | 665 |
+| [src/pages/setting/manaPerformanceSet/indicGroupWeightSet/service.ts](/src/pages/setting/manaPerformanceSet/indicGroupWeightSet/service.ts) | TypeScript | 58 | 15 | 36 | 109 |
+| [src/pages/setting/manaPerformanceSet/indicGroupWeightSet/style.less](/src/pages/setting/manaPerformanceSet/indicGroupWeightSet/style.less) | Less | 74 | 0 | 11 | 85 |
+| [src/pages/setting/manaPerformanceSet/manaIndicItemSet/index.tsx](/src/pages/setting/manaPerformanceSet/manaIndicItemSet/index.tsx) | TypeScript JSX | 314 | 11 | 47 | 372 |
+| [src/pages/setting/manaPerformanceSet/manaIndicItemSet/service.ts](/src/pages/setting/manaPerformanceSet/manaIndicItemSet/service.ts) | TypeScript | 70 | 12 | 25 | 107 |
+| [src/pages/setting/manaPerformanceSet/manaIndicItemSet/style.less](/src/pages/setting/manaPerformanceSet/manaIndicItemSet/style.less) | Less | 37 | 0 | 7 | 44 |
+| [src/pages/setting/manaPerformanceSet/unitIndicTargetSet/index.tsx](/src/pages/setting/manaPerformanceSet/unitIndicTargetSet/index.tsx) | TypeScript JSX | 385 | 18 | 88 | 491 |
+| [src/pages/setting/manaPerformanceSet/unitIndicTargetSet/service.ts](/src/pages/setting/manaPerformanceSet/unitIndicTargetSet/service.ts) | TypeScript | 42 | 14 | 27 | 83 |
+| [src/pages/setting/manaPerformanceSet/unitIndicTargetSet/style.less](/src/pages/setting/manaPerformanceSet/unitIndicTargetSet/style.less) | Less | 77 | 0 | 12 | 89 |
+| [src/pages/setting/projectSetting/bilingProjectMana/index.tsx](/src/pages/setting/projectSetting/bilingProjectMana/index.tsx) | TypeScript JSX | 310 | 11 | 57 | 378 |
+| [src/pages/setting/projectSetting/bilingProjectMana/service.ts](/src/pages/setting/projectSetting/bilingProjectMana/service.ts) | TypeScript | 91 | 16 | 38 | 145 |
+| [src/pages/setting/projectSetting/bilingProjectMana/style.less](/src/pages/setting/projectSetting/bilingProjectMana/style.less) | Less | 63 | 0 | 9 | 72 |
+| [src/pages/setting/projectSetting/checkUnitProjectSet/index.tsx](/src/pages/setting/projectSetting/checkUnitProjectSet/index.tsx) | TypeScript JSX | 1,245 | 92 | 216 | 1,553 |
+| [src/pages/setting/projectSetting/checkUnitProjectSet/service.ts](/src/pages/setting/projectSetting/checkUnitProjectSet/service.ts) | TypeScript | 254 | 33 | 96 | 383 |
+| [src/pages/setting/projectSetting/checkUnitProjectSet/style.less](/src/pages/setting/projectSetting/checkUnitProjectSet/style.less) | Less | 146 | 3 | 22 | 171 |
+| [src/pages/setting/projectSetting/costIncomeProjectSet/index.tsx](/src/pages/setting/projectSetting/costIncomeProjectSet/index.tsx) | TypeScript JSX | 454 | 10 | 60 | 524 |
+| [src/pages/setting/projectSetting/costIncomeProjectSet/service.ts](/src/pages/setting/projectSetting/costIncomeProjectSet/service.ts) | TypeScript | 99 | 15 | 32 | 146 |
+| [src/pages/setting/projectSetting/costIncomeProjectSet/style.less](/src/pages/setting/projectSetting/costIncomeProjectSet/style.less) | Less | 55 | 0 | 7 | 62 |
+| [src/pages/setting/projectSetting/indicProjectMana/index.tsx](/src/pages/setting/projectSetting/indicProjectMana/index.tsx) | TypeScript JSX | 254 | 13 | 46 | 313 |
+| [src/pages/setting/projectSetting/indicProjectMana/service.ts](/src/pages/setting/projectSetting/indicProjectMana/service.ts) | TypeScript | 57 | 13 | 26 | 96 |
+| [src/pages/setting/projectSetting/indicProjectMana/style.less](/src/pages/setting/projectSetting/indicProjectMana/style.less) | Less | 49 | 0 | 7 | 56 |
+| [src/pages/setting/projectSetting/jobCateRetenSet/UpDataActBtn.tsx](/src/pages/setting/projectSetting/jobCateRetenSet/UpDataActBtn.tsx) | TypeScript JSX | 250 | 83 | 37 | 370 |
+| [src/pages/setting/projectSetting/jobCateRetenSet/index.tsx](/src/pages/setting/projectSetting/jobCateRetenSet/index.tsx) | TypeScript JSX | 354 | 20 | 68 | 442 |
+| [src/pages/setting/projectSetting/jobCateRetenSet/service.ts](/src/pages/setting/projectSetting/jobCateRetenSet/service.ts) | TypeScript | 34 | 13 | 28 | 75 |
+| [src/pages/setting/projectSetting/jobCateRetenSet/style.less](/src/pages/setting/projectSetting/jobCateRetenSet/style.less) | Less | 117 | 0 | 18 | 135 |
+| [src/pages/setting/projectSetting/nonAssessmentProjectMana/index.tsx](/src/pages/setting/projectSetting/nonAssessmentProjectMana/index.tsx) | TypeScript JSX | 387 | 18 | 69 | 474 |
+| [src/pages/setting/projectSetting/nonAssessmentProjectMana/service.ts](/src/pages/setting/projectSetting/nonAssessmentProjectMana/service.ts) | TypeScript | 63 | 13 | 30 | 106 |
+| [src/pages/setting/projectSetting/nonAssessmentProjectMana/style.less](/src/pages/setting/projectSetting/nonAssessmentProjectMana/style.less) | Less | 92 | 0 | 11 | 103 |
+| [src/pages/setting/projectSetting/occupationsSecondaryDistriSet/index.tsx](/src/pages/setting/projectSetting/occupationsSecondaryDistriSet/index.tsx) | TypeScript JSX | 424 | 21 | 97 | 542 |
+| [src/pages/setting/projectSetting/occupationsSecondaryDistriSet/service.ts](/src/pages/setting/projectSetting/occupationsSecondaryDistriSet/service.ts) | TypeScript | 43 | 13 | 34 | 90 |
+| [src/pages/setting/projectSetting/occupationsSecondaryDistriSet/style.less](/src/pages/setting/projectSetting/occupationsSecondaryDistriSet/style.less) | Less | 163 | 0 | 23 | 186 |
+| [src/pages/setting/projectSetting/retentionAssessmentProjectMana/index.tsx](/src/pages/setting/projectSetting/retentionAssessmentProjectMana/index.tsx) | TypeScript JSX | 191 | 10 | 37 | 238 |
+| [src/pages/setting/projectSetting/retentionAssessmentProjectMana/service.ts](/src/pages/setting/projectSetting/retentionAssessmentProjectMana/service.ts) | TypeScript | 36 | 12 | 27 | 75 |
+| [src/pages/setting/projectSetting/retentionAssessmentProjectMana/style.less](/src/pages/setting/projectSetting/retentionAssessmentProjectMana/style.less) | Less | 92 | 0 | 11 | 103 |
+| [src/pages/setting/projectSetting/secondaryDistriGroupSet/index.tsx](/src/pages/setting/projectSetting/secondaryDistriGroupSet/index.tsx) | TypeScript JSX | 674 | 148 | 166 | 988 |
+| [src/pages/setting/projectSetting/secondaryDistriGroupSet/service.ts](/src/pages/setting/projectSetting/secondaryDistriGroupSet/service.ts) | TypeScript | 83 | 20 | 42 | 145 |
+| [src/pages/setting/projectSetting/secondaryDistriGroupSet/style.less](/src/pages/setting/projectSetting/secondaryDistriGroupSet/style.less) | Less | 294 | 0 | 48 | 342 |
+| [src/pages/setting/projectSetting/secondaryProjectDistribute/index.tsx](/src/pages/setting/projectSetting/secondaryProjectDistribute/index.tsx) | TypeScript JSX | 459 | 17 | 72 | 548 |
+| [src/pages/setting/projectSetting/secondaryProjectDistribute/service.ts](/src/pages/setting/projectSetting/secondaryProjectDistribute/service.ts) | TypeScript | 69 | 14 | 33 | 116 |
+| [src/pages/setting/projectSetting/secondaryProjectDistribute/style.less](/src/pages/setting/projectSetting/secondaryProjectDistribute/style.less) | Less | 92 | 0 | 10 | 102 |
+| [src/pages/setting/reportSet/diySqlMana/index.tsx](/src/pages/setting/reportSet/diySqlMana/index.tsx) | TypeScript JSX | 317 | 12 | 64 | 393 |
+| [src/pages/setting/reportSet/diySqlMana/service.ts](/src/pages/setting/reportSet/diySqlMana/service.ts) | TypeScript | 69 | 13 | 33 | 115 |
+| [src/pages/setting/reportSet/diySqlMana/style.less](/src/pages/setting/reportSet/diySqlMana/style.less) | Less | 81 | 1 | 14 | 96 |
+| [src/pages/setting/reportSet/reportListMana/UpDataActBtn.tsx](/src/pages/setting/reportSet/reportListMana/UpDataActBtn.tsx) | TypeScript JSX | 250 | 83 | 37 | 370 |
+| [src/pages/setting/reportSet/reportListMana/index.tsx](/src/pages/setting/reportSet/reportListMana/index.tsx) | TypeScript JSX | 294 | 16 | 53 | 363 |
+| [src/pages/setting/reportSet/reportListMana/service.ts](/src/pages/setting/reportSet/reportListMana/service.ts) | TypeScript | 104 | 18 | 41 | 163 |
+| [src/pages/setting/reportSet/reportListMana/style.less](/src/pages/setting/reportSet/reportListMana/style.less) | Less | 64 | 0 | 11 | 75 |
+| [src/pages/setting/reportSet/reportNavSet/index.tsx](/src/pages/setting/reportSet/reportNavSet/index.tsx) | TypeScript JSX | 294 | 12 | 49 | 355 |
+| [src/pages/setting/reportSet/reportNavSet/service.ts](/src/pages/setting/reportSet/reportNavSet/service.ts) | TypeScript | 57 | 12 | 31 | 100 |
+| [src/pages/setting/reportSet/reportNavSet/style.less](/src/pages/setting/reportSet/reportNavSet/style.less) | Less | 37 | 0 | 7 | 44 |
+| [src/pages/setting/reportSet/reportSetting/index.tsx](/src/pages/setting/reportSet/reportSetting/index.tsx) | TypeScript JSX | 615 | 21 | 118 | 754 |
+| [src/pages/setting/reportSet/reportSetting/service.ts](/src/pages/setting/reportSet/reportSetting/service.ts) | TypeScript | 65 | 18 | 37 | 120 |
+| [src/pages/setting/reportSet/reportSetting/style.less](/src/pages/setting/reportSet/reportSetting/style.less) | Less | 161 | 0 | 23 | 184 |
+| [src/pages/static/index.tsx](/src/pages/static/index.tsx) | TypeScript JSX | 57 | 9 | 22 | 88 |
+| [src/pages/static/service.ts](/src/pages/static/service.ts) | TypeScript | 7 | 9 | 6 | 22 |
+| [src/services/auth.ts](/src/services/auth.ts) | TypeScript | 20 | 11 | 10 | 41 |
+| [src/services/demo/UserController.ts](/src/services/demo/UserController.ts) | TypeScript | 74 | 17 | 6 | 97 |
+| [src/services/demo/index.ts](/src/services/demo/index.ts) | TypeScript | 4 | 2 | 2 | 8 |
+| [src/services/demo/typings.d.ts](/src/services/demo/typings.d.ts) | TypeScript | 48 | 10 | 11 | 69 |
+| [src/services/getDic.ts](/src/services/getDic.ts) | TypeScript | 32 | 11 | 22 | 65 |
+| [src/typings.d.ts](/src/typings.d.ts) | TypeScript | 21 | 10 | 3 | 34 |
+| [src/utils/devicePixelRatio.js](/src/utils/devicePixelRatio.js) | JavaScript | 38 | 27 | 2 | 67 |
+| [src/utils/format.ts](/src/utils/format.ts) | TypeScript | 9 | 10 | 2 | 21 |
+| [src/utils/tableToExcel.ts](/src/utils/tableToExcel.ts) | TypeScript | 42 | 21 | 23 | 86 |
+| [src/utils/tableToMultiHeaderExcel.ts](/src/utils/tableToMultiHeaderExcel.ts) | TypeScript | 143 | 1 | 28 | 172 |
+| [src/utils/tooljs.ts](/src/utils/tooljs.ts) | TypeScript | 158 | 34 | 67 | 259 |
+| [src/utils/zhongtaiA.js](/src/utils/zhongtaiA.js) | JavaScript | 1 | 8 | 0 | 9 |
+| [src/utils/zhongtaiB.js](/src/utils/zhongtaiB.js) | JavaScript | 1 | 8 | 0 | 9 |
+| [src/utils/zhongtaiC.js](/src/utils/zhongtaiC.js) | JavaScript | 1 | 8 | 0 | 9 |
+| [tsconfig.json](/tsconfig.json) | JSON with Comments | 3 | 0 | 1 | 4 |
+| [typings.d.ts](/typings.d.ts) | TypeScript | 1 | 0 | 1 | 2 |
+
+[Summary](results.md) / Details / [Diff Summary](diff.md) / [Diff Details](diff-details.md)

+ 15 - 0
.VSCodeCounter/2024-08-30_09-46-31/diff-details.md

@@ -0,0 +1,15 @@
+# Diff Details
+
+Date : 2024-08-30 09:46:31
+
+Directory /Users/dema/work/BudgetManaSystem
+
+Total : 0 files,  0 codes, 0 comments, 0 blanks, all 0 lines
+
+[Summary](results.md) / [Details](details.md) / [Diff Summary](diff.md) / Diff Details
+
+## Files
+| filename | language | code | comment | blank | total |
+| :--- | :--- | ---: | ---: | ---: | ---: |
+
+[Summary](results.md) / [Details](details.md) / [Diff Summary](diff.md) / Diff Details

+ 2 - 0
.VSCodeCounter/2024-08-30_09-46-31/diff.csv

@@ -0,0 +1,2 @@
+"filename", "language", "", "comment", "blank", "total"
+"Total", "-", , 0, 0, 0

+ 19 - 0
.VSCodeCounter/2024-08-30_09-46-31/diff.md

@@ -0,0 +1,19 @@
+# Diff Summary
+
+Date : 2024-08-30 09:46:31
+
+Directory /Users/dema/work/BudgetManaSystem
+
+Total : 0 files,  0 codes, 0 comments, 0 blanks, all 0 lines
+
+[Summary](results.md) / [Details](details.md) / Diff Summary / [Diff Details](diff-details.md)
+
+## Languages
+| language | files | code | comment | blank | total |
+| :--- | ---: | ---: | ---: | ---: | ---: |
+
+## Directories
+| path | files | code | comment | blank | total |
+| :--- | ---: | ---: | ---: | ---: | ---: |
+
+[Summary](results.md) / [Details](details.md) / Diff Summary / [Diff Details](diff-details.md)

+ 22 - 0
.VSCodeCounter/2024-08-30_09-46-31/diff.txt

@@ -0,0 +1,22 @@
+Date : 2024-08-30 09:46:31
+Directory : /Users/dema/work/BudgetManaSystem
+Total : 0 files,  0 codes, 0 comments, 0 blanks, all 0 lines
+
+Languages
++----------+------------+------------+------------+------------+------------+
+| language | files      | code       | comment    | blank      | total      |
++----------+------------+------------+------------+------------+------------+
++----------+------------+------------+------------+------------+------------+
+
+Directories
++------+------------+------------+------------+------------+------------+
+| path | files      | code       | comment    | blank      | total      |
++------+------------+------------+------------+------------+------------+
++------+------------+------------+------------+------------+------------+
+
+Files
++----------+----------+------------+------------+------------+------------+
+| filename | language | code       | comment    | blank      | total      |
++----------+----------+------------+------------+------------+------------+
+| Total    |          |          0 |          0 |          0 |          0 |
++----------+----------+------------+------------+------------+------------+

+ 193 - 0
.VSCodeCounter/2024-08-30_09-46-31/results.csv

@@ -0,0 +1,193 @@
+"filename", "language", "TypeScript", "TypeScript JSX", "Less", "JavaScript", "JSON with Comments", "JSON", "Markdown", "Ignore", "comment", "blank", "total"
+"/Users/dema/work/BudgetManaSystem/.eslintrc.js", "JavaScript", 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 4
+"/Users/dema/work/BudgetManaSystem/.prettierignore", "Ignore", 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 4
+"/Users/dema/work/BudgetManaSystem/.prettierrc", "JSON", 0, 0, 0, 0, 0, 8, 0, 0, 0, 1, 9
+"/Users/dema/work/BudgetManaSystem/.stylelintrc.js", "JavaScript", 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 4
+"/Users/dema/work/BudgetManaSystem/.umirc.ts", "TypeScript", 419, 0, 0, 0, 0, 0, 0, 0, 23, 12, 454
+"/Users/dema/work/BudgetManaSystem/README.md", "Markdown", 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 4
+"/Users/dema/work/BudgetManaSystem/config/proxy.ts", "TypeScript", 0, 0, 0, 0, 0, 0, 0, 0, 8, 4, 12
+"/Users/dema/work/BudgetManaSystem/mock/home.ts", "TypeScript", 47, 0, 0, 0, 0, 0, 0, 0, 8, 5, 60
+"/Users/dema/work/BudgetManaSystem/mock/monthlyData.ts", "TypeScript", 156, 0, 0, 0, 0, 0, 0, 0, 8, 78, 242
+"/Users/dema/work/BudgetManaSystem/mock/monthlyInfo.ts", "TypeScript", 147, 0, 0, 0, 0, 0, 0, 0, 8, 50, 205
+"/Users/dema/work/BudgetManaSystem/mock/monthlySet.ts", "TypeScript", 43, 0, 0, 0, 0, 0, 0, 0, 8, 3, 54
+"/Users/dema/work/BudgetManaSystem/mock/userAPI.ts", "TypeScript", 19, 0, 0, 0, 0, 0, 0, 0, 0, 2, 21
+"/Users/dema/work/BudgetManaSystem/package-lock.json", "JSON", 0, 0, 0, 0, 0, 17089, 0, 0, 0, 1, 17090
+"/Users/dema/work/BudgetManaSystem/package.json", "JSON", 0, 0, 0, 0, 0, 49, 0, 0, 0, 1, 50
+"/Users/dema/work/BudgetManaSystem/src/access.ts", "TypeScript", 45, 0, 0, 0, 0, 0, 0, 0, 13, 22, 80
+"/Users/dema/work/BudgetManaSystem/src/app.tsx", "TypeScript JSX", 0, 411, 0, 0, 0, 0, 0, 0, 62, 114, 587
+"/Users/dema/work/BudgetManaSystem/src/authWrapper.tsx", "TypeScript JSX", 0, 46, 0, 0, 0, 0, 0, 0, 12, 7, 65
+"/Users/dema/work/BudgetManaSystem/src/components/BMSModalForm/index.tsx", "TypeScript JSX", 0, 23, 0, 0, 0, 0, 0, 0, 8, 11, 42
+"/Users/dema/work/BudgetManaSystem/src/components/BMSPageContainer/index.tsx", "TypeScript JSX", 0, 75, 0, 0, 0, 0, 0, 0, 8, 18, 101
+"/Users/dema/work/BudgetManaSystem/src/components/BMSPageContainer/style.less", "Less", 0, 0, 123, 0, 0, 0, 0, 0, 0, 16, 139
+"/Users/dema/work/BudgetManaSystem/src/components/BMSTable/index.tsx", "TypeScript JSX", 0, 38, 0, 0, 0, 0, 0, 0, 12, 12, 62
+"/Users/dema/work/BudgetManaSystem/src/components/BMSTable/style.less", "Less", 0, 0, 173, 0, 0, 0, 0, 0, 24, 51, 248
+"/Users/dema/work/BudgetManaSystem/src/components/BMSUpload/index.tsx", "TypeScript JSX", 0, 56, 0, 0, 0, 0, 0, 0, 9, 13, 78
+"/Users/dema/work/BudgetManaSystem/src/components/BMSUpload/style.less", "Less", 0, 0, 26, 0, 0, 0, 0, 0, 0, 5, 31
+"/Users/dema/work/BudgetManaSystem/src/components/Guide/Guide.less", "Less", 0, 0, 4, 0, 0, 0, 0, 0, 0, 1, 5
+"/Users/dema/work/BudgetManaSystem/src/components/Guide/Guide.tsx", "TypeScript JSX", 0, 19, 0, 0, 0, 0, 0, 0, 1, 4, 24
+"/Users/dema/work/BudgetManaSystem/src/components/Guide/index.ts", "TypeScript", 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3
+"/Users/dema/work/BudgetManaSystem/src/components/ResizableContainer/index.tsx", "TypeScript JSX", 0, 54, 0, 0, 0, 0, 0, 0, 8, 10, 72
+"/Users/dema/work/BudgetManaSystem/src/components/ResizableContainer/style.less", "Less", 0, 0, 18, 0, 0, 0, 0, 0, 0, 8, 26
+"/Users/dema/work/BudgetManaSystem/src/components/SQLEditor/index.tsx", "TypeScript JSX", 0, 108, 0, 0, 0, 0, 0, 0, 10, 15, 133
+"/Users/dema/work/BudgetManaSystem/src/components/SQLEditor/style.less", "Less", 0, 0, 45, 0, 0, 0, 0, 0, 0, 1, 46
+"/Users/dema/work/BudgetManaSystem/src/constants/index.ts", "TypeScript", 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2
+"/Users/dema/work/BudgetManaSystem/src/global.less", "Less", 0, 0, 595, 0, 0, 0, 0, 0, 49, 160, 804
+"/Users/dema/work/BudgetManaSystem/src/global.ts", "TypeScript", 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1
+"/Users/dema/work/BudgetManaSystem/src/menuIcons.js", "JavaScript", 0, 0, 0, 33, 0, 0, 0, 0, 24, 6, 63
+"/Users/dema/work/BudgetManaSystem/src/models/global.ts", "TypeScript", 10, 0, 0, 0, 0, 0, 0, 0, 1, 3, 14
+"/Users/dema/work/BudgetManaSystem/src/pages/Home/index.tsx", "TypeScript JSX", 0, 351, 0, 0, 0, 0, 0, 0, 17, 40, 408
+"/Users/dema/work/BudgetManaSystem/src/pages/Home/service.ts", "TypeScript", 28, 0, 0, 0, 0, 0, 0, 0, 11, 22, 61
+"/Users/dema/work/BudgetManaSystem/src/pages/Home/style.less", "Less", 0, 0, 201, 0, 0, 0, 0, 0, 14, 47, 262
+"/Users/dema/work/BudgetManaSystem/src/pages/Table/components/CreateForm.tsx", "TypeScript JSX", 0, 22, 0, 0, 0, 0, 0, 0, 0, 5, 27
+"/Users/dema/work/BudgetManaSystem/src/pages/Table/components/UpdateForm.tsx", "TypeScript JSX", 0, 134, 0, 0, 0, 0, 0, 0, 0, 6, 140
+"/Users/dema/work/BudgetManaSystem/src/pages/Table/index.tsx", "TypeScript JSX", 0, 247, 0, 0, 0, 0, 0, 0, 14, 10, 271
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/monthlyDataCheck/index.tsx", "TypeScript JSX", 0, 1670, 0, 0, 0, 0, 0, 0, 127, 283, 2080
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/monthlyDataCheck/service.ts", "TypeScript", 380, 0, 0, 0, 0, 0, 0, 0, 69, 169, 618
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/monthlyDataCheck/style.less", "Less", 0, 0, 292, 0, 0, 0, 0, 0, 3, 46, 341
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/monthlyInfoCheck/index.tsx", "TypeScript JSX", 0, 963, 0, 0, 0, 0, 0, 0, 42, 204, 1209
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/monthlyInfoCheck/service.ts", "TypeScript", 187, 0, 0, 0, 0, 0, 0, 0, 24, 90, 301
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/monthlyInfoCheck/style.less", "Less", 0, 0, 184, 0, 0, 0, 0, 0, 2, 25, 211
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/monthlySet/index.tsx", "TypeScript JSX", 0, 280, 0, 0, 0, 0, 0, 0, 28, 54, 362
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/monthlySet/service.ts", "TypeScript", 70, 0, 0, 0, 0, 0, 0, 0, 14, 30, 114
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/monthlySet/style.less", "Less", 0, 0, 119, 0, 0, 0, 0, 0, 1, 23, 143
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/oneBatch/index.tsx", "TypeScript JSX", 0, 490, 0, 0, 0, 0, 0, 0, 12, 125, 627
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/oneBatch/service.ts", "TypeScript", 66, 0, 0, 0, 0, 0, 0, 0, 15, 29, 110
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/oneBatch/style.less", "Less", 0, 0, 90, 0, 0, 0, 0, 0, 1, 11, 102
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/personnelSalaryBudget/components/cardList/index.tsx", "TypeScript JSX", 0, 123, 0, 0, 0, 0, 0, 0, 38, 22, 183
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/personnelSalaryBudget/components/cardList/style.less", "Less", 0, 0, 120, 0, 0, 0, 0, 0, 0, 15, 135
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/personnelSalaryBudget/components/distribute/index.tsx", "TypeScript JSX", 0, 361, 0, 0, 0, 0, 0, 0, 12, 53, 426
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/personnelSalaryBudget/components/distribute/style.less", "Less", 0, 0, 195, 0, 0, 0, 0, 0, 5, 31, 231
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/personnelSalaryBudget/components/distribute/tableSelector.tsx", "TypeScript JSX", 0, 143, 0, 0, 0, 0, 0, 0, 6, 48, 197
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/personnelSalaryBudget/index.tsx", "TypeScript JSX", 0, 441, 0, 0, 0, 0, 0, 0, 28, 74, 543
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/personnelSalaryBudget/service.ts", "TypeScript", 112, 0, 0, 0, 0, 0, 0, 0, 24, 35, 171
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/personnelSalaryBudget/style.less", "Less", 0, 0, 273, 0, 0, 0, 0, 0, 53, 42, 368
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/specialDataImport/index.tsx", "TypeScript JSX", 0, 229, 0, 0, 0, 0, 0, 0, 11, 42, 282
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/specialDataImport/service.ts", "TypeScript", 56, 0, 0, 0, 0, 0, 0, 0, 16, 32, 104
+"/Users/dema/work/BudgetManaSystem/src/pages/budgetMana/specialDataImport/style.less", "Less", 0, 0, 49, 0, 0, 0, 0, 0, 0, 7, 56
+"/Users/dema/work/BudgetManaSystem/src/pages/noAccess/index.tsx", "TypeScript JSX", 0, 17, 0, 0, 0, 0, 0, 0, 9, 3, 29
+"/Users/dema/work/BudgetManaSystem/src/pages/noAccess/style.less", "Less", 0, 0, 45, 0, 0, 0, 0, 0, 0, 4, 49
+"/Users/dema/work/BudgetManaSystem/src/pages/reportCheck/report/SetColWidComponent.tsx", "TypeScript JSX", 0, 134, 0, 0, 0, 0, 0, 0, 0, 16, 150
+"/Users/dema/work/BudgetManaSystem/src/pages/reportCheck/report/index.tsx", "TypeScript JSX", 0, 411, 0, 0, 0, 0, 0, 0, 26, 96, 533
+"/Users/dema/work/BudgetManaSystem/src/pages/reportCheck/report/service.ts", "TypeScript", 27, 0, 0, 0, 0, 0, 0, 0, 9, 20, 56
+"/Users/dema/work/BudgetManaSystem/src/pages/reportCheck/report/style.less", "Less", 0, 0, 65, 0, 0, 0, 0, 0, 0, 11, 76
+"/Users/dema/work/BudgetManaSystem/src/pages/reports/index.tsx", "TypeScript JSX", 0, 44, 0, 0, 0, 0, 0, 0, 10, 17, 71
+"/Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/employeeInfoCheck/index.tsx", "TypeScript JSX", 0, 584, 0, 0, 0, 0, 0, 0, 24, 125, 733
+"/Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/employeeInfoCheck/service.ts", "TypeScript", 99, 0, 0, 0, 0, 0, 0, 0, 16, 50, 165
+"/Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/employeeInfoCheck/style.less", "Less", 0, 0, 172, 0, 0, 0, 0, 0, 2, 23, 197
+"/Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/nonCheckProjectApprove/index.tsx", "TypeScript JSX", 0, 555, 0, 0, 0, 0, 0, 0, 24, 120, 699
+"/Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/nonCheckProjectApprove/service.ts", "TypeScript", 111, 0, 0, 0, 0, 0, 0, 0, 18, 60, 189
+"/Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/nonCheckProjectApprove/style.less", "Less", 0, 0, 172, 0, 0, 0, 0, 0, 2, 23, 197
+"/Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/secondaryDitriComputed/index.tsx", "TypeScript JSX", 0, 733, 0, 0, 0, 0, 0, 0, 41, 169, 943
+"/Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/secondaryDitriComputed/service.ts", "TypeScript", 99, 0, 0, 0, 0, 0, 0, 0, 19, 51, 169
+"/Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/secondaryDitriComputed/style.less", "Less", 0, 0, 327, 0, 0, 0, 0, 0, 2, 52, 381
+"/Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/unitCheckProjectScore/index.tsx", "TypeScript JSX", 0, 796, 0, 0, 0, 0, 0, 0, 51, 203, 1050
+"/Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/unitCheckProjectScore/service.ts", "TypeScript", 104, 0, 0, 0, 0, 0, 0, 0, 20, 54, 178
+"/Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/unitCheckProjectScore/style.less", "Less", 0, 0, 295, 0, 0, 0, 0, 0, 2, 47, 344
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/businessDicMana/index.tsx", "TypeScript JSX", 0, 282, 0, 0, 0, 0, 0, 0, 9, 50, 341
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/businessDicMana/service.ts", "TypeScript", 55, 0, 0, 0, 0, 0, 0, 0, 13, 22, 90
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/businessDicMana/style.less", "Less", 0, 0, 77, 0, 0, 0, 0, 0, 0, 12, 89
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/dicClassfication/index.tsx", "TypeScript JSX", 0, 182, 0, 0, 0, 0, 0, 0, 9, 38, 229
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/dicClassfication/service.ts", "TypeScript", 43, 0, 0, 0, 0, 0, 0, 0, 13, 23, 79
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/dicClassfication/style.less", "Less", 0, 0, 37, 0, 0, 0, 0, 0, 0, 7, 44
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/jobCateBaseSet/index.tsx", "TypeScript JSX", 0, 123, 0, 0, 0, 0, 0, 0, 17, 32, 172
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/jobCateBaseSet/service.ts", "TypeScript", 35, 0, 0, 0, 0, 0, 0, 0, 10, 25, 70
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/jobCateBaseSet/style.less", "Less", 0, 0, 45, 0, 0, 0, 0, 0, 0, 7, 52
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/paramsMana/index.tsx", "TypeScript JSX", 0, 200, 0, 0, 0, 0, 0, 0, 9, 34, 243
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/paramsMana/service.ts", "TypeScript", 50, 0, 0, 0, 0, 0, 0, 0, 12, 23, 85
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/paramsMana/style.less", "Less", 0, 0, 37, 0, 0, 0, 0, 0, 0, 7, 44
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/positionLevelRateSet/index.tsx", "TypeScript JSX", 0, 219, 0, 0, 0, 0, 0, 0, 11, 50, 280
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/positionLevelRateSet/service.ts", "TypeScript", 35, 0, 0, 0, 0, 0, 0, 0, 11, 26, 72
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/positionLevelRateSet/style.less", "Less", 0, 0, 13, 0, 0, 0, 0, 0, 0, 2, 15
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitClassMana/index.tsx", "TypeScript JSX", 0, 212, 0, 0, 0, 0, 0, 0, 10, 44, 266
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitClassMana/service.ts", "TypeScript", 48, 0, 0, 0, 0, 0, 0, 0, 12, 32, 92
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitClassMana/style.less", "Less", 0, 0, 37, 0, 0, 0, 0, 0, 0, 7, 44
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitDepMap/index.tsx", "TypeScript JSX", 0, 426, 0, 0, 0, 0, 0, 0, 56, 132, 614
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitDepMap/service.ts", "TypeScript", 83, 0, 0, 0, 0, 0, 0, 0, 13, 40, 136
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitDepMap/style.less", "Less", 0, 0, 103, 0, 0, 0, 0, 0, 2, 14, 119
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitEmpSet/index.tsx", "TypeScript JSX", 0, 675, 0, 0, 0, 0, 0, 0, 35, 148, 858
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitEmpSet/service.ts", "TypeScript", 77, 0, 0, 0, 0, 0, 0, 0, 16, 44, 137
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitEmpSet/style.less", "Less", 0, 0, 164, 0, 0, 0, 0, 0, 1, 19, 184
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitMana/index.tsx", "TypeScript JSX", 0, 375, 0, 0, 0, 0, 0, 0, 21, 103, 499
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitMana/service.ts", "TypeScript", 68, 0, 0, 0, 0, 0, 0, 0, 11, 33, 112
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitMana/style.less", "Less", 0, 0, 78, 0, 0, 0, 0, 0, 2, 12, 92
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/medicalGroupSet/index.tsx", "TypeScript JSX", 0, 410, 0, 0, 0, 0, 0, 0, 18, 104, 532
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/medicalGroupSet/service.ts", "TypeScript", 67, 0, 0, 0, 0, 0, 0, 0, 18, 34, 119
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/medicalGroupSet/style.less", "Less", 0, 0, 229, 0, 0, 0, 0, 0, 0, 31, 260
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/viewUnitPermSet/index.tsx", "TypeScript JSX", 0, 276, 0, 0, 0, 0, 0, 0, 11, 58, 345
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/viewUnitPermSet/service.ts", "TypeScript", 27, 0, 0, 0, 0, 0, 0, 0, 12, 26, 65
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/viewUnitPermSet/style.less", "Less", 0, 0, 45, 0, 0, 0, 0, 0, 0, 6, 51
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/classAssessAndGradeSet/index.tsx", "TypeScript JSX", 0, 161, 0, 0, 0, 0, 0, 0, 12, 47, 220
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/classAssessAndGradeSet/service.ts", "TypeScript", 13, 0, 0, 0, 0, 0, 0, 0, 10, 22, 45
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/classAssessAndGradeSet/style.less", "Less", 0, 0, 76, 0, 0, 0, 0, 0, 0, 10, 86
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/indicGroupWeightSet/index.tsx", "TypeScript JSX", 0, 515, 0, 0, 0, 0, 0, 0, 37, 113, 665
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/indicGroupWeightSet/service.ts", "TypeScript", 58, 0, 0, 0, 0, 0, 0, 0, 15, 36, 109
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/indicGroupWeightSet/style.less", "Less", 0, 0, 74, 0, 0, 0, 0, 0, 0, 11, 85
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/manaIndicItemSet/index.tsx", "TypeScript JSX", 0, 314, 0, 0, 0, 0, 0, 0, 11, 47, 372
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/manaIndicItemSet/service.ts", "TypeScript", 70, 0, 0, 0, 0, 0, 0, 0, 12, 25, 107
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/manaIndicItemSet/style.less", "Less", 0, 0, 37, 0, 0, 0, 0, 0, 0, 7, 44
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/unitIndicTargetSet/index.tsx", "TypeScript JSX", 0, 385, 0, 0, 0, 0, 0, 0, 18, 88, 491
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/unitIndicTargetSet/service.ts", "TypeScript", 42, 0, 0, 0, 0, 0, 0, 0, 14, 27, 83
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/unitIndicTargetSet/style.less", "Less", 0, 0, 77, 0, 0, 0, 0, 0, 0, 12, 89
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/bilingProjectMana/index.tsx", "TypeScript JSX", 0, 310, 0, 0, 0, 0, 0, 0, 11, 57, 378
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/bilingProjectMana/service.ts", "TypeScript", 91, 0, 0, 0, 0, 0, 0, 0, 16, 38, 145
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/bilingProjectMana/style.less", "Less", 0, 0, 63, 0, 0, 0, 0, 0, 0, 9, 72
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/checkUnitProjectSet/index.tsx", "TypeScript JSX", 0, 1245, 0, 0, 0, 0, 0, 0, 92, 216, 1553
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/checkUnitProjectSet/service.ts", "TypeScript", 254, 0, 0, 0, 0, 0, 0, 0, 33, 96, 383
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/checkUnitProjectSet/style.less", "Less", 0, 0, 146, 0, 0, 0, 0, 0, 3, 22, 171
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/costIncomeProjectSet/index.tsx", "TypeScript JSX", 0, 454, 0, 0, 0, 0, 0, 0, 10, 60, 524
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/costIncomeProjectSet/service.ts", "TypeScript", 99, 0, 0, 0, 0, 0, 0, 0, 15, 32, 146
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/costIncomeProjectSet/style.less", "Less", 0, 0, 55, 0, 0, 0, 0, 0, 0, 7, 62
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/indicProjectMana/index.tsx", "TypeScript JSX", 0, 254, 0, 0, 0, 0, 0, 0, 13, 46, 313
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/indicProjectMana/service.ts", "TypeScript", 57, 0, 0, 0, 0, 0, 0, 0, 13, 26, 96
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/indicProjectMana/style.less", "Less", 0, 0, 49, 0, 0, 0, 0, 0, 0, 7, 56
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/jobCateRetenSet/UpDataActBtn.tsx", "TypeScript JSX", 0, 250, 0, 0, 0, 0, 0, 0, 83, 37, 370
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/jobCateRetenSet/index.tsx", "TypeScript JSX", 0, 354, 0, 0, 0, 0, 0, 0, 20, 68, 442
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/jobCateRetenSet/service.ts", "TypeScript", 34, 0, 0, 0, 0, 0, 0, 0, 13, 28, 75
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/jobCateRetenSet/style.less", "Less", 0, 0, 117, 0, 0, 0, 0, 0, 0, 18, 135
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/nonAssessmentProjectMana/index.tsx", "TypeScript JSX", 0, 387, 0, 0, 0, 0, 0, 0, 18, 69, 474
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/nonAssessmentProjectMana/service.ts", "TypeScript", 63, 0, 0, 0, 0, 0, 0, 0, 13, 30, 106
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/nonAssessmentProjectMana/style.less", "Less", 0, 0, 92, 0, 0, 0, 0, 0, 0, 11, 103
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/occupationsSecondaryDistriSet/index.tsx", "TypeScript JSX", 0, 424, 0, 0, 0, 0, 0, 0, 21, 97, 542
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/occupationsSecondaryDistriSet/service.ts", "TypeScript", 43, 0, 0, 0, 0, 0, 0, 0, 13, 34, 90
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/occupationsSecondaryDistriSet/style.less", "Less", 0, 0, 163, 0, 0, 0, 0, 0, 0, 23, 186
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/retentionAssessmentProjectMana/index.tsx", "TypeScript JSX", 0, 191, 0, 0, 0, 0, 0, 0, 10, 37, 238
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/retentionAssessmentProjectMana/service.ts", "TypeScript", 36, 0, 0, 0, 0, 0, 0, 0, 12, 27, 75
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/retentionAssessmentProjectMana/style.less", "Less", 0, 0, 92, 0, 0, 0, 0, 0, 0, 11, 103
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/secondaryDistriGroupSet/index.tsx", "TypeScript JSX", 0, 674, 0, 0, 0, 0, 0, 0, 148, 166, 988
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/secondaryDistriGroupSet/service.ts", "TypeScript", 83, 0, 0, 0, 0, 0, 0, 0, 20, 42, 145
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/secondaryDistriGroupSet/style.less", "Less", 0, 0, 294, 0, 0, 0, 0, 0, 0, 48, 342
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/secondaryProjectDistribute/index.tsx", "TypeScript JSX", 0, 459, 0, 0, 0, 0, 0, 0, 17, 72, 548
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/secondaryProjectDistribute/service.ts", "TypeScript", 69, 0, 0, 0, 0, 0, 0, 0, 14, 33, 116
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/secondaryProjectDistribute/style.less", "Less", 0, 0, 92, 0, 0, 0, 0, 0, 0, 10, 102
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/diySqlMana/index.tsx", "TypeScript JSX", 0, 317, 0, 0, 0, 0, 0, 0, 12, 64, 393
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/diySqlMana/service.ts", "TypeScript", 69, 0, 0, 0, 0, 0, 0, 0, 13, 33, 115
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/diySqlMana/style.less", "Less", 0, 0, 81, 0, 0, 0, 0, 0, 1, 14, 96
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/reportListMana/UpDataActBtn.tsx", "TypeScript JSX", 0, 250, 0, 0, 0, 0, 0, 0, 83, 37, 370
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/reportListMana/index.tsx", "TypeScript JSX", 0, 294, 0, 0, 0, 0, 0, 0, 16, 53, 363
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/reportListMana/service.ts", "TypeScript", 104, 0, 0, 0, 0, 0, 0, 0, 18, 41, 163
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/reportListMana/style.less", "Less", 0, 0, 64, 0, 0, 0, 0, 0, 0, 11, 75
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/reportNavSet/index.tsx", "TypeScript JSX", 0, 294, 0, 0, 0, 0, 0, 0, 12, 49, 355
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/reportNavSet/service.ts", "TypeScript", 57, 0, 0, 0, 0, 0, 0, 0, 12, 31, 100
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/reportNavSet/style.less", "Less", 0, 0, 37, 0, 0, 0, 0, 0, 0, 7, 44
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/reportSetting/index.tsx", "TypeScript JSX", 0, 615, 0, 0, 0, 0, 0, 0, 21, 118, 754
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/reportSetting/service.ts", "TypeScript", 65, 0, 0, 0, 0, 0, 0, 0, 18, 37, 120
+"/Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/reportSetting/style.less", "Less", 0, 0, 161, 0, 0, 0, 0, 0, 0, 23, 184
+"/Users/dema/work/BudgetManaSystem/src/pages/static/index.tsx", "TypeScript JSX", 0, 57, 0, 0, 0, 0, 0, 0, 9, 22, 88
+"/Users/dema/work/BudgetManaSystem/src/pages/static/service.ts", "TypeScript", 7, 0, 0, 0, 0, 0, 0, 0, 9, 6, 22
+"/Users/dema/work/BudgetManaSystem/src/services/auth.ts", "TypeScript", 20, 0, 0, 0, 0, 0, 0, 0, 11, 10, 41
+"/Users/dema/work/BudgetManaSystem/src/services/demo/UserController.ts", "TypeScript", 74, 0, 0, 0, 0, 0, 0, 0, 17, 6, 97
+"/Users/dema/work/BudgetManaSystem/src/services/demo/index.ts", "TypeScript", 4, 0, 0, 0, 0, 0, 0, 0, 2, 2, 8
+"/Users/dema/work/BudgetManaSystem/src/services/demo/typings.d.ts", "TypeScript", 48, 0, 0, 0, 0, 0, 0, 0, 10, 11, 69
+"/Users/dema/work/BudgetManaSystem/src/services/getDic.ts", "TypeScript", 32, 0, 0, 0, 0, 0, 0, 0, 11, 22, 65
+"/Users/dema/work/BudgetManaSystem/src/typings.d.ts", "TypeScript", 21, 0, 0, 0, 0, 0, 0, 0, 10, 3, 34
+"/Users/dema/work/BudgetManaSystem/src/utils/devicePixelRatio.js", "JavaScript", 0, 0, 0, 38, 0, 0, 0, 0, 27, 2, 67
+"/Users/dema/work/BudgetManaSystem/src/utils/format.ts", "TypeScript", 9, 0, 0, 0, 0, 0, 0, 0, 10, 2, 21
+"/Users/dema/work/BudgetManaSystem/src/utils/tableToExcel.ts", "TypeScript", 42, 0, 0, 0, 0, 0, 0, 0, 21, 23, 86
+"/Users/dema/work/BudgetManaSystem/src/utils/tableToMultiHeaderExcel.ts", "TypeScript", 143, 0, 0, 0, 0, 0, 0, 0, 1, 28, 172
+"/Users/dema/work/BudgetManaSystem/src/utils/tooljs.ts", "TypeScript", 158, 0, 0, 0, 0, 0, 0, 0, 34, 67, 259
+"/Users/dema/work/BudgetManaSystem/src/utils/zhongtaiA.js", "JavaScript", 0, 0, 0, 1, 0, 0, 0, 0, 8, 0, 9
+"/Users/dema/work/BudgetManaSystem/src/utils/zhongtaiB.js", "JavaScript", 0, 0, 0, 1, 0, 0, 0, 0, 8, 0, 9
+"/Users/dema/work/BudgetManaSystem/src/utils/zhongtaiC.js", "JavaScript", 0, 0, 0, 1, 0, 0, 0, 0, 8, 0, 9
+"/Users/dema/work/BudgetManaSystem/tsconfig.json", "JSON with Comments", 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 4
+"/Users/dema/work/BudgetManaSystem/typings.d.ts", "TypeScript", 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2
+"Total", "-", 4682, 21142, 6218, 80, 3, 17146, 2, 3, 2657, 7297, 59230

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
.VSCodeCounter/2024-08-30_09-46-31/results.json


+ 108 - 0
.VSCodeCounter/2024-08-30_09-46-31/results.md

@@ -0,0 +1,108 @@
+# Summary
+
+Date : 2024-08-30 09:46:31
+
+Directory /Users/dema/work/BudgetManaSystem
+
+Total : 191 files,  49276 codes, 2657 comments, 7297 blanks, all 59230 lines
+
+Summary / [Details](details.md) / [Diff Summary](diff.md) / [Diff Details](diff-details.md)
+
+## Languages
+| language | files | code | comment | blank | total |
+| :--- | ---: | ---: | ---: | ---: | ---: |
+| TypeScript JSX | 62 | 21,142 | 1,530 | 4,275 | 26,947 |
+| JSON | 3 | 17,146 | 0 | 3 | 17,149 |
+| Less | 51 | 6,218 | 169 | 1,034 | 7,421 |
+| TypeScript | 65 | 4,682 | 883 | 1,971 | 7,536 |
+| JavaScript | 7 | 80 | 75 | 10 | 165 |
+| JSON with Comments | 1 | 3 | 0 | 1 | 4 |
+| Ignore | 1 | 3 | 0 | 1 | 4 |
+| Markdown | 1 | 2 | 0 | 2 | 4 |
+
+## Directories
+| path | files | code | comment | blank | total |
+| :--- | ---: | ---: | ---: | ---: | ---: |
+| . | 191 | 49,276 | 2,657 | 7,297 | 59,230 |
+| . (Files) | 10 | 17,580 | 23 | 22 | 17,625 |
+| config | 1 | 0 | 8 | 4 | 12 |
+| mock | 5 | 412 | 32 | 138 | 582 |
+| src | 175 | 31,284 | 2,594 | 7,133 | 41,011 |
+| src (Files) | 7 | 1,151 | 170 | 313 | 1,634 |
+| src/components | 14 | 764 | 80 | 166 | 1,010 |
+| src/components/BMSModalForm | 1 | 23 | 8 | 11 | 42 |
+| src/components/BMSPageContainer | 2 | 198 | 8 | 34 | 240 |
+| src/components/BMSTable | 2 | 211 | 36 | 63 | 310 |
+| src/components/BMSUpload | 2 | 82 | 9 | 18 | 109 |
+| src/components/Guide | 3 | 25 | 1 | 6 | 32 |
+| src/components/ResizableContainer | 2 | 72 | 8 | 18 | 98 |
+| src/components/SQLEditor | 2 | 153 | 10 | 16 | 179 |
+| src/constants | 1 | 1 | 0 | 1 | 2 |
+| src/models | 1 | 10 | 1 | 3 | 14 |
+| src/pages | 139 | 28,787 | 2,175 | 6,477 | 37,439 |
+| src/pages/Home | 3 | 580 | 42 | 109 | 731 |
+| src/pages/Table | 3 | 403 | 14 | 21 | 438 |
+| src/pages/Table (Files) | 1 | 247 | 14 | 10 | 271 |
+| src/pages/Table/components | 2 | 156 | 0 | 11 | 167 |
+| src/pages/budgetMana | 23 | 6,893 | 531 | 1,490 | 8,914 |
+| src/pages/budgetMana/monthlyDataCheck | 3 | 2,342 | 199 | 498 | 3,039 |
+| src/pages/budgetMana/monthlyInfoCheck | 3 | 1,334 | 68 | 319 | 1,721 |
+| src/pages/budgetMana/monthlySet | 3 | 469 | 43 | 107 | 619 |
+| src/pages/budgetMana/oneBatch | 3 | 646 | 28 | 165 | 839 |
+| src/pages/budgetMana/personnelSalaryBudget | 8 | 1,768 | 166 | 320 | 2,254 |
+| src/pages/budgetMana/personnelSalaryBudget (Files) | 3 | 826 | 105 | 151 | 1,082 |
+| src/pages/budgetMana/personnelSalaryBudget/components | 5 | 942 | 61 | 169 | 1,172 |
+| src/pages/budgetMana/personnelSalaryBudget/components/cardList | 2 | 243 | 38 | 37 | 318 |
+| src/pages/budgetMana/personnelSalaryBudget/components/distribute | 3 | 699 | 23 | 132 | 854 |
+| src/pages/budgetMana/specialDataImport | 3 | 334 | 27 | 81 | 442 |
+| src/pages/noAccess | 2 | 62 | 9 | 7 | 78 |
+| src/pages/reportCheck | 4 | 637 | 35 | 143 | 815 |
+| src/pages/reportCheck/report | 4 | 637 | 35 | 143 | 815 |
+| src/pages/reports | 1 | 44 | 10 | 17 | 71 |
+| src/pages/secondaryDistribute | 12 | 4,047 | 221 | 977 | 5,245 |
+| src/pages/secondaryDistribute/employeeInfoCheck | 3 | 855 | 42 | 198 | 1,095 |
+| src/pages/secondaryDistribute/nonCheckProjectApprove | 3 | 838 | 44 | 203 | 1,085 |
+| src/pages/secondaryDistribute/secondaryDitriComputed | 3 | 1,159 | 62 | 272 | 1,493 |
+| src/pages/secondaryDistribute/unitCheckProjectScore | 3 | 1,195 | 73 | 304 | 1,572 |
+| src/pages/setting | 89 | 16,057 | 1,295 | 3,685 | 21,037 |
+| src/pages/setting/baseSetting | 15 | 1,433 | 114 | 358 | 1,905 |
+| src/pages/setting/baseSetting/businessDicMana | 3 | 414 | 22 | 84 | 520 |
+| src/pages/setting/baseSetting/dicClassfication | 3 | 262 | 22 | 68 | 352 |
+| src/pages/setting/baseSetting/jobCateBaseSet | 3 | 203 | 27 | 64 | 294 |
+| src/pages/setting/baseSetting/paramsMana | 3 | 287 | 21 | 64 | 372 |
+| src/pages/setting/baseSetting/positionLevelRateSet | 3 | 267 | 22 | 78 | 367 |
+| src/pages/setting/checkUnitSet | 18 | 3,400 | 238 | 887 | 4,525 |
+| src/pages/setting/checkUnitSet/checkUnitClassMana | 3 | 297 | 22 | 83 | 402 |
+| src/pages/setting/checkUnitSet/checkUnitDepMap | 3 | 612 | 71 | 186 | 869 |
+| src/pages/setting/checkUnitSet/checkUnitEmpSet | 3 | 916 | 52 | 211 | 1,179 |
+| src/pages/setting/checkUnitSet/checkUnitMana | 3 | 521 | 34 | 148 | 703 |
+| src/pages/setting/checkUnitSet/medicalGroupSet | 3 | 706 | 36 | 169 | 911 |
+| src/pages/setting/checkUnitSet/viewUnitPermSet | 3 | 348 | 23 | 90 | 461 |
+| src/pages/setting/manaPerformanceSet | 12 | 1,822 | 129 | 445 | 2,396 |
+| src/pages/setting/manaPerformanceSet/classAssessAndGradeSet | 3 | 250 | 22 | 79 | 351 |
+| src/pages/setting/manaPerformanceSet/indicGroupWeightSet | 3 | 647 | 52 | 160 | 859 |
+| src/pages/setting/manaPerformanceSet/manaIndicItemSet | 3 | 421 | 23 | 79 | 523 |
+| src/pages/setting/manaPerformanceSet/unitIndicTargetSet | 3 | 504 | 32 | 127 | 663 |
+| src/pages/setting/projectSetting | 31 | 6,994 | 608 | 1,477 | 9,079 |
+| src/pages/setting/projectSetting/bilingProjectMana | 3 | 464 | 27 | 104 | 595 |
+| src/pages/setting/projectSetting/checkUnitProjectSet | 3 | 1,645 | 128 | 334 | 2,107 |
+| src/pages/setting/projectSetting/costIncomeProjectSet | 3 | 608 | 25 | 99 | 732 |
+| src/pages/setting/projectSetting/indicProjectMana | 3 | 360 | 26 | 79 | 465 |
+| src/pages/setting/projectSetting/jobCateRetenSet | 4 | 755 | 116 | 151 | 1,022 |
+| src/pages/setting/projectSetting/nonAssessmentProjectMana | 3 | 542 | 31 | 110 | 683 |
+| src/pages/setting/projectSetting/occupationsSecondaryDistriSet | 3 | 630 | 34 | 154 | 818 |
+| src/pages/setting/projectSetting/retentionAssessmentProjectMana | 3 | 319 | 22 | 75 | 416 |
+| src/pages/setting/projectSetting/secondaryDistriGroupSet | 3 | 1,051 | 168 | 256 | 1,475 |
+| src/pages/setting/projectSetting/secondaryProjectDistribute | 3 | 620 | 31 | 115 | 766 |
+| src/pages/setting/reportSet | 13 | 2,408 | 206 | 518 | 3,132 |
+| src/pages/setting/reportSet/diySqlMana | 3 | 467 | 26 | 111 | 604 |
+| src/pages/setting/reportSet/reportListMana | 4 | 712 | 117 | 142 | 971 |
+| src/pages/setting/reportSet/reportNavSet | 3 | 388 | 24 | 87 | 499 |
+| src/pages/setting/reportSet/reportSetting | 3 | 841 | 39 | 178 | 1,058 |
+| src/pages/static | 2 | 64 | 18 | 28 | 110 |
+| src/services | 5 | 178 | 51 | 51 | 280 |
+| src/services (Files) | 2 | 52 | 22 | 32 | 106 |
+| src/services/demo | 3 | 126 | 29 | 19 | 174 |
+| src/utils | 8 | 393 | 117 | 122 | 632 |
+
+Summary / [Details](details.md) / [Diff Summary](diff.md) / [Diff Details](diff-details.md)

+ 302 - 0
.VSCodeCounter/2024-08-30_09-46-31/results.txt

@@ -0,0 +1,302 @@
+Date : 2024-08-30 09:46:31
+Directory : /Users/dema/work/BudgetManaSystem
+Total : 191 files,  49276 codes, 2657 comments, 7297 blanks, all 59230 lines
+
+Languages
++--------------------+------------+------------+------------+------------+------------+
+| language           | files      | code       | comment    | blank      | total      |
++--------------------+------------+------------+------------+------------+------------+
+| TypeScript JSX     |         62 |     21,142 |      1,530 |      4,275 |     26,947 |
+| JSON               |          3 |     17,146 |          0 |          3 |     17,149 |
+| Less               |         51 |      6,218 |        169 |      1,034 |      7,421 |
+| TypeScript         |         65 |      4,682 |        883 |      1,971 |      7,536 |
+| JavaScript         |          7 |         80 |         75 |         10 |        165 |
+| JSON with Comments |          1 |          3 |          0 |          1 |          4 |
+| Ignore             |          1 |          3 |          0 |          1 |          4 |
+| Markdown           |          1 |          2 |          0 |          2 |          4 |
++--------------------+------------+------------+------------+------------+------------+
+
+Directories
++----------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+
+| path                                                                                                                 | files      | code       | comment    | blank      | total      |
++----------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+
+| .                                                                                                                    |        191 |     49,276 |      2,657 |      7,297 |     59,230 |
+| . (Files)                                                                                                            |         10 |     17,580 |         23 |         22 |     17,625 |
+| config                                                                                                               |          1 |          0 |          8 |          4 |         12 |
+| mock                                                                                                                 |          5 |        412 |         32 |        138 |        582 |
+| src                                                                                                                  |        175 |     31,284 |      2,594 |      7,133 |     41,011 |
+| src (Files)                                                                                                          |          7 |      1,151 |        170 |        313 |      1,634 |
+| src/components                                                                                                       |         14 |        764 |         80 |        166 |      1,010 |
+| src/components/BMSModalForm                                                                                          |          1 |         23 |          8 |         11 |         42 |
+| src/components/BMSPageContainer                                                                                      |          2 |        198 |          8 |         34 |        240 |
+| src/components/BMSTable                                                                                              |          2 |        211 |         36 |         63 |        310 |
+| src/components/BMSUpload                                                                                             |          2 |         82 |          9 |         18 |        109 |
+| src/components/Guide                                                                                                 |          3 |         25 |          1 |          6 |         32 |
+| src/components/ResizableContainer                                                                                    |          2 |         72 |          8 |         18 |         98 |
+| src/components/SQLEditor                                                                                             |          2 |        153 |         10 |         16 |        179 |
+| src/constants                                                                                                        |          1 |          1 |          0 |          1 |          2 |
+| src/models                                                                                                           |          1 |         10 |          1 |          3 |         14 |
+| src/pages                                                                                                            |        139 |     28,787 |      2,175 |      6,477 |     37,439 |
+| src/pages/Home                                                                                                       |          3 |        580 |         42 |        109 |        731 |
+| src/pages/Table                                                                                                      |          3 |        403 |         14 |         21 |        438 |
+| src/pages/Table (Files)                                                                                              |          1 |        247 |         14 |         10 |        271 |
+| src/pages/Table/components                                                                                           |          2 |        156 |          0 |         11 |        167 |
+| src/pages/budgetMana                                                                                                 |         23 |      6,893 |        531 |      1,490 |      8,914 |
+| src/pages/budgetMana/monthlyDataCheck                                                                                |          3 |      2,342 |        199 |        498 |      3,039 |
+| src/pages/budgetMana/monthlyInfoCheck                                                                                |          3 |      1,334 |         68 |        319 |      1,721 |
+| src/pages/budgetMana/monthlySet                                                                                      |          3 |        469 |         43 |        107 |        619 |
+| src/pages/budgetMana/oneBatch                                                                                        |          3 |        646 |         28 |        165 |        839 |
+| src/pages/budgetMana/personnelSalaryBudget                                                                           |          8 |      1,768 |        166 |        320 |      2,254 |
+| src/pages/budgetMana/personnelSalaryBudget (Files)                                                                   |          3 |        826 |        105 |        151 |      1,082 |
+| src/pages/budgetMana/personnelSalaryBudget/components                                                                |          5 |        942 |         61 |        169 |      1,172 |
+| src/pages/budgetMana/personnelSalaryBudget/components/cardList                                                       |          2 |        243 |         38 |         37 |        318 |
+| src/pages/budgetMana/personnelSalaryBudget/components/distribute                                                     |          3 |        699 |         23 |        132 |        854 |
+| src/pages/budgetMana/specialDataImport                                                                               |          3 |        334 |         27 |         81 |        442 |
+| src/pages/noAccess                                                                                                   |          2 |         62 |          9 |          7 |         78 |
+| src/pages/reportCheck                                                                                                |          4 |        637 |         35 |        143 |        815 |
+| src/pages/reportCheck/report                                                                                         |          4 |        637 |         35 |        143 |        815 |
+| src/pages/reports                                                                                                    |          1 |         44 |         10 |         17 |         71 |
+| src/pages/secondaryDistribute                                                                                        |         12 |      4,047 |        221 |        977 |      5,245 |
+| src/pages/secondaryDistribute/employeeInfoCheck                                                                      |          3 |        855 |         42 |        198 |      1,095 |
+| src/pages/secondaryDistribute/nonCheckProjectApprove                                                                 |          3 |        838 |         44 |        203 |      1,085 |
+| src/pages/secondaryDistribute/secondaryDitriComputed                                                                 |          3 |      1,159 |         62 |        272 |      1,493 |
+| src/pages/secondaryDistribute/unitCheckProjectScore                                                                  |          3 |      1,195 |         73 |        304 |      1,572 |
+| src/pages/setting                                                                                                    |         89 |     16,057 |      1,295 |      3,685 |     21,037 |
+| src/pages/setting/baseSetting                                                                                        |         15 |      1,433 |        114 |        358 |      1,905 |
+| src/pages/setting/baseSetting/businessDicMana                                                                        |          3 |        414 |         22 |         84 |        520 |
+| src/pages/setting/baseSetting/dicClassfication                                                                       |          3 |        262 |         22 |         68 |        352 |
+| src/pages/setting/baseSetting/jobCateBaseSet                                                                         |          3 |        203 |         27 |         64 |        294 |
+| src/pages/setting/baseSetting/paramsMana                                                                             |          3 |        287 |         21 |         64 |        372 |
+| src/pages/setting/baseSetting/positionLevelRateSet                                                                   |          3 |        267 |         22 |         78 |        367 |
+| src/pages/setting/checkUnitSet                                                                                       |         18 |      3,400 |        238 |        887 |      4,525 |
+| src/pages/setting/checkUnitSet/checkUnitClassMana                                                                    |          3 |        297 |         22 |         83 |        402 |
+| src/pages/setting/checkUnitSet/checkUnitDepMap                                                                       |          3 |        612 |         71 |        186 |        869 |
+| src/pages/setting/checkUnitSet/checkUnitEmpSet                                                                       |          3 |        916 |         52 |        211 |      1,179 |
+| src/pages/setting/checkUnitSet/checkUnitMana                                                                         |          3 |        521 |         34 |        148 |        703 |
+| src/pages/setting/checkUnitSet/medicalGroupSet                                                                       |          3 |        706 |         36 |        169 |        911 |
+| src/pages/setting/checkUnitSet/viewUnitPermSet                                                                       |          3 |        348 |         23 |         90 |        461 |
+| src/pages/setting/manaPerformanceSet                                                                                 |         12 |      1,822 |        129 |        445 |      2,396 |
+| src/pages/setting/manaPerformanceSet/classAssessAndGradeSet                                                          |          3 |        250 |         22 |         79 |        351 |
+| src/pages/setting/manaPerformanceSet/indicGroupWeightSet                                                             |          3 |        647 |         52 |        160 |        859 |
+| src/pages/setting/manaPerformanceSet/manaIndicItemSet                                                                |          3 |        421 |         23 |         79 |        523 |
+| src/pages/setting/manaPerformanceSet/unitIndicTargetSet                                                              |          3 |        504 |         32 |        127 |        663 |
+| src/pages/setting/projectSetting                                                                                     |         31 |      6,994 |        608 |      1,477 |      9,079 |
+| src/pages/setting/projectSetting/bilingProjectMana                                                                   |          3 |        464 |         27 |        104 |        595 |
+| src/pages/setting/projectSetting/checkUnitProjectSet                                                                 |          3 |      1,645 |        128 |        334 |      2,107 |
+| src/pages/setting/projectSetting/costIncomeProjectSet                                                                |          3 |        608 |         25 |         99 |        732 |
+| src/pages/setting/projectSetting/indicProjectMana                                                                    |          3 |        360 |         26 |         79 |        465 |
+| src/pages/setting/projectSetting/jobCateRetenSet                                                                     |          4 |        755 |        116 |        151 |      1,022 |
+| src/pages/setting/projectSetting/nonAssessmentProjectMana                                                            |          3 |        542 |         31 |        110 |        683 |
+| src/pages/setting/projectSetting/occupationsSecondaryDistriSet                                                       |          3 |        630 |         34 |        154 |        818 |
+| src/pages/setting/projectSetting/retentionAssessmentProjectMana                                                      |          3 |        319 |         22 |         75 |        416 |
+| src/pages/setting/projectSetting/secondaryDistriGroupSet                                                             |          3 |      1,051 |        168 |        256 |      1,475 |
+| src/pages/setting/projectSetting/secondaryProjectDistribute                                                          |          3 |        620 |         31 |        115 |        766 |
+| src/pages/setting/reportSet                                                                                          |         13 |      2,408 |        206 |        518 |      3,132 |
+| src/pages/setting/reportSet/diySqlMana                                                                               |          3 |        467 |         26 |        111 |        604 |
+| src/pages/setting/reportSet/reportListMana                                                                           |          4 |        712 |        117 |        142 |        971 |
+| src/pages/setting/reportSet/reportNavSet                                                                             |          3 |        388 |         24 |         87 |        499 |
+| src/pages/setting/reportSet/reportSetting                                                                            |          3 |        841 |         39 |        178 |      1,058 |
+| src/pages/static                                                                                                     |          2 |         64 |         18 |         28 |        110 |
+| src/services                                                                                                         |          5 |        178 |         51 |         51 |        280 |
+| src/services (Files)                                                                                                 |          2 |         52 |         22 |         32 |        106 |
+| src/services/demo                                                                                                    |          3 |        126 |         29 |         19 |        174 |
+| src/utils                                                                                                            |          8 |        393 |        117 |        122 |        632 |
++----------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+
+
+Files
++----------------------------------------------------------------------------------------------------------------------+--------------------+------------+------------+------------+------------+
+| filename                                                                                                             | language           | code       | comment    | blank      | total      |
++----------------------------------------------------------------------------------------------------------------------+--------------------+------------+------------+------------+------------+
+| /Users/dema/work/BudgetManaSystem/.eslintrc.js                                                                       | JavaScript         |          3 |          0 |          1 |          4 |
+| /Users/dema/work/BudgetManaSystem/.prettierignore                                                                    | Ignore             |          3 |          0 |          1 |          4 |
+| /Users/dema/work/BudgetManaSystem/.prettierrc                                                                        | JSON               |          8 |          0 |          1 |          9 |
+| /Users/dema/work/BudgetManaSystem/.stylelintrc.js                                                                    | JavaScript         |          3 |          0 |          1 |          4 |
+| /Users/dema/work/BudgetManaSystem/.umirc.ts                                                                          | TypeScript         |        419 |         23 |         12 |        454 |
+| /Users/dema/work/BudgetManaSystem/README.md                                                                          | Markdown           |          2 |          0 |          2 |          4 |
+| /Users/dema/work/BudgetManaSystem/config/proxy.ts                                                                    | TypeScript         |          0 |          8 |          4 |         12 |
+| /Users/dema/work/BudgetManaSystem/mock/home.ts                                                                       | TypeScript         |         47 |          8 |          5 |         60 |
+| /Users/dema/work/BudgetManaSystem/mock/monthlyData.ts                                                                | TypeScript         |        156 |          8 |         78 |        242 |
+| /Users/dema/work/BudgetManaSystem/mock/monthlyInfo.ts                                                                | TypeScript         |        147 |          8 |         50 |        205 |
+| /Users/dema/work/BudgetManaSystem/mock/monthlySet.ts                                                                 | TypeScript         |         43 |          8 |          3 |         54 |
+| /Users/dema/work/BudgetManaSystem/mock/userAPI.ts                                                                    | TypeScript         |         19 |          0 |          2 |         21 |
+| /Users/dema/work/BudgetManaSystem/package-lock.json                                                                  | JSON               |     17,089 |          0 |          1 |     17,090 |
+| /Users/dema/work/BudgetManaSystem/package.json                                                                       | JSON               |         49 |          0 |          1 |         50 |
+| /Users/dema/work/BudgetManaSystem/src/access.ts                                                                      | TypeScript         |         45 |         13 |         22 |         80 |
+| /Users/dema/work/BudgetManaSystem/src/app.tsx                                                                        | TypeScript JSX     |        411 |         62 |        114 |        587 |
+| /Users/dema/work/BudgetManaSystem/src/authWrapper.tsx                                                                | TypeScript JSX     |         46 |         12 |          7 |         65 |
+| /Users/dema/work/BudgetManaSystem/src/components/BMSModalForm/index.tsx                                              | TypeScript JSX     |         23 |          8 |         11 |         42 |
+| /Users/dema/work/BudgetManaSystem/src/components/BMSPageContainer/index.tsx                                          | TypeScript JSX     |         75 |          8 |         18 |        101 |
+| /Users/dema/work/BudgetManaSystem/src/components/BMSPageContainer/style.less                                         | Less               |        123 |          0 |         16 |        139 |
+| /Users/dema/work/BudgetManaSystem/src/components/BMSTable/index.tsx                                                  | TypeScript JSX     |         38 |         12 |         12 |         62 |
+| /Users/dema/work/BudgetManaSystem/src/components/BMSTable/style.less                                                 | Less               |        173 |         24 |         51 |        248 |
+| /Users/dema/work/BudgetManaSystem/src/components/BMSUpload/index.tsx                                                 | TypeScript JSX     |         56 |          9 |         13 |         78 |
+| /Users/dema/work/BudgetManaSystem/src/components/BMSUpload/style.less                                                | Less               |         26 |          0 |          5 |         31 |
+| /Users/dema/work/BudgetManaSystem/src/components/Guide/Guide.less                                                    | Less               |          4 |          0 |          1 |          5 |
+| /Users/dema/work/BudgetManaSystem/src/components/Guide/Guide.tsx                                                     | TypeScript JSX     |         19 |          1 |          4 |         24 |
+| /Users/dema/work/BudgetManaSystem/src/components/Guide/index.ts                                                      | TypeScript         |          2 |          0 |          1 |          3 |
+| /Users/dema/work/BudgetManaSystem/src/components/ResizableContainer/index.tsx                                        | TypeScript JSX     |         54 |          8 |         10 |         72 |
+| /Users/dema/work/BudgetManaSystem/src/components/ResizableContainer/style.less                                       | Less               |         18 |          0 |          8 |         26 |
+| /Users/dema/work/BudgetManaSystem/src/components/SQLEditor/index.tsx                                                 | TypeScript JSX     |        108 |         10 |         15 |        133 |
+| /Users/dema/work/BudgetManaSystem/src/components/SQLEditor/style.less                                                | Less               |         45 |          0 |          1 |         46 |
+| /Users/dema/work/BudgetManaSystem/src/constants/index.ts                                                             | TypeScript         |          1 |          0 |          1 |          2 |
+| /Users/dema/work/BudgetManaSystem/src/global.less                                                                    | Less               |        595 |         49 |        160 |        804 |
+| /Users/dema/work/BudgetManaSystem/src/global.ts                                                                      | TypeScript         |          0 |          0 |          1 |          1 |
+| /Users/dema/work/BudgetManaSystem/src/menuIcons.js                                                                   | JavaScript         |         33 |         24 |          6 |         63 |
+| /Users/dema/work/BudgetManaSystem/src/models/global.ts                                                               | TypeScript         |         10 |          1 |          3 |         14 |
+| /Users/dema/work/BudgetManaSystem/src/pages/Home/index.tsx                                                           | TypeScript JSX     |        351 |         17 |         40 |        408 |
+| /Users/dema/work/BudgetManaSystem/src/pages/Home/service.ts                                                          | TypeScript         |         28 |         11 |         22 |         61 |
+| /Users/dema/work/BudgetManaSystem/src/pages/Home/style.less                                                          | Less               |        201 |         14 |         47 |        262 |
+| /Users/dema/work/BudgetManaSystem/src/pages/Table/components/CreateForm.tsx                                          | TypeScript JSX     |         22 |          0 |          5 |         27 |
+| /Users/dema/work/BudgetManaSystem/src/pages/Table/components/UpdateForm.tsx                                          | TypeScript JSX     |        134 |          0 |          6 |        140 |
+| /Users/dema/work/BudgetManaSystem/src/pages/Table/index.tsx                                                          | TypeScript JSX     |        247 |         14 |         10 |        271 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/monthlyDataCheck/index.tsx                                    | TypeScript JSX     |      1,670 |        127 |        283 |      2,080 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/monthlyDataCheck/service.ts                                   | TypeScript         |        380 |         69 |        169 |        618 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/monthlyDataCheck/style.less                                   | Less               |        292 |          3 |         46 |        341 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/monthlyInfoCheck/index.tsx                                    | TypeScript JSX     |        963 |         42 |        204 |      1,209 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/monthlyInfoCheck/service.ts                                   | TypeScript         |        187 |         24 |         90 |        301 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/monthlyInfoCheck/style.less                                   | Less               |        184 |          2 |         25 |        211 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/monthlySet/index.tsx                                          | TypeScript JSX     |        280 |         28 |         54 |        362 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/monthlySet/service.ts                                         | TypeScript         |         70 |         14 |         30 |        114 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/monthlySet/style.less                                         | Less               |        119 |          1 |         23 |        143 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/oneBatch/index.tsx                                            | TypeScript JSX     |        490 |         12 |        125 |        627 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/oneBatch/service.ts                                           | TypeScript         |         66 |         15 |         29 |        110 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/oneBatch/style.less                                           | Less               |         90 |          1 |         11 |        102 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/personnelSalaryBudget/components/cardList/index.tsx           | TypeScript JSX     |        123 |         38 |         22 |        183 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/personnelSalaryBudget/components/cardList/style.less          | Less               |        120 |          0 |         15 |        135 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/personnelSalaryBudget/components/distribute/index.tsx         | TypeScript JSX     |        361 |         12 |         53 |        426 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/personnelSalaryBudget/components/distribute/style.less        | Less               |        195 |          5 |         31 |        231 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/personnelSalaryBudget/components/distribute/tableSelector.tsx | TypeScript JSX     |        143 |          6 |         48 |        197 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/personnelSalaryBudget/index.tsx                               | TypeScript JSX     |        441 |         28 |         74 |        543 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/personnelSalaryBudget/service.ts                              | TypeScript         |        112 |         24 |         35 |        171 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/personnelSalaryBudget/style.less                              | Less               |        273 |         53 |         42 |        368 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/specialDataImport/index.tsx                                   | TypeScript JSX     |        229 |         11 |         42 |        282 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/specialDataImport/service.ts                                  | TypeScript         |         56 |         16 |         32 |        104 |
+| /Users/dema/work/BudgetManaSystem/src/pages/budgetMana/specialDataImport/style.less                                  | Less               |         49 |          0 |          7 |         56 |
+| /Users/dema/work/BudgetManaSystem/src/pages/noAccess/index.tsx                                                       | TypeScript JSX     |         17 |          9 |          3 |         29 |
+| /Users/dema/work/BudgetManaSystem/src/pages/noAccess/style.less                                                      | Less               |         45 |          0 |          4 |         49 |
+| /Users/dema/work/BudgetManaSystem/src/pages/reportCheck/report/SetColWidComponent.tsx                                | TypeScript JSX     |        134 |          0 |         16 |        150 |
+| /Users/dema/work/BudgetManaSystem/src/pages/reportCheck/report/index.tsx                                             | TypeScript JSX     |        411 |         26 |         96 |        533 |
+| /Users/dema/work/BudgetManaSystem/src/pages/reportCheck/report/service.ts                                            | TypeScript         |         27 |          9 |         20 |         56 |
+| /Users/dema/work/BudgetManaSystem/src/pages/reportCheck/report/style.less                                            | Less               |         65 |          0 |         11 |         76 |
+| /Users/dema/work/BudgetManaSystem/src/pages/reports/index.tsx                                                        | TypeScript JSX     |         44 |         10 |         17 |         71 |
+| /Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/employeeInfoCheck/index.tsx                          | TypeScript JSX     |        584 |         24 |        125 |        733 |
+| /Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/employeeInfoCheck/service.ts                         | TypeScript         |         99 |         16 |         50 |        165 |
+| /Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/employeeInfoCheck/style.less                         | Less               |        172 |          2 |         23 |        197 |
+| /Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/nonCheckProjectApprove/index.tsx                     | TypeScript JSX     |        555 |         24 |        120 |        699 |
+| /Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/nonCheckProjectApprove/service.ts                    | TypeScript         |        111 |         18 |         60 |        189 |
+| /Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/nonCheckProjectApprove/style.less                    | Less               |        172 |          2 |         23 |        197 |
+| /Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/secondaryDitriComputed/index.tsx                     | TypeScript JSX     |        733 |         41 |        169 |        943 |
+| /Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/secondaryDitriComputed/service.ts                    | TypeScript         |         99 |         19 |         51 |        169 |
+| /Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/secondaryDitriComputed/style.less                    | Less               |        327 |          2 |         52 |        381 |
+| /Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/unitCheckProjectScore/index.tsx                      | TypeScript JSX     |        796 |         51 |        203 |      1,050 |
+| /Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/unitCheckProjectScore/service.ts                     | TypeScript         |        104 |         20 |         54 |        178 |
+| /Users/dema/work/BudgetManaSystem/src/pages/secondaryDistribute/unitCheckProjectScore/style.less                     | Less               |        295 |          2 |         47 |        344 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/businessDicMana/index.tsx                            | TypeScript JSX     |        282 |          9 |         50 |        341 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/businessDicMana/service.ts                           | TypeScript         |         55 |         13 |         22 |         90 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/businessDicMana/style.less                           | Less               |         77 |          0 |         12 |         89 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/dicClassfication/index.tsx                           | TypeScript JSX     |        182 |          9 |         38 |        229 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/dicClassfication/service.ts                          | TypeScript         |         43 |         13 |         23 |         79 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/dicClassfication/style.less                          | Less               |         37 |          0 |          7 |         44 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/jobCateBaseSet/index.tsx                             | TypeScript JSX     |        123 |         17 |         32 |        172 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/jobCateBaseSet/service.ts                            | TypeScript         |         35 |         10 |         25 |         70 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/jobCateBaseSet/style.less                            | Less               |         45 |          0 |          7 |         52 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/paramsMana/index.tsx                                 | TypeScript JSX     |        200 |          9 |         34 |        243 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/paramsMana/service.ts                                | TypeScript         |         50 |         12 |         23 |         85 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/paramsMana/style.less                                | Less               |         37 |          0 |          7 |         44 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/positionLevelRateSet/index.tsx                       | TypeScript JSX     |        219 |         11 |         50 |        280 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/positionLevelRateSet/service.ts                      | TypeScript         |         35 |         11 |         26 |         72 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/baseSetting/positionLevelRateSet/style.less                      | Less               |         13 |          0 |          2 |         15 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitClassMana/index.tsx                        | TypeScript JSX     |        212 |         10 |         44 |        266 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitClassMana/service.ts                       | TypeScript         |         48 |         12 |         32 |         92 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitClassMana/style.less                       | Less               |         37 |          0 |          7 |         44 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitDepMap/index.tsx                           | TypeScript JSX     |        426 |         56 |        132 |        614 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitDepMap/service.ts                          | TypeScript         |         83 |         13 |         40 |        136 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitDepMap/style.less                          | Less               |        103 |          2 |         14 |        119 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitEmpSet/index.tsx                           | TypeScript JSX     |        675 |         35 |        148 |        858 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitEmpSet/service.ts                          | TypeScript         |         77 |         16 |         44 |        137 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitEmpSet/style.less                          | Less               |        164 |          1 |         19 |        184 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitMana/index.tsx                             | TypeScript JSX     |        375 |         21 |        103 |        499 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitMana/service.ts                            | TypeScript         |         68 |         11 |         33 |        112 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/checkUnitMana/style.less                            | Less               |         78 |          2 |         12 |         92 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/medicalGroupSet/index.tsx                           | TypeScript JSX     |        410 |         18 |        104 |        532 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/medicalGroupSet/service.ts                          | TypeScript         |         67 |         18 |         34 |        119 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/medicalGroupSet/style.less                          | Less               |        229 |          0 |         31 |        260 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/viewUnitPermSet/index.tsx                           | TypeScript JSX     |        276 |         11 |         58 |        345 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/viewUnitPermSet/service.ts                          | TypeScript         |         27 |         12 |         26 |         65 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/checkUnitSet/viewUnitPermSet/style.less                          | Less               |         45 |          0 |          6 |         51 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/classAssessAndGradeSet/index.tsx              | TypeScript JSX     |        161 |         12 |         47 |        220 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/classAssessAndGradeSet/service.ts             | TypeScript         |         13 |         10 |         22 |         45 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/classAssessAndGradeSet/style.less             | Less               |         76 |          0 |         10 |         86 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/indicGroupWeightSet/index.tsx                 | TypeScript JSX     |        515 |         37 |        113 |        665 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/indicGroupWeightSet/service.ts                | TypeScript         |         58 |         15 |         36 |        109 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/indicGroupWeightSet/style.less                | Less               |         74 |          0 |         11 |         85 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/manaIndicItemSet/index.tsx                    | TypeScript JSX     |        314 |         11 |         47 |        372 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/manaIndicItemSet/service.ts                   | TypeScript         |         70 |         12 |         25 |        107 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/manaIndicItemSet/style.less                   | Less               |         37 |          0 |          7 |         44 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/unitIndicTargetSet/index.tsx                  | TypeScript JSX     |        385 |         18 |         88 |        491 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/unitIndicTargetSet/service.ts                 | TypeScript         |         42 |         14 |         27 |         83 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/manaPerformanceSet/unitIndicTargetSet/style.less                 | Less               |         77 |          0 |         12 |         89 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/bilingProjectMana/index.tsx                       | TypeScript JSX     |        310 |         11 |         57 |        378 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/bilingProjectMana/service.ts                      | TypeScript         |         91 |         16 |         38 |        145 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/bilingProjectMana/style.less                      | Less               |         63 |          0 |          9 |         72 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/checkUnitProjectSet/index.tsx                     | TypeScript JSX     |      1,245 |         92 |        216 |      1,553 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/checkUnitProjectSet/service.ts                    | TypeScript         |        254 |         33 |         96 |        383 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/checkUnitProjectSet/style.less                    | Less               |        146 |          3 |         22 |        171 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/costIncomeProjectSet/index.tsx                    | TypeScript JSX     |        454 |         10 |         60 |        524 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/costIncomeProjectSet/service.ts                   | TypeScript         |         99 |         15 |         32 |        146 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/costIncomeProjectSet/style.less                   | Less               |         55 |          0 |          7 |         62 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/indicProjectMana/index.tsx                        | TypeScript JSX     |        254 |         13 |         46 |        313 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/indicProjectMana/service.ts                       | TypeScript         |         57 |         13 |         26 |         96 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/indicProjectMana/style.less                       | Less               |         49 |          0 |          7 |         56 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/jobCateRetenSet/UpDataActBtn.tsx                  | TypeScript JSX     |        250 |         83 |         37 |        370 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/jobCateRetenSet/index.tsx                         | TypeScript JSX     |        354 |         20 |         68 |        442 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/jobCateRetenSet/service.ts                        | TypeScript         |         34 |         13 |         28 |         75 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/jobCateRetenSet/style.less                        | Less               |        117 |          0 |         18 |        135 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/nonAssessmentProjectMana/index.tsx                | TypeScript JSX     |        387 |         18 |         69 |        474 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/nonAssessmentProjectMana/service.ts               | TypeScript         |         63 |         13 |         30 |        106 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/nonAssessmentProjectMana/style.less               | Less               |         92 |          0 |         11 |        103 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/occupationsSecondaryDistriSet/index.tsx           | TypeScript JSX     |        424 |         21 |         97 |        542 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/occupationsSecondaryDistriSet/service.ts          | TypeScript         |         43 |         13 |         34 |         90 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/occupationsSecondaryDistriSet/style.less          | Less               |        163 |          0 |         23 |        186 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/retentionAssessmentProjectMana/index.tsx          | TypeScript JSX     |        191 |         10 |         37 |        238 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/retentionAssessmentProjectMana/service.ts         | TypeScript         |         36 |         12 |         27 |         75 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/retentionAssessmentProjectMana/style.less         | Less               |         92 |          0 |         11 |        103 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/secondaryDistriGroupSet/index.tsx                 | TypeScript JSX     |        674 |        148 |        166 |        988 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/secondaryDistriGroupSet/service.ts                | TypeScript         |         83 |         20 |         42 |        145 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/secondaryDistriGroupSet/style.less                | Less               |        294 |          0 |         48 |        342 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/secondaryProjectDistribute/index.tsx              | TypeScript JSX     |        459 |         17 |         72 |        548 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/secondaryProjectDistribute/service.ts             | TypeScript         |         69 |         14 |         33 |        116 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/projectSetting/secondaryProjectDistribute/style.less             | Less               |         92 |          0 |         10 |        102 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/diySqlMana/index.tsx                                   | TypeScript JSX     |        317 |         12 |         64 |        393 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/diySqlMana/service.ts                                  | TypeScript         |         69 |         13 |         33 |        115 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/diySqlMana/style.less                                  | Less               |         81 |          1 |         14 |         96 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/reportListMana/UpDataActBtn.tsx                        | TypeScript JSX     |        250 |         83 |         37 |        370 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/reportListMana/index.tsx                               | TypeScript JSX     |        294 |         16 |         53 |        363 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/reportListMana/service.ts                              | TypeScript         |        104 |         18 |         41 |        163 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/reportListMana/style.less                              | Less               |         64 |          0 |         11 |         75 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/reportNavSet/index.tsx                                 | TypeScript JSX     |        294 |         12 |         49 |        355 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/reportNavSet/service.ts                                | TypeScript         |         57 |         12 |         31 |        100 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/reportNavSet/style.less                                | Less               |         37 |          0 |          7 |         44 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/reportSetting/index.tsx                                | TypeScript JSX     |        615 |         21 |        118 |        754 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/reportSetting/service.ts                               | TypeScript         |         65 |         18 |         37 |        120 |
+| /Users/dema/work/BudgetManaSystem/src/pages/setting/reportSet/reportSetting/style.less                               | Less               |        161 |          0 |         23 |        184 |
+| /Users/dema/work/BudgetManaSystem/src/pages/static/index.tsx                                                         | TypeScript JSX     |         57 |          9 |         22 |         88 |
+| /Users/dema/work/BudgetManaSystem/src/pages/static/service.ts                                                        | TypeScript         |          7 |          9 |          6 |         22 |
+| /Users/dema/work/BudgetManaSystem/src/services/auth.ts                                                               | TypeScript         |         20 |         11 |         10 |         41 |
+| /Users/dema/work/BudgetManaSystem/src/services/demo/UserController.ts                                                | TypeScript         |         74 |         17 |          6 |         97 |
+| /Users/dema/work/BudgetManaSystem/src/services/demo/index.ts                                                         | TypeScript         |          4 |          2 |          2 |          8 |
+| /Users/dema/work/BudgetManaSystem/src/services/demo/typings.d.ts                                                     | TypeScript         |         48 |         10 |         11 |         69 |
+| /Users/dema/work/BudgetManaSystem/src/services/getDic.ts                                                             | TypeScript         |         32 |         11 |         22 |         65 |
+| /Users/dema/work/BudgetManaSystem/src/typings.d.ts                                                                   | TypeScript         |         21 |         10 |          3 |         34 |
+| /Users/dema/work/BudgetManaSystem/src/utils/devicePixelRatio.js                                                      | JavaScript         |         38 |         27 |          2 |         67 |
+| /Users/dema/work/BudgetManaSystem/src/utils/format.ts                                                                | TypeScript         |          9 |         10 |          2 |         21 |
+| /Users/dema/work/BudgetManaSystem/src/utils/tableToExcel.ts                                                          | TypeScript         |         42 |         21 |         23 |         86 |
+| /Users/dema/work/BudgetManaSystem/src/utils/tableToMultiHeaderExcel.ts                                               | TypeScript         |        143 |          1 |         28 |        172 |
+| /Users/dema/work/BudgetManaSystem/src/utils/tooljs.ts                                                                | TypeScript         |        158 |         34 |         67 |        259 |
+| /Users/dema/work/BudgetManaSystem/src/utils/zhongtaiA.js                                                             | JavaScript         |          1 |          8 |          0 |          9 |
+| /Users/dema/work/BudgetManaSystem/src/utils/zhongtaiB.js                                                             | JavaScript         |          1 |          8 |          0 |          9 |
+| /Users/dema/work/BudgetManaSystem/src/utils/zhongtaiC.js                                                             | JavaScript         |          1 |          8 |          0 |          9 |
+| /Users/dema/work/BudgetManaSystem/tsconfig.json                                                                      | JSON with Comments |          3 |          0 |          1 |          4 |
+| /Users/dema/work/BudgetManaSystem/typings.d.ts                                                                       | TypeScript         |          1 |          0 |          1 |          2 |
+| Total                                                                                                                |                    |     49,276 |      2,657 |      7,297 |     59,230 |
++----------------------------------------------------------------------------------------------------------------------+--------------------+------------+------------+------------+------------+

+ 3 - 2
src/pages/budgetMana/monthlyInfoCheck/index.tsx

@@ -4,7 +4,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2022-12-16 09:42:52
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2024-03-19 16:48:24
+ * @LastEditTime: 2024-07-24 16:43:47
  * @FilePath: /BudgetManaSystem/src/pages/budgetMana/monthlySet/index.tsx
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -45,6 +45,7 @@ import { useAccess } from '@umijs/max';
 
 
 
+
 const IconFont = createFromIconfontCN({
     scriptUrl: '',
 });
@@ -1043,7 +1044,7 @@ const MonthlyInfoCheck: React.FC = () => {
                         />
                     )
                 }
-            </div>
+            </div>                                                                                  A                      
             {/* <div style={{width:16,height:'92vh',background:'#F5F7FA'}}></div> */}
             <div className='rightContent'>
                 <BMSPagecontainer title={`核算年月:${currentComputeDate}`} ghost>

+ 99 - 160
src/pages/budgetMana/oneBatch/index.tsx

@@ -2,7 +2,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2023-01-04 14:12:31
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2023-09-25 11:19:50
+ * @LastEditTime: 2024-09-06 11:13:27
  * @FilePath: /BudgetManaSystem/src/pages/budgetMana/oneBatch/index.tsx
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -12,7 +12,7 @@ import BMSPagecontainer from '@/components/BMSPageContainer'
 import { BMSTable } from '@/components/BMSTable';
 import { getComputeDate } from '@/pages/Home/service';
 import { ActionType, ProColumns } from '@ant-design/pro-components';
-import { message, Modal, Popover, Table, Tabs, Button } from 'antd';
+import { message, Modal, Popover, Table, Tabs, Tooltip } from 'antd';
 import { useEffect, useRef, useState } from 'react';
 import { caculate, checkRequest, getCheckType, getCurrentCheckStatus, getCurrentZhileiCheckStatus, getData, getZhileiList } from './service';
 
@@ -21,13 +21,17 @@ import './style.less';
 
 
 import { create, all, number } from 'mathjs'
-import exportTableToExcel from '@/utils/tableToExcel';
-import { convertToColumns } from '@/utils/tooljs';
+
 
 import * as XLSX from 'xlsx';
 import exportTableToMultiExcel from '@/utils/tableToMultiHeaderExcel';
 import { getJiezhuanStatus } from '../monthlySet/service';
 import { formatMoneyNumber } from '@/utils/format';
+import { createFromIconfontCN } from '@ant-design/icons';
+
+const IconFont = createFromIconfontCN({
+  scriptUrl: '',
+});
 
 
 const config = {
@@ -50,157 +54,11 @@ type Column = {
   key: string;
   ellipsis: boolean;
   width: number;
-  renderText?:any,
+  renderText?: any,
   children?: Column[];
 };
 
-const mockData = [
-  {
-    "code": "1",
-    "name": "单元绩效点值1",
-    "sort": 1,
-    "redirect": false,
-    "expand": 1,
-    "childTitle": [
-      {
-        "code": "2-1",
-        "name": "单元绩效点值2",
-        "sort": 1,
-        "redirect": false,
-        "expand": 0,
-        "childTitle": [
-          {
-            "code": "3",
-            "name": "单元绩效点值3",
-            "sort": 1,
-            "redirect": false,
-            "expand": 1,
-            "childTitle": []
-          }
-        ]
-      },
-      {
-        "code": "2-2",
-        "name": "单元绩效点值2",
-        "sort": 1,
-        "redirect": false,
-        "expand": 1,
-        "childTitle": [
-          {
-            "code": "3-1",
-            "name": "单元绩效点值3-1",
-            "sort": 1,
-            "redirect": false,
-            "expand": 1,
-            "childTitle": []
-          },
-          {
-            "code": "3-2",
-            "name": "单元绩效点值3-2",
-            "sort": 1,
-            "redirect": false,
-            "expand": 1,
-            "childTitle": []
-          }
-        ]
-      }
-    ]
-  },
-  {
-    "code": "4",
-    "name": "单元管理绩效",
-    "sort": 2,
-    "redirect": false
-  },
-]
-
-const mockColumns = [
-  {
-    dataIndex: "unitName",
-    ellipsis: true,
-    fixed: "left",
-    key: "unitName",
-    title: "核算单元",
-    width: 140
-  },
-  {
-    dataIndex: "key-23",
-    ellipsis: true,
-    key: "key-23",
-    title: "单元管理绩效",
-    width: 200
-  },
-  {
-    dataIndex: "key-1646350087779131392",
-    ellipsis: true,
-    key: "key-1646350087779131392",
-    title: "核算年月",
-    width: 200
-  },
-  {
-    dataIndex: "key-1679019958216040448",
-    ellipsis: true,
-    key: "key-1679019958216040448",
-    title: "临床诊察积分奖金",
-    width: 200,
-    children: [
-      {
-        dataIndex: "key-6",
-        ellipsis: true,
-        key: "key-6",
-        title: "临床诊察积分-节假日奖金",
-        width: 200,
-        children: [
-          {
-            dataIndex: "key-4",
-            ellipsis: true,
-            key: "key-4",
-            title: "临床诊察积分-节假日",
-            width: 200
-          },
-          {
-            dataIndex: "key-5",
-            ellipsis: true,
-            key: "key-5",
-            title: "临床诊察积分-节假日点值",
-            width: 200
-          }
-        ]
-      },
-      {
-        dataIndex: "key-3",
-        ellipsis: true,
-        key: "key-3",
-        title: "临床诊察积分-工作日奖金",
-        width: 200,
-        children: [
-          {
-            dataIndex: "key-1",
-            ellipsis: true,
-            key: "key-1",
-            title: "临床诊察积分-工作日",
-            width: 200
-          },
-          {
-            dataIndex: "key-2",
-            ellipsis: true,
-            key: "key-2",
-            title: "临床诊察积分-工作日点值",
-            width: 200
-          }
-        ]
-      }
-    ]
-  },
-  {
-    dataIndex: "totalScore",
-    ellipsis: true,
-    fixed: "right",
-    key: "totalScore",
-    title: "总奖金",
-    width: 140
-  }
-]
+
 
 let checkStatusArr: number[] = []
 
@@ -257,12 +115,12 @@ const OneBatch = () => {
         key: `key-${item.code}`,
         ellipsis: true,
         width: 200,
-        renderText(text:any){
-          function formatMoney(num:number) {
+        renderText(text: any) {
+          function formatMoney(num: number) {
             if (typeof num !== 'number' || isNaN(num)) {
               return '-';
-            } 
-            return new Intl.NumberFormat('en-US', { minimumFractionDigits: 0,maximumSignificantDigits:10}).format(num);
+            }
+            return new Intl.NumberFormat('en-US', { minimumFractionDigits: 0, maximumSignificantDigits: 10 }).format(num);
           }
           return formatMoney(text)
         }
@@ -352,7 +210,7 @@ const OneBatch = () => {
           fixed: 'right',
           ellipsis: true,
           renderText(text, record, index, action) {
-                return formatMoneyNumber(text)
+            return formatMoneyNumber(text)
           },
 
         }]);
@@ -505,9 +363,74 @@ const OneBatch = () => {
     })
   }
 
-  const exportHandle = () => {
+  const exportHandle = async (flag: number) => {
+    if (!flag) {
+      exportTableToMultiExcel([{ data: tableData, columns: columnsForExcel, sheetName: reportTitle }], `${reportTitle}.xlsx`, true);
+
+    } else {
+      const sheetsData = [];
+      for (const tab of tabs) {
+        const resp: any = await getData(currentComputeDate as string, Number(tab.value));
+        if (resp) {
+          const { title, assignmentData } = resp;
+          const columnsForExcel = convertToColumnsFunc(title, false);
+          const columns = [
+            {
+              title: '核算单元代码',
+              dataIndex: 'unitCode',
+              key: 'unitCode',
+              width: 140,
+              fixed: 'left',
+              ellipsis: true,
+              sorter: (a: { unitCode: any; }, b: { unitCode: string; }) => {
+                return b.unitCode.localeCompare(a.unitCode)
+              },
+
+            },
+            {
+              title: '核算单元',
+              dataIndex: 'unitName',
+              key: 'unitName',
+              width: 140,
+              fixed: 'left',
+              ellipsis: true,
+              sorter: (a: { unitName: any; }, b: { unitName: string; }) => {
+                return b.unitName.localeCompare(a.unitName)
+              },
+            },
+            ...columnsForExcel, {
+              title: '总奖金',
+              dataIndex: 'totalScore',
+              key: 'totalScore',
+              width: 140,
+              fixed: 'right',
+              ellipsis: true,
+              renderText(text: number, record: any, index: any, action: any) {
+                return formatMoneyNumber(text)
+              },
+
+            }];
+
+          const data = assignmentData.map((item: any) => {
+            let rowData: { [key: string]: any } = {};
+            for (let index = 0; index < item.value.length; index++) {
+              for (const key in item.value[index]) {
+                if (key !== 'code') {
+                  rowData[`key-${item.value[index].code}`] = item.value[index].value;
+                }
+              }
+            }
+            return { ...item, ...rowData, id: item.id, columns };
+          });
+
+          sheetsData.push({ data, columns, sheetName: tab.name });
+        }
+      }
+
+      exportTableToMultiExcel(sheetsData, `一次分配报表数据.xlsx`, true);
+    }
+
 
-    exportTableToMultiExcel(tableData, columnsForExcel as any, reportTitle, true);
 
   }
 
@@ -604,10 +527,26 @@ const OneBatch = () => {
                   onMouseEnter={() => auditType == '0' ? set_ifShowTip(false) : set_ifShowTip(true)}
                   onMouseLeave={() => set_ifShowTip(false)}
                   onClick={() => (auditType == '0' && !disAccount) ? generateFunc() : () => { }}>计算</div>
+                <div className={auditType == '0' ? 'caculateBtn' : 'caculateBtn disabled'}
+                  style={{ marginRight: 8 }}
+                  onMouseEnter={() => auditType == '0' ? set_ifShowTip(false) : set_ifShowTip(true)}
+                  onMouseLeave={() => set_ifShowTip(false)}
+                  onClick={() => auditType == '0' ? exportHandle(1) : () => { }}>
+                  导出全部
+                  <Tooltip title="将所有职类的数据导出到一个excel文件并分sheet页放置">
+                    <IconFont type="iconshuoming" style={{ fontSize: 16, paddingLeft: 10 }} />
+                  </Tooltip>
+
+                </div>
                 <div className={auditType == '0' ? 'caculateBtn' : 'caculateBtn disabled'}
                   onMouseEnter={() => auditType == '0' ? set_ifShowTip(false) : set_ifShowTip(true)}
                   onMouseLeave={() => set_ifShowTip(false)}
-                  onClick={() => auditType == '0' ? exportHandle() : () => { }}>导出</div>
+                  onClick={() => auditType == '0' ? exportHandle(0) : () => { }}>
+                  导出当前
+                  <Tooltip title={tabs.length>0?`将${(tabs.filter((a)=>a.value == currentTabKey))[0].name}的数据导出到excel文件`:''}>
+                  <IconFont type="iconshuoming" style={{ fontSize: 16, paddingLeft: 10 }} />
+                  </Tooltip>
+                </div>
               </div>
             </Popover>
           )

+ 3 - 0
src/pages/budgetMana/personnelSalaryBudget/components/distribute/index.tsx

@@ -201,6 +201,8 @@ export const Distribute = ({ computeDate }: { computeDate: string }) => {
         });
 
         const result = {
+            unitType:currentTab,
+            computeDate,
             data: reaultData,
             remainData: titles.map((a) => ({ code: a.code, value: a.value })),
             historyRetain: arr,
@@ -272,6 +274,7 @@ export const Distribute = ({ computeDate }: { computeDate: string }) => {
         }
     }, [currentTab]);
 
+
     useEffect(() => {
         getTab();
     }, []);

+ 2 - 2
src/pages/budgetMana/personnelSalaryBudget/service.ts

@@ -2,7 +2,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2023-01-04 13:59:26
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2024-07-22 11:37:48
+ * @LastEditTime: 2024-07-24 11:34:34
  * @FilePath: /BudgetManaSystem/src/pages/budgetMana/personnelSalaryBudget/service.ts
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -104,7 +104,7 @@ export const editAssessmentBonus = (data:any)=>{
 
 //保存保留系数设定
 export const saveKpiRetain = (data:any)=>{
-    return request('/performanece/retain/saveKpiRetain', {
+    return request('/performance/retain/saveKpiRetain', {
         method:'POST',
         data
    })

+ 2 - 3
src/pages/noAccess/index.tsx

@@ -2,12 +2,11 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2022-12-14 14:14:32
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2024-07-17 15:27:23
+ * @LastEditTime: 2024-07-24 17:25:32
  * @FilePath: /BudgetManaSystem/src/pages/noAccess/index.tsx
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
 import BMSPagecontainer from '@/components/BMSPageContainer';
-import { history, Link } from 'umi';
 import './style.less';
 const NoAccessPage: React.FC = () => {
 
@@ -20,7 +19,7 @@ const NoAccessPage: React.FC = () => {
               <img className='flagIcon' src={require('./images/noAccess.png')} alt="" />
               <div className='title'>暂无权限</div>
               <div className='subTitle'>当前功能暂无权限,请联系管理员分配权限</div>
-              <Link to='/home' replace ><div className='btn'>返回首页</div></Link>
+              {/* <Link to='/home' replace ><div className='btn'>返回首页</div></Link> */}
          </div>
     </BMSPagecontainer>
   );

+ 91 - 82
src/pages/reportCheck/report/index.tsx

@@ -2,7 +2,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2023-01-04 14:12:31
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2024-07-19 15:49:54
+ * @LastEditTime: 2024-08-08 15:23:46
  * @FilePath: /BudgetManaSystem/src/pages/budgetMana/oneBatch/index.tsx
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -60,12 +60,10 @@ function searchTableData(data: TableRecord[], query: string, searchableColumns:
 let computeDate: any = undefined;
 let currentReportCode: any = undefined;
 
-const ReportTemplate = () => {
-
-
-  const { reportCode: urlReportCode } = useParams();
+const ReportTemplate = ({ noHeader,reportCode,paramsFromProps }: { noHeader: boolean,reportCode:string,paramsFromProps:any }) => {
 
 
+  const { reportCode: urlReportCode } = noHeader?{reportCode}:useParams();
 
   const [tableColumn, set_tableColumn] = useState<any[] | any[]>([]);
 
@@ -77,7 +75,7 @@ const ReportTemplate = () => {
 
   const [breadCrumbList, set_breadCrumbList] = useState<any[]>([]);
 
-  const [tableDataFilterParams, set_tableDataFilterParams] = useState<any | undefined>({ reportCode: urlReportCode });
+  const [tableDataFilterParams, set_tableDataFilterParams] = useState<any | undefined>(noHeader?{reportCode: urlReportCode,}:{ reportCode: urlReportCode });
 
   const tableRef = useRef<ActionType>();
 
@@ -197,7 +195,7 @@ const ReportTemplate = () => {
           title: item.name,
           dataIndex: `${item.columnName}`,
           key: `${item.columnName}`,
-          width: item.width?item.width:100,
+          width: item.width ? item.width : 100,
           ellipsis: true,
           fixed: item.freeze ? true : false,
           hideInTable: item.hide,
@@ -348,13 +346,14 @@ const ReportTemplate = () => {
     })
     const resp = await editReportTbaleData(newDataSource);
     if (resp) {
-        tableRef.current?.reload();
+      tableRef.current?.reload();
     }
   }
 
 
   useEffect(() => {
     // 在这里处理路由参数变化的逻辑
+    console.log({currentComputeDate});
     if (!currentComputeDate) return;
     if (step == 0) {
       set_tableDataFilterParams({
@@ -362,7 +361,8 @@ const ReportTemplate = () => {
         parameter: {
           compute_date: currentComputeDate,
           start_date: dateComputeDateRange ? dateComputeDateRange[0] : null,
-          end_date: dateComputeDateRange ? dateComputeDateRange[1] : null
+          end_date: dateComputeDateRange ? dateComputeDateRange[1] : null,
+          ...paramsFromProps
         }
       });
       set_breadCrumbList([{
@@ -372,8 +372,9 @@ const ReportTemplate = () => {
           reportCode: urlReportCode,
           parameter: dateComputeDateRange ? {
             compute_date: currentComputeDate, start_date: dateComputeDateRange[0],
-            end_date: dateComputeDateRange[1]
-          } : { compute_date: currentComputeDate }
+            end_date: dateComputeDateRange[1],
+            ...paramsFromProps
+          } : { compute_date: currentComputeDate,...paramsFromProps }
         }
       }]);
     } else {
@@ -382,7 +383,8 @@ const ReportTemplate = () => {
         parameter: {
           compute_date: currentComputeDate,
           start_date: dateComputeDateRange ? dateComputeDateRange[0] : null,
-          end_date: dateComputeDateRange ? dateComputeDateRange[1] : null
+          end_date: dateComputeDateRange ? dateComputeDateRange[1] : null,
+          ...paramsFromProps
         }
       });
     }
@@ -435,83 +437,90 @@ const ReportTemplate = () => {
         </div>
       }
       <div className='contentWrap'>
-        {currentComputeDate && (<div className='search' style={{ display: 'inline-flex' }}>
-          <span>核算年月:</span>
-          {
-            dataPikerType == 0 && (
-              <DatePicker
-                onChange={(data, dateString) => {
-                  set_currentComputeDate(dateString);
-                  set_dateComputeDateRange([dateString, dateString]);
-                  computeDate = dateString;
-                }}
-                allowClear={false}
-                picker='month'
-                locale={locale}
-                defaultValue={moment(currentComputeDate, 'YYYY-MM')}
-                format='YYYY-MM' placeholder="请选择核算年月" />
-            )
-          }
-          {
-            dataPikerType == 1 && (
-              <RangePicker
-                onChange={(data, dateString) => {
-                  set_dateComputeDateRange(dateString);
-                  // computeDate = dateString;
-                }}
-                picker="month"
-                allowClear={false}
-                locale={locale}
-                defaultValue={[moment(currentComputeDate, 'YYYY-MM'), moment(currentComputeDate, 'YYYY-MM')]}
-                format='YYYY-MM'
-              />
-            )
-          }
-          {
-            dataPikerType == 2 && (
-              <RangePicker
-                onChange={(data, dateString) => {
-                  set_dateComputeDateRange(dateString);
-                  // computeDate = dateString;
-                }}
-                picker="date"
-                allowClear={false}
-                locale={locale}
-                defaultValue={[moment(currentComputeDate, 'YYYY-MM-DD'), moment(currentComputeDate, 'YYYY-MM-DD')]}
-                format='YYYY-MM-DD'
-              />
-            )
-          }
-
-        </div>)}
-        {
-          searchItems.length > 0 && (
-            <div style={{ display: 'inline-flex', flexDirection: 'row', alignItems: 'center', marginLeft: 8 }}>
-              <span style={{ display: 'inline-block', whiteSpace: 'nowrap' }}>检索:</span><Input className='searchInput' allowClear placeholder={searchItems.reduce((prev: string, cur: any) => `${prev.length > 0 ? prev + '/' : prev}${cur.name}`, '')} onChange={(e) => {
-                set_tableDataSearchKeywords(e.target.value);
-                if (e.target.value.length == 0 && !e.target.value) {
-                  set_tableDataSearchKeywords(undefined);
-                  tableRef.current?.reload();
-                }
-              }} suffix={
-                <IconFont type="iconsousuo" onClick={() => tableRef.current?.reload()} />
+        {!noHeader && (
+          <>
+            {currentComputeDate && (<div className='search' style={{ display: 'inline-flex' }}>
+              <span>核算年月:</span>
+              {
+                dataPikerType == 0 && (
+                  <DatePicker
+                    onChange={(data, dateString) => {
+                      set_currentComputeDate(dateString);
+                      set_dateComputeDateRange([dateString, dateString]);
+                      computeDate = dateString;
+                    }}
+                    disabled={step != 0}
+                    allowClear={false}
+                    picker='month'
+                    locale={locale}
+                    defaultValue={moment(currentComputeDate, 'YYYY-MM')}
+                    format='YYYY-MM' placeholder="请选择核算年月" />
+                )
               }
-                onPressEnter={(e) => {
-                  tableRef.current?.reload();
-                }}
-              />
-            </div>
-          )
-        }
-        {/* <div className='export' style={{ right: 80, width: 75 }}>
+              {
+                dataPikerType == 1 && (
+                  <RangePicker
+                    onChange={(data, dateString) => {
+                      set_dateComputeDateRange(dateString);
+                      // computeDate = dateString;
+                    }}
+                    disabled={step != 0}
+                    picker="month"
+                    allowClear={false}
+                    locale={locale}
+                    defaultValue={[moment(currentComputeDate, 'YYYY-MM'), moment(currentComputeDate, 'YYYY-MM')]}
+                    format='YYYY-MM'
+                  />
+                )
+              }
+              {
+                dataPikerType == 2 && (
+                  <RangePicker
+                    onChange={(data, dateString) => {
+                      set_dateComputeDateRange(dateString);
+                      // computeDate = dateString;
+                    }}
+                    picker="date"
+                    allowClear={false}
+                    locale={locale}
+                    defaultValue={[moment(currentComputeDate, 'YYYY-MM-DD'), moment(currentComputeDate, 'YYYY-MM-DD')]}
+                    format='YYYY-MM-DD'
+                  />
+                )
+              }
+
+            </div>)}
+            {
+              searchItems.length > 0 && (
+                <div style={{ display: 'inline-flex', flexDirection: 'row', alignItems: 'center', marginLeft: 8 }}>
+                  <span style={{ display: 'inline-block', whiteSpace: 'nowrap' }}>检索:</span><Input className='searchInput' allowClear placeholder={searchItems.reduce((prev: string, cur: any) => `${prev.length > 0 ? prev + '/' : prev}${cur.name}`, '')} onChange={(e) => {
+                    set_tableDataSearchKeywords(e.target.value);
+                    if (e.target.value.length == 0 && !e.target.value) {
+                      set_tableDataSearchKeywords(undefined);
+                      tableRef.current?.reload();
+                    }
+                  }} suffix={
+                    <IconFont type="iconsousuo" onClick={() => tableRef.current?.reload()} />
+                  }
+                    onPressEnter={(e) => {
+                      tableRef.current?.reload();
+                    }}
+                  />
+                </div>
+              )
+            }
+            {/* <div className='export' style={{ right: 80, width: 75 }}>
           {urlReportCode && < SetColWidComponent reportCode={urlReportCode} onOkHandle={updateTableCol} />}
         </div> */}
-        <div className='export' onClick={() => exportHandle()}>导出</div>
+            <div className='export' onClick={() => exportHandle()}>导出</div>
+          </>
+        )}
+
 
         <div className='content'>
           {dataPikerType != undefined && <BMSTable actionRef={tableRef} rowKey='id' pagination={false} columns={tableColumn as ProColumns[]}
             params={tableDataFilterParams}
-            scroll={{ x: (tableColumn.reduce((prev:number,cur:any)=>prev + (cur.width?cur.width:100),0)), y: tableH }}
+            scroll={{ x: (tableColumn.reduce((prev: number, cur: any) => prev + (cur.width ? cur.width : 100), 0)), y: tableH }}
             request={(params, sort, filter) => getTableData(params, sort, filter)}
           />}
         </div>

+ 27 - 13
src/pages/secondaryDistribute/employeeInfoCheck/index.tsx

@@ -4,7 +4,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2022-12-16 09:42:52
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2024-07-22 15:06:18
+ * @LastEditTime: 2024-07-31 14:09:20
  * @FilePath: /BudgetManaSystem/src/pages/budgetMana/monthlySet/index.tsx
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -42,6 +42,7 @@ import { TableRowSelection } from 'antd/es/table/interface';
 import { difference } from 'lodash';
 import { getCurrentCheckStatus } from '@/services/auth';
 import { getJiezhuanStatus } from '@/pages/budgetMana/monthlySet/service';
+import { getCurrentUnitCheckStatusReq } from '../secondaryDitriComputed/service';
 
 
 
@@ -84,6 +85,8 @@ const EmployeeInfoCheck: React.FC = () => {
 
     const [auditType, set_auditType] = useState('0');  //审核状态
 
+    const [unitCheckStat, set_unitCheckStat] = useState('0');  //单元审核状态
+
     const [ifBanAllAction, set_ifBanAllAction] = useState(true);  //是否掩藏所有操作
 
 
@@ -132,8 +135,8 @@ const EmployeeInfoCheck: React.FC = () => {
         },
         {
             title: '岗位',
-            dataIndex: 'jobTitleName',
-            key: 'jobTitleName',
+            dataIndex: 'positionName',
+            key: 'positionName',
 
         },
         {
@@ -400,6 +403,13 @@ const EmployeeInfoCheck: React.FC = () => {
         }
     }
 
+    const getCurrentUnitCheckStatus = async () => {
+        if (currentSelectedTreeNode) {
+            const resp = await getCurrentUnitCheckStatusReq(currentComputeDate as string, currentSelectedTreeNode.code);
+            set_unitCheckStat(`${resp}`);//0 未审核 1 已审核
+        }
+    }
+
     const generateFunc = () => {
 
         let msg = '生成操作会覆盖已有的数据,是否继续?';
@@ -518,14 +528,20 @@ const EmployeeInfoCheck: React.FC = () => {
             getTreeReqFunc(currentComputeDate);
             getCheckStatus(currentComputeDate);
             getJiezhuanStatusHandle();
+            tableRef.current?.reload();
         }
     }, [currentComputeDate]);
 
     useEffect(() => {
-        tableRef.current?.reload();
-
         if (currentComputeDate && currentSelectedTreeNode) {
-            getCurrentCommitStatus();
+            
+            
+            if(!currentSelectedTreeNode.child){
+                getCurrentCommitStatus();
+                getCurrentUnitCheckStatus();
+                tableRef.current?.reload();
+            }
+            
         }
     }, [currentSelectedTreeNode, currentComputeDate]);
 
@@ -550,7 +566,6 @@ const EmployeeInfoCheck: React.FC = () => {
 
 
     useEffect(() => {
-        console.log({ auditType });
         if (auditType == '1') {
             //当审核中时,禁掉所有操作
             set_commitStatus('1');
@@ -598,7 +613,7 @@ const EmployeeInfoCheck: React.FC = () => {
                                     const index = strTitle.indexOf(searchValue);
                                     const beforeStr = strTitle.substring(0, index);
                                     const afterStr = strTitle.slice(index + searchValue.length);
-                                    const title =
+                                    const title = 
                                         index > -1 ? (
                                             <span>
                                                 {beforeStr}
@@ -678,7 +693,7 @@ const EmployeeInfoCheck: React.FC = () => {
                                 {
                                     !ifBanAllAction && (
                                         <Popover open={ifShowTip} content={'当前处于提交中,无法操作!'} >
-                                            <div className={commitStatus != '0' ? 'btnGroup disabled' : 'btnGroup'}
+                                            <div className={(commitStatus != '0'||unitCheckStat != '0') ? 'btnGroup disabled' : 'btnGroup'}
                                                 /**
                                                  * 当审核中,三个操作按钮都不可点击
                                                  * 当非审核中,生成和添加不可操作
@@ -686,14 +701,14 @@ const EmployeeInfoCheck: React.FC = () => {
                                                 onMouseEnter={() => commitStatus == '1' ? set_ifShowTip(true) : set_ifShowTip(false)}
                                                 onMouseLeave={() => set_ifShowTip(false)}
                                             >
-                                                <span key="2" onClick={commitStatus == '0' ? () => generateFunc() : () => { }}>生成</span>
-                                                <span key="3" onClick={commitStatus == '0' ? () => addPersonFunc() : () => { }}>添加</span>
+                                                <span key="2" onClick={commitStatus == '0' ?unitCheckStat == '0'?() => generateFunc():()=>null : () => { }}>生成</span>
+                                                <span key="3" onClick={commitStatus == '0' ?unitCheckStat == '0'?() => addPersonFunc():()=>null : () => { }}>添加</span>
                                             </div>
                                         </Popover>
                                     )
                                 }
 
-                                {!ifBanAllAction && <div key="4" className={'commit'} onClick={() => commitBtnhandle()}>{commitStatus == '1' ? '取消提交' : '提交'}</div>}
+                                {!ifBanAllAction && <div key="4" className={unitCheckStat != '0'?'commit disabled':'commit'} onClick={() => unitCheckStat != '0'?()=>null:commitBtnhandle()}>{commitStatus == '1' ? '取消提交' : '提交'}</div>}
                             </div>
 
                         </div>
@@ -702,7 +717,6 @@ const EmployeeInfoCheck: React.FC = () => {
                             key: 'option',
                             valueType: 'option',
                             render: (record: any) => [
-
                                 <Popconfirm key="popconfirm" title={`确认删除吗?`} okText="是" cancelText="否" onConfirm={() => delPersonHandle(record)}>
                                     <a key={'del'}>删除</a>
                                 </Popconfirm>

+ 16 - 5
src/pages/secondaryDistribute/nonCheckProjectApprove/index.tsx

@@ -4,7 +4,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2022-12-16 09:42:52
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2023-09-25 15:23:03
+ * @LastEditTime: 2024-07-26 16:38:04
  * @FilePath: /BudgetManaSystem/src/pages/budgetMana/monthlySet/index.tsx
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -43,6 +43,7 @@ import { getCheckUnitDepMapTableDataByUnitClass } from '@/pages/setting/checkUni
 import { getPersonInfoTableData } from '../employeeInfoCheck/service';
 import { getJiezhuanStatus } from '@/pages/budgetMana/monthlySet/service';
 import { getEmps } from '@/pages/budgetMana/monthlyDataCheck/service';
+import { getCurrentUnitCheckStatusReq } from '../secondaryDitriComputed/service';
 
 
 
@@ -86,6 +87,8 @@ const NonCheckProjectApprove: React.FC = () => {
 
     const [auditType, set_auditType] = useState('0');  //审核状态
 
+    const [unitCheckStat,set_unitCheckStat] = useState('0'); //单元审核状态
+
     const formRef = useRef<ProFormInstance>();
 
     const tableRef = useRef<ActionType>();
@@ -174,6 +177,13 @@ const NonCheckProjectApprove: React.FC = () => {
         }
     }
 
+    const getCurrentUnitCheckStatus = async () => {
+        if (currentSelectedTreeNode) {
+            const resp = await getCurrentUnitCheckStatusReq(currentComputeDate as string, currentSelectedTreeNode.code);
+            set_unitCheckStat(`${resp}`);//0 未审核 1 已审核
+        }
+    }
+
     const getCurrentCommitStatus = async () => {
         if (currentSelectedTreeNode) {
             const resp = await getCurrentCommitStatusReq({
@@ -491,6 +501,7 @@ const NonCheckProjectApprove: React.FC = () => {
 
         if (currentComputeDate && currentSelectedTreeNode) {
             getCurrentCommitStatus();
+            getCurrentUnitCheckStatus();
         }
     }, [currentSelectedTreeNode, currentComputeDate]);
 
@@ -645,7 +656,7 @@ const NonCheckProjectApprove: React.FC = () => {
                                     !ifBanAllAction && (
                                         <>
                                             <Popover open={ifShowTip} content={auditType == '1' ? '当前处于审核中,无法操作!' : '当前处于提交中,无法操作!'} >
-                                                <div className={commitStatus != '0' || auditType == '1' ? 'btnGroup disabled' : 'btnGroup'}
+                                                <div className={(commitStatus != '0' || auditType == '1'||unitCheckStat == '1') ? 'btnGroup disabled' : 'btnGroup'}
                                                     /**
                                                      * 当审核中,三个操作按钮都不可点击
                                                      * 当非审核中,生成和添加不可操作
@@ -653,11 +664,11 @@ const NonCheckProjectApprove: React.FC = () => {
                                                     onMouseEnter={() => auditType == '0' ? commitStatus == '1' ? set_ifShowTip(true) : set_ifShowTip(false) : set_ifShowTip(true)}
                                                     onMouseLeave={() => set_ifShowTip(false)}
                                                 >
-                                                    {(commitStatus == '1' || auditType == '1') && <span key="2" >添加</span>}
-                                                    {(commitStatus == '0' && auditType != '1') && <UpDataActBtn record type='ADD' />}
+                                                    {(commitStatus == '1' || auditType == '1'||unitCheckStat == '1') && <span key="2" >添加</span>}
+                                                    {((commitStatus == '0' && auditType != '1')&&unitCheckStat != '1') && <UpDataActBtn record type='ADD' />}
                                                 </div>
                                             </Popover>
-                                            <div key="4" className={auditType == '1' ? 'commit disabled' : 'commit'} onClick={() => auditType == '0' ? commitBtnhandle() : () => { }}>{commitStatus == '1' ? '取消提交' : '提交'}</div>
+                                            <div key="4" className={(auditType == '1'||unitCheckStat == '1') ? 'commit disabled' : 'commit'} onClick={() => auditType == '0' ? commitBtnhandle() : () => { }}>{commitStatus == '1' ? '取消提交' : '提交'}</div>
                                         </>
                                     )
                                 }

+ 76 - 40
src/pages/secondaryDistribute/secondaryDitriComputed/index.tsx

@@ -4,7 +4,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2022-12-16 09:42:52
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2024-07-19 15:27:13
+ * @LastEditTime: 2024-08-08 16:23:19
  * @FilePath: /BudgetManaSystem/src/pages/budgetMana/monthlySet/index.tsx
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -16,15 +16,15 @@ import BMSPagecontainer from '@/components/BMSPageContainer';
 import { useEffect, useRef, useState } from 'react';
 import './style.less';
 
-import { TreeProps, Input, Modal, message, Popover, Table, Switch, Tooltip, DatePicker, ConfigProvider } from 'antd';
+import { TreeProps, Input, Modal, message, Popover, Table, Tooltip, DatePicker,Drawer } from 'antd';
 import { DataNode } from 'antd/es/tree';
 
 import expandedIcon from '../../../../static/treenode_open.png';
 import closeIcon from '../../../../static/treenode_collapse.png';
 import { BMSTable } from '@/components/BMSTable';
-import { ActionType, ProColumns, ProFormDatePicker, ProFormDigit, ProFormInstance, ProFormSelect } from '@ant-design/pro-components';
+import { ActionType, ProColumns, ProFormDigit } from '@ant-design/pro-components';
 import { createFromIconfontCN } from '@ant-design/icons';
-import { autoComputedReq, checkCurrentRequest, checkRequest, commitRequest, getCurrentCheckStatusReq, getCurrentCommitStatusReq, getCurrentUnitCheckStatusReq, getSecondaryDistriComputeTableData, getTreeData, getTreeDataRespType, save } from './service';
+import { autoComputedReq, checkCurrentRequest, checkRequest, commitRequest, getCurrentCheckStatusReq, getCurrentCommitStatusReq, getCurrentUnitCheckStatusReq, getCurrentUnitReportCodeReq, getSecondaryDistriComputeTableData, getTreeData, getTreeDataRespType, save } from './service';
 
 
 import { getComputeDate } from '@/pages/Home/service';
@@ -45,6 +45,7 @@ import locale from 'antd/es/date-picker/locale/zh_CN';
 import moment from 'moment';
 import { getJiezhuanStatus } from '@/pages/budgetMana/monthlySet/service';
 import { formatMoneyNumber } from '@/utils/format';
+import ReportTemplate from '@/pages/reportCheck/report';
 
 
 
@@ -75,7 +76,7 @@ const SecondaryDitriComputed: React.FC = () => {
 
     const [commitStatus, set_commitStatus] = useState('0'); //提交状态
 
-    const [empFilterParams, set_empFilterParams] = useState<any | undefined>(undefined);
+    const [openDrawer, set_openDrawer] = useState(false);
 
     const [expandedKeys, setExpandedKeys] = useState<React.Key[]>([]);
     const [searchValue, setSearchValue] = useState('');
@@ -105,7 +106,7 @@ const SecondaryDitriComputed: React.FC = () => {
     const [treeFilterVisible, set_treeFilterVisible] = useState(false);
 
     const [ifBanAllAction, set_ifBanAllAction] = useState(true);  //是否掩藏所有操作
-
+    const [reportCode,set_reportCode] = useState('');
 
     const column: ProColumns[] = [
         // {
@@ -161,8 +162,8 @@ const SecondaryDitriComputed: React.FC = () => {
         if (currentSelectedTreeNode) {
             const resp = await getCurrentUnitCheckStatusReq(currentComputeDate as string, currentSelectedTreeNode.code);
             set_currentUnitAuditType(`${resp}`);  //0 未审核 1 已审核
-            if(!ifCheckPage){
-                 set_auditType(`${resp}`);
+            if (!ifCheckPage) {
+                set_auditType(`${resp}`);
             }
         }
     }
@@ -262,9 +263,9 @@ const SecondaryDitriComputed: React.FC = () => {
             width: 120,
             fixed: 'right',
             renderText(text, record, index, action) {
-                    return formatMoneyNumber(text);
+                return formatMoneyNumber(text);
             },
-            
+
         },
         ]);
 
@@ -282,6 +283,8 @@ const SecondaryDitriComputed: React.FC = () => {
             if (resp) {
                 set_needSaveData(resp);
                 //buildTableData(resp);
+            }else{
+                set_needSaveData({title:[],userList:[]});
             }
         }
 
@@ -308,7 +311,7 @@ const SecondaryDitriComputed: React.FC = () => {
 
         const compeltedTotal = data.reduce((prev: any, cur: any) => prev + cur.totalScore, 0);
         const leftTotal = resp.totalBonus - compeltedTotal;
-        set_pageData({ ...pageData, total: resp.totalBonus?resp.totalBonus.toFixed(2):0, completedTotal: compeltedTotal.toFixed(2), leftTotal: Number(leftTotal.toFixed(2)) });
+        set_pageData({ ...pageData, total: resp.totalBonus ? resp.totalBonus.toFixed(2) : 0, completedTotal: compeltedTotal.toFixed(2), leftTotal: Number(leftTotal.toFixed(2)) });
 
         set_dataSource(data);
     }
@@ -365,7 +368,7 @@ const SecondaryDitriComputed: React.FC = () => {
             }
 
         } else {
-          
+
             if (commitStatus == '1') {
                 Modal.confirm({
                     title: '注意',
@@ -388,13 +391,13 @@ const SecondaryDitriComputed: React.FC = () => {
                 })
             } else {
 
-                if(pageData.leftTotal != 0){
+                if (pageData.leftTotal != 0) {
                     Modal.confirm({
                         title: '提交时需有单元的剩余分配金额必须是0',
                         okText: '确定',
                         cancelText: '取消',
                     })
-                }else {
+                } else {
                     Modal.confirm({
                         title: '注意',
                         okText: '确定',
@@ -412,7 +415,7 @@ const SecondaryDitriComputed: React.FC = () => {
                                 getCurrentCommitStatus();
                             }
                         }
-    
+
                     })
                 }
             }
@@ -439,7 +442,7 @@ const SecondaryDitriComputed: React.FC = () => {
         return parentKey!;
     };
 
-    
+
     const onTreeSearchKeyChange = (e: React.ChangeEvent<HTMLInputElement>) => {
 
         const { value } = e.target;
@@ -521,7 +524,7 @@ const SecondaryDitriComputed: React.FC = () => {
 
     const getTreeReqFunc = async (computeDate: string, type: string) => {
         const resp = await getTreeData(computeDate, type);
-        if(resp){
+        if (resp) {
             set_treeDataDefault(resp);
         }
     }
@@ -540,9 +543,9 @@ const SecondaryDitriComputed: React.FC = () => {
         }, 0)
     }
 
-    const autoComputed =async () => {
-        const resp = await autoComputedReq({computeDate:currentComputeDate as string,unitCode:currentSelectedTreeNode.code});
-        if(resp){
+    const autoComputed = async () => {
+        const resp = await autoComputedReq({ computeDate: currentComputeDate as string, unitCode: currentSelectedTreeNode.code });
+        if (resp) {
             message.success('操作成功!');
             getTableData({});
         }
@@ -554,7 +557,7 @@ const SecondaryDitriComputed: React.FC = () => {
             title: '注意',
             content: '重新计算会覆盖原有数据,确定要继续计算操作?',
             onOk(...args) {
-                autoComputed(); 
+                autoComputed();
             },
         })
     }
@@ -577,6 +580,31 @@ const SecondaryDitriComputed: React.FC = () => {
         }
     }
 
+    const setReportCodeByUnitType = async ()=>{
+          const resp = await getCurrentUnitReportCodeReq();
+          if(resp){
+               const {unitType} = currentSelectedTreeNode;
+               let reportCode = '';
+               resp.list.map((a:any)=>{
+                   if(a.value == unitType){
+                    reportCode = a.reserved1;
+                   }
+               });
+
+               console.log({reportCode});
+
+               set_reportCode(reportCode);
+          }
+    }
+
+    const openDrawerHandle = () => {
+         set_openDrawer(true)
+    }
+
+    const onCloseDrawer = ()=>{
+        set_openDrawer(false)
+    }
+
     useEffect(() => {
 
         if (currentComputeDate) {
@@ -590,11 +618,12 @@ const SecondaryDitriComputed: React.FC = () => {
     useEffect(() => {
         //tableRef.current?.reload();
 
-        if (currentComputeDate && currentSelectedTreeNode) {
+        if (currentComputeDate && currentSelectedTreeNode&&(!currentSelectedTreeNode.child||currentSelectedTreeNode.child.length == 0)) {
 
             if (!ifCheckPage) {
                 getCurrentCommitStatus();
                 getCurrentUnitCheckStatus();
+                setReportCodeByUnitType();
             }
             if (ifCheckPage) {
                 getCurrentUnitCheckStatus();
@@ -691,9 +720,9 @@ const SecondaryDitriComputed: React.FC = () => {
         }
     }, [inputsRef, inputsRefKeys]);
 
-    useEffect(()=>{
-         changeTreeDataFilter(currentTreeDataFilter);
-    },[treeDataDefault])
+    useEffect(() => {
+        changeTreeDataFilter(currentTreeDataFilter);
+    }, [treeDataDefault])
 
     useEffect(() => {
         set_tableColumn(column as ProColumns[]);
@@ -708,18 +737,24 @@ const SecondaryDitriComputed: React.FC = () => {
 
 
     return (
-        
+
         <div className='SecondaryDitriComputed'>
             {
                 treeFilterVisible && (
                     <div className='selecterList'>
+
                         <div onClick={() => changeTreeDataFilter({ name: '全部单元', code: 0 })} className={currentTreeDataFilter.code == 0 ? 'list on' : 'list'}>全部单元</div>
                         <div onClick={() => changeTreeDataFilter({ name: ifCheckPage ? '未审核' : '未提交', code: 1 })} className={currentTreeDataFilter.code == 1 ? 'list on' : 'list'}>{ifCheckPage ? '未审核' : '未提交'}</div>
                         <div onClick={() => changeTreeDataFilter({ name: ifCheckPage ? '已审核' : '已提交', code: 2 })} className={currentTreeDataFilter.code == 2 ? 'list on' : 'list'}>{ifCheckPage ? '已审核' : '已提交'}</div>
                     </div>
                 )
             }
-
+            <Drawer title="工作量" onClose={onCloseDrawer} open={openDrawer}
+            destroyOnClose={true} 
+            bodyStyle={{padding:0}}
+            width={800}>
+                  <ReportTemplate noHeader={true} reportCode={reportCode} paramsFromProps={currentSelectedTreeNode?{unit_code:currentSelectedTreeNode.code}:null} />
+            </Drawer>
             <div className='leftTree'>
                 <div className='search'>
                     <Input
@@ -801,20 +836,20 @@ const SecondaryDitriComputed: React.FC = () => {
                         <div className='tableToolbar'>
                             {currentComputeDate && (<div className='search'>
                                 <span>核算年月:</span>
-                                    <DatePicker
-                                        onChange={(data, dateString) => {
-                                            set_currentComputeDate(dateString);
-                                        }}
-                                        allowClear={false}
-                                        picker='month'
-                                        locale={locale}
-                                        defaultValue={moment(currentComputeDate,'YYYY-MM')} 
-                                        format='YYYY-MM' placeholder="请选择核算年月" />
+                                <DatePicker
+                                    onChange={(data, dateString) => {
+                                        set_currentComputeDate(dateString);
+                                    }}
+                                    allowClear={false}
+                                    picker='month'
+                                    locale={locale}
+                                    defaultValue={moment(currentComputeDate, 'YYYY-MM')}
+                                    format='YYYY-MM' placeholder="请选择核算年月" />
                             </div>)}
 
                             <div className='btnGroupWrap'>
                                 {
-                                    (!ifCheckPage&&!ifBanAllAction) && (
+                                    (!ifCheckPage && !ifBanAllAction) && (
                                         //计算界面
                                         <>
                                             <Popover open={ifShowTip} content={auditType == '1' ? '当前处于审核中,无法操作!' : '当前处于提交中,无法操作!'} >
@@ -826,7 +861,8 @@ const SecondaryDitriComputed: React.FC = () => {
                                                     onMouseEnter={() => auditType == '0' ? commitStatus == '1' ? set_ifShowTip(true) : set_ifShowTip(false) : set_ifShowTip(true)}
                                                     onMouseLeave={() => set_ifShowTip(false)}
                                                 >
-                                                    {(!ifEditMode&&userFunctionInThispage && (userFunctionInThispage.findIndex((a: { code: string, name: string }) => a.code == 'calculate') != -1)) && <span className='compute cancel' onClick={commitStatus == '0' && auditType != '1' ? () => computeHandle() : () => { }}>计算</span>}
+                                                    {(!ifEditMode && userFunctionInThispage && (userFunctionInThispage.findIndex((a: { code: string, name: string }) => a.code == 'work_kpi') != -1)) && <span className='compute cancel' onClick={commitStatus == '0' && auditType != '1' ? () => openDrawerHandle() : () => { }}>工作量</span>}
+                                                    {(!ifEditMode && userFunctionInThispage && (userFunctionInThispage.findIndex((a: { code: string, name: string }) => a.code == 'calculate') != -1)) && <span className='compute cancel' onClick={commitStatus == '0' && auditType != '1' ? () => computeHandle() : () => { }}>计算</span>}
                                                     {!ifEditMode && <span className='cancel' onClick={commitStatus == '0' && auditType != '1' ? () => set_ifEditMode(true) : () => { }}>编辑</span>}
                                                     {ifEditMode && <span className='cancel' onClick={commitStatus == '0' ? () => set_ifEditMode(false) : () => { }}>取消</span>}
                                                     {ifEditMode && <span className='editBtn' onClick={commitStatus == '0' && auditType != '1' ? () => saveHandle() : () => { }}>保存</span>}
@@ -838,7 +874,7 @@ const SecondaryDitriComputed: React.FC = () => {
                                     )
                                 }
                                 {
-                                    !ifBanAllAction&&ifCheckPage && userFunctionInThispage && (userFunctionInThispage.findIndex((a: { code: string, name: string }) => a.code == 'audit') != -1) && (
+                                    !ifBanAllAction && ifCheckPage && userFunctionInThispage && (userFunctionInThispage.findIndex((a: { code: string, name: string }) => a.code == 'audit') != -1) && (
                                         <>
                                             <div className={'commit gray'} onClick={() => commitBtnhandle(1)}>{currentUnitAuditType == '1' ? '取消审核单个' : '审核单个'}</div>
                                             <div className={'commit'} onClick={() => commitBtnhandle(2)}>{auditType == '1' ? '取消审核全部' : '审核全部'}</div>
@@ -899,7 +935,7 @@ const SecondaryDitriComputed: React.FC = () => {
                 </BMSPagecontainer>
             </div >
         </div >
-        
+
     );
 
 };

+ 7 - 16
src/pages/secondaryDistribute/secondaryDitriComputed/service.ts

@@ -2,7 +2,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2022-12-21 11:13:51
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2023-08-07 15:38:50
+ * @LastEditTime: 2024-08-08 14:59:24
  * @FilePath: /BudgetManaSystem/src/pages/budgetMana/monthlyInfoCheck/service.ts
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -96,23 +96,14 @@ export const getCurrentUnitCheckStatusReq = (computeDate:string,unitCode:string)
 
 }
 
+//获取当前核算单元对应的报表Code
+export const getCurrentUnitReportCodeReq = () => {
+    return request('/performance/dict/getDictDataList?current=1&pageSize=100&typeCode=1', {
+        method: 'GET',
+    })
 
+}
 
-// //生成数据
-
-// export type GenerateDataRequestParamsType = {
-//     computeDate: string,
-//     unitCode: string,
-// }
-
-// export const generateDataRequest = (data: GenerateDataRequestParamsType) => {
- 
-//     return request('/performance/secondSetting/generateEmployee', {
-//         method: 'POST',
-//         params:data
-//     })
-
-// }
 
 
 //提交请求

+ 23 - 13
src/pages/secondaryDistribute/unitCheckProjectScore/index.tsx

@@ -4,7 +4,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2022-12-16 09:42:52
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2023-08-18 10:51:05
+ * @LastEditTime: 2024-07-26 16:34:21
  * @FilePath: /BudgetManaSystem/src/pages/budgetMana/monthlySet/index.tsx
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -49,6 +49,7 @@ import { getJiezhuanStatus } from '@/pages/budgetMana/monthlySet/service';
 import '../../../utils/zhongtaiA';
 import BMSUpload from '@/components/BMSUpload';
 import { getWorkData } from '@/pages/setting/checkUnitSet/medicalGroupSet/service';
+import { getCurrentUnitCheckStatusReq } from '../secondaryDitriComputed/service';
 
 
 const SearchIcon = createFromIconfontCN({
@@ -81,22 +82,23 @@ const UnitCheckProjectScore: React.FC = () => {
     const [currentComputeDate, set_currentComputeDate] = useState<string | undefined>();
 
     const [ifShowTip, set_ifShowTip] = useState(false);
-
+    const [auditType,set_auditType] = useState('0'); 
     const [commitStatus, set_commitStatus] = useState('0'); //提交状态
+    const [unitCheckStat,set_unitCheckStat] = useState('0'); //单元审核状态
     const [expandedKeys, setExpandedKeys] = useState<React.Key[]>([]);
     const [searchValue, setSearchValue] = useState('');
     const [autoExpandParent, setAutoExpandParent] = useState(true);
 
     const [ifEditMode, set_ifEditMode] = useState(false);
 
-    const [auditType, set_auditType] = useState('0');  //审核状态
-
     const tableRef = useRef<ActionType>();
 
     const [needSaveData, set_needSaveData] = useState<any | undefined>(undefined);
 
     // const [inputsRefKeys, set_inputsRefKeys] = useState<string[]>([]);
 
+
+
     const inputsRef = useRef<{ [key: string]: any }>({});
 
     const [pageData, set_pageData] = useState({ total: 0, completedTotal: 0, leftTotal: 0 });
@@ -315,7 +317,7 @@ const UnitCheckProjectScore: React.FC = () => {
                 }}
             >
                 <FormItem name={'importFile'}>
-                    <BMSUpload downloadTemplateFile={() => auditType == '0' ? downloadTemplate() : () => { }} />
+                    <BMSUpload downloadTemplateFile={() => true ? downloadTemplate() : () => { }} />
                 </FormItem>
 
             </ModalForm>
@@ -339,6 +341,13 @@ const UnitCheckProjectScore: React.FC = () => {
         }
     }
 
+    const getCurrentUnitCheckStatus = async () => {
+        if (currentSelectedTreeNode) {
+            const resp = await getCurrentUnitCheckStatusReq(currentComputeDate as string, currentSelectedTreeNode.code);
+            set_unitCheckStat(`${resp}`);//0 未审核 1 已审核
+        }
+    }
+
 
     //工作量计算
     const calcuHanle = (rowData: any) => {
@@ -746,6 +755,7 @@ const UnitCheckProjectScore: React.FC = () => {
         if (currentComputeDate && currentSelectedTreeNode) {
             getCurrentCommitStatus();
             getTableData({});
+            getCurrentUnitCheckStatus();
         }
 
     }, [currentSelectedTreeNode, currentComputeDate]);
@@ -1001,23 +1011,23 @@ const UnitCheckProjectScore: React.FC = () => {
                                         //计算界面
                                         <>
                                             <Popover open={ifShowTip} content={auditType == '1' ? '当前处于审核中,无法操作!' : '当前处于提交中,无法操作!'} >
-                                                <div className={commitStatus != '0' || auditType == '1' ? 'btnGroup disabled' : 'btnGroup'}
+                                                <div className={(commitStatus != '0' || auditType == '1'||unitCheckStat == '1') ? 'btnGroup disabled' : 'btnGroup'}
                                                     /**
                                                      * 当审核中,三个操作按钮都不可点击
                                                      * 当非审核中,生成和添加不可操作
                                                      */
-                                                    onMouseEnter={() => auditType == '0' ? commitStatus == '1' ? set_ifShowTip(true) : set_ifShowTip(false) : set_ifShowTip(true)}
+                                                    onMouseEnter={() => (auditType == '0'||unitCheckStat != '1') ? commitStatus == '1' ? set_ifShowTip(true) : set_ifShowTip(false) : set_ifShowTip(true)}
                                                     onMouseLeave={() => set_ifShowTip(false)}
                                                 >
-                                                    {!ifEditMode && <span className='compute cancel' onClick={commitStatus == '0' ? () => getData() : () => { }}>获取</span>}
-                                                    {!ifEditMode && importData()}
-                                                    {!ifEditMode && <span className='cancel' onClick={commitStatus == '0' ? () => set_ifEditMode(true) : () => { }}>编辑</span>}
-                                                    {ifEditMode && <span className='cancel' onClick={commitStatus == '0' ? () => set_ifEditMode(false) : () => { }}>取消</span>}
-                                                    {ifEditMode && <span className='editBtn' onClick={commitStatus == '0' ? () => saveHandle() : () => { }}>保存</span>}
+                                                    {!ifEditMode && <span className='compute cancel' onClick={(unitCheckStat != '1') ? commitStatus == '0'? () => getData():()=>{} : () => { }}>获取</span>}
+                                                    {!ifEditMode && unitCheckStat != '1'?importData(): <span key="3" className='compute cancel'>导入</span>}
+                                                    {!ifEditMode && <span className='cancel' onClick={(unitCheckStat != '1') ?commitStatus == '0'?() => set_ifEditMode(true):()=>null : () => { }}>编辑</span>}
+                                                    {ifEditMode && <span className='cancel' onClick={(unitCheckStat != '1') ?commitStatus == '0'?() => set_ifEditMode(false):()=>null : () => { }}>取消</span>}
+                                                    {ifEditMode && <span className='editBtn' onClick={(unitCheckStat != '1') ? commitStatus == '0'?() => saveHandle():()=>null : () => { }}>保存</span>}
 
                                                 </div>
                                             </Popover>
-                                            {!ifEditMode && <div key="" className={auditType == '1' ? 'commit disabled' : 'commit'} onClick={() => auditType == '0' ? commitBtnhandle() : () => { }}>{commitStatus == '1' ? '取消提交' : '提交'}</div>}
+                                            {!ifEditMode && <div key="" className={(auditType == '1'||unitCheckStat == '1') ? 'commit disabled' : 'commit'} onClick={() => (auditType == '0'&&unitCheckStat != '1') ? commitBtnhandle() : () => { }}>{commitStatus == '1' ? '取消提交' : '提交'}</div>}
                                         </>
                                     )
                                 }

+ 2 - 2
src/pages/setting/manaPerformanceSet/unitIndicTargetSet/index.tsx

@@ -2,7 +2,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2023-03-03 11:30:33
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2023-08-25 10:32:44
+ * @LastEditTime: 2024-08-27 17:40:13
  * @FilePath: /KC-MiddlePlatform/src/pages/platform/setting/pubDicTypeMana/index.tsx
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -479,7 +479,7 @@ const UnitIndicTargetSet = () => {
                     </div>
                 </div>
                 <div style={{ marginTop: 16 }}>
-                    {currentSelectedType && <BMSTable scroll={{x:872}} actionRef={tableRef} columns={tableColumn} rowKey='unitCode' params={tableDataFilterParams} request={(params) => getTableData(params)} />}
+                    {currentSelectedType && <BMSTable scroll={{x:872,y:tableColumn.length * 150}} actionRef={tableRef} columns={tableColumn} rowKey='unitCode' params={tableDataFilterParams} request={(params) => getTableData(params)} />}
                 </div>
             </div>
         </BMSPagecontainer>

+ 2 - 2
src/pages/setting/reportSet/diySqlMana/index.tsx

@@ -2,7 +2,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2023-03-03 11:30:33
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2024-04-12 11:22:16
+ * @LastEditTime: 2024-09-03 11:31:03
  * @FilePath: /KC-MiddlePlatform/src/pages/platform/setting/pubDicTypeMana/index.tsx
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -114,7 +114,7 @@ export default function DiySqlMana() {
 
 
     const getTableData = async (params: any) => {
-        const resp = await getSqlListTableData({ ...params });
+        const resp = await getSqlListTableData({ ...params,pageSize:500 });
         if (resp) {
             set_dataSource(resp.list);
             set_showList(resp.list);

+ 8 - 5
src/utils/format.ts

@@ -2,7 +2,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2022-12-14 14:14:32
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2023-06-08 15:27:39
+ * @LastEditTime: 2024-09-06 14:32:14
  * @FilePath: /BudgetManaSystem/src/utils/format.ts
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -12,9 +12,12 @@ export function trim(str: string) {
 }
 
 //金额数字转换
-export function formatMoneyNumber(num:number) {
+export function formatMoneyNumber(num: number) {
   if (typeof num !== 'number' || isNaN(num)) {
-    return '-';
-  } 
-  return new Intl.NumberFormat('en-US', { minimumFractionDigits: 0, maximumFractionDigits: 2 }).format(num);
+    return num;
+  }
+  return new Intl.NumberFormat('en-US', {
+    minimumFractionDigits: 2,
+    maximumFractionDigits: 2,
+  }).format(num);
 }

+ 114 - 224
src/utils/tableToMultiHeaderExcel.ts

@@ -1,281 +1,171 @@
-//exportTableToMultiExcel
-
 import * as XLSX from 'xlsx';
 import { saveAs } from 'file-saver';
 
-
 type DataType = { [key: string]: string | number | null };
 
 type Column = {
-    title: string;
-    dataIndex: string;
-    key: string;
-    children?: Column[];
+  title: string;
+  dataIndex: string;
+  key: string;
+  children?: Column[];
 };
 
 type Merge = {
-    s: { r: number; c: number };
-    e: { r: number; c: number };
+  s: { r: number; c: number };
+  e: { r: number; c: number };
 };
 
-
 function getMaxDepth(columns: Column[]): number {
-    let maxDepth = 0;
-    for (const column of columns) {
-        if (column.children) {
-            // 如果有子列,递归计算子列的深度
-            const depth = 1 + getMaxDepth(column.children);
-            maxDepth = Math.max(maxDepth, depth);
-        } else {
-            // 如果没有子列,深度为1
-            maxDepth = Math.max(maxDepth, 1);
-        }
+  let maxDepth = 0;
+  for (const column of columns) {
+    if (column.children) {
+      const depth = 1 + getMaxDepth(column.children);
+      maxDepth = Math.max(maxDepth, depth);
+    } else {
+      maxDepth = Math.max(maxDepth, 1);
     }
-    return maxDepth;
+  }
+  return maxDepth;
 }
 
+function processColumns(columns: Column[], startRow = 0, startCol = 0, maxDepth = 0, colLength = 0): { headers: any[][], merges: Merge[] } {
+  let headers: any[][] = Array.from({ length: maxDepth }, () => Array(colLength).fill(''));
+  let merges: Merge[] = [];
+  let colIndex = startCol;
 
+  for (const column of columns) {
+    let endRow = startRow;
+    let endCol = colIndex;
 
+    if (column.children) {
+      const result = processColumns(column.children, startRow + 1, colIndex, maxDepth, colLength);
 
-function processColumns(columns: Column[], startRow = 0, startCol = 0, maxDepth = 0,colLength=0): { headers: any[][], merges: Merge[] } {
-
-    let headers: any[][] = Array.from({ length: maxDepth }, () => Array(colLength).fill(''));
-
-    let merges: Merge[] = [];
-    let colIndex = startCol;
-
-    // console.log({columns});
-
-    for (const column of columns) {
-        let endRow = startRow;
-        let endCol = colIndex;
+      headers = headers.map((row, i) => {
+        if (i === startRow) {
+          return [...row.slice(0, colIndex), ...result.headers[i], ...row.slice(colIndex + result.headers[i].length)];
+        } else {
+          return [...row.slice(0, colIndex), ...result.headers[i].slice(colIndex, result.headers[i].length), ...row.slice(colIndex + result.headers[i].length)];
+        }
+      });
 
-        if (column.children) {
+      merges = [...merges, ...result.merges];
+      endCol += getAllColumns(column.children).length - 1;
+      endRow = startRow;
 
-            const result = processColumns(column.children, startRow + 1, colIndex, maxDepth,colLength);
+    } else {
+      endRow = maxDepth - 1;
+    }
 
-            headers = headers.map((row, i) => {
-                
-                if (i === startRow) {
-                    return [...row.slice(0, colIndex), ...result.headers[i], ...row.slice(colIndex + result.headers[i].length)];
-                } else {
-                    return [...row.slice(0, colIndex), ...result.headers[i].slice(colIndex, result.headers[i].length), ...row.slice(colIndex + result.headers[i].length)];
-                }
-            });
+    for (let i = startRow; i <= endRow; i++) {
+      headers[i][colIndex] = i === startRow ? column.title : '';
+    }
 
-            merges = [...merges, ...result.merges];
-            endCol += getAllColumns(column.children).length - 1;  // 根据所有子列的总数来更新 endCol
-            endRow = startRow;  // 父列的标题应该在子列标题的上一行
+    merges.push({ s: { r: startRow, c: colIndex }, e: { r: endRow, c: endCol } });
+    colIndex = endCol + 1;
+  }
 
-        } else {
-            endRow = maxDepth - 1;
-        }
+  return { headers, merges };
+}
 
-        for (let i = startRow; i <= endRow; i++) {
-            headers[i][colIndex] = i === startRow ? column.title : '';
-        }
-        
-        merges.push({ s: { r: startRow, c: colIndex }, e: { r: endRow, c: endCol } });
-        colIndex = endCol + 1;
+function getAllColumns(columns: Column[]): Column[] {
+  let allColumns: Column[] = [];
+  for (const column of columns) {
+    if (column.children) {
+      allColumns = [...allColumns, ...getAllColumns(column.children)];
+    } else {
+      allColumns.push(column);
     }
-     
-    return { headers, merges };
+  }
+  return allColumns;
 }
 
+function exportTableToMultiExcel(sheetsData:any[], fileName = 'data.xlsx', needSummary = false) {
+  const wb = XLSX.utils.book_new();
 
-function exportTableToMultiExcel(tableData: DataType[], columns: Column[], fileName = 'data', needSummary = false) {
-    const allColumns = getAllColumns(columns);  // 获取所有列(包括子列)
+  sheetsData.forEach(({ data, columns, sheetName }) => {
+    const allColumns = getAllColumns(columns);
 
     // 计算总结信息
     const summary: DataType = {};
     if (needSummary) {
-        allColumns.forEach(column => {
-            summary[column.dataIndex] = tableData.reduce((total, row) => {
-                if (typeof row[column.dataIndex] === 'number') {
-                    return total + (row[column.dataIndex] as number);
-                }
-                return total;
-            }, 0);
-        });
-        summary[allColumns[0].dataIndex] = '总计';  // 设置第一列的值为'总计'
+      allColumns.forEach(column => {
+        summary[column.dataIndex] = data.reduce((total: number, row: { [x: string]: number; }) => {
+          if (typeof row[column.dataIndex] === 'number') {
+            return total + (row[column.dataIndex] as number);
+          }
+          return total;
+        }, 0);
+      });
+      summary[allColumns[0].dataIndex] = '总计';
     }
 
-    const dataValues = [...tableData.map(row => {
-        const rowData = [];
-        for (const column of allColumns) {
-            rowData.push(row[column.dataIndex]);
-        }
-        return rowData;
-    }), needSummary ? Object.values(summary) : []];  // 如果需要汇总,那么在数据数组末尾添加总结信息
+    const dataValues = [...data.map((row: { [x: string]: any; }) => {
+      const rowData = [];
+      for (const column of allColumns) {
+        rowData.push(row[column.dataIndex]);
+      }
+      return rowData;
+    }), needSummary ? Object.values(summary) : []];  // 如果需要汇总,在数据数组末尾添加总结信息
 
     const maxDepth = getMaxDepth(columns);
-    const { headers, merges } = processColumns(columns, 0, 0, maxDepth,columns.length);
+    const { headers, merges } = processColumns(columns, 0, 0, maxDepth, allColumns.length);
 
-    const wb = XLSX.utils.book_new();
     const ws = XLSX.utils.aoa_to_sheet([...headers, ...dataValues]);
 
-    // 计算每一列的最大字符长度
     const colWidths = allColumns.map((column, i) => {
-        let maxLength = column.title.length * 2; // 初始值设为列标题的长度的两倍
-        dataValues.forEach(row => {
-            const cellValue = row[i];
-            if (cellValue) {
-                const cellLength = cellValue.toString().length;
-                // 对于宽字符,使用较大的系数;对于窄字符,使用较小的系数
-                const cellWidth = /[\u4e00-\u9fa5]/.test(cellValue.toString()) ? cellLength * 2 : cellLength;
-                maxLength = Math.max(maxLength, cellWidth);
-            }
-        });
-        return { wch: maxLength };
+      let maxLength = column.title.length * 2;
+      dataValues.forEach(row => {
+        const cellValue = row[i];
+        if (cellValue) {
+          const cellLength = cellValue.toString().length;
+          const cellWidth = /[\u4e00-\u9fa5]/.test(cellValue.toString()) ? cellLength * 2 : cellLength;
+          maxLength = Math.max(maxLength, cellWidth);
+        }
+      });
+      return { wch: maxLength };
     });
 
-    // 设置每一列的宽度
     ws['!cols'] = colWidths;
 
-    // 设置单元格样式为水平和垂直居中
     const range = XLSX.utils.decode_range(ws['!ref'] as string);
     for (let R = range.s.r; R <= range.e.r; ++R) {
-        for (let C = range.s.c; C <= range.e.c; ++C) {
-            const cell_address = { c: C, r: R };
-            const cell_ref = XLSX.utils.encode_cell(cell_address);
-            if (!ws[cell_ref]) ws[cell_ref] = {};
-            ws[cell_ref].s = {
-                alignment: {
-                    horizontal: 'center',
-                    vertical: 'center'
-                }
-            };
-        }
+      for (let C = range.s.c; C <= range.e.c; ++C) {
+        const cell_address = { c: C, r: R };
+        const cell_ref = XLSX.utils.encode_cell(cell_address);
+        if (!ws[cell_ref]) ws[cell_ref] = {};
+        ws[cell_ref].s = {
+          alignment: {
+            horizontal: 'center',
+            vertical: 'center'
+          }
+        };
+      }
     }
 
-    // 设置表头的背景色
     for (let r = 0; r < maxDepth; r++) {
-        for (let c = 0; c < headers[r].length; c++) {
-            if (!ws[XLSX.utils.encode_cell({ r, c })]) {
-                ws[XLSX.utils.encode_cell({ r, c })] = {};
-            }
-            ws[XLSX.utils.encode_cell({ r, c })].s = {
-                fill: {
-                    fgColor: { rgb: "FFFF00" }  // 设置为黄色
-                },
-                alignment: {
-                    horizontal: 'center',
-                    vertical: 'center'
-                }
-            };
+      for (let c = 0; c < headers[r].length; c++) {
+        if (!ws[XLSX.utils.encode_cell({ r, c })]) {
+          ws[XLSX.utils.encode_cell({ r, c })] = {};
         }
+        ws[XLSX.utils.encode_cell({ r, c })].s = {
+          fill: {
+            fgColor: { rgb: "FFFF00" }
+          },
+          alignment: {
+            horizontal: 'center',
+            vertical: 'center'
+          }
+        };
+      }
     }
 
     ws['!merges'] = merges;
-    XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
-    const wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });
-    const blob = new Blob([wbout], { type: 'application/octet-stream' });
-    saveAs(blob, `${fileName}.xlsx`);
-}
-
-
-
+    XLSX.utils.book_append_sheet(wb, ws, sheetName);
+  });
 
-function getAllColumns(columns: Column[]): Column[] {
-    let allColumns: Column[] = [];
-    for (const column of columns) {
-        if (column.children) {
-            allColumns = [...allColumns, ...getAllColumns(column.children)];
-        } else {
-            allColumns.push(column);
-        }
-    }
-    return allColumns;
+  const wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });
+  const blob = new Blob([wbout], { type: 'application/octet-stream' });
+  saveAs(blob, fileName);
 }
 
 export default exportTableToMultiExcel;
-
-
-
-const columns = [
-    {
-        dataIndex: "unitName",
-        ellipsis: true,
-        fixed: "left",
-        key: "unitName",
-        title: "核算单元",
-        width: 140
-    },
-    {
-        dataIndex: "key-23",
-        ellipsis: true,
-        key: "key-23",
-        title: "单元管理绩效",
-        width: 200
-    },
-    {
-        dataIndex: "key-1679019958216040448",
-        ellipsis: true,
-        key: "key-1679019958216040448",
-        title: "临床诊察积分奖金",
-        width: 200,
-        children: [
-            {
-                dataIndex: "key-6",
-                ellipsis: true,
-                key: "key-6",
-                title: "临床诊察积分-节假日奖金",
-                width: 200,
-                children: [
-                    {
-                        dataIndex: "key-4",
-                        ellipsis: true,
-                        key: "key-4",
-                        title: "临床诊察积分-节假日",
-                        width: 200
-                    },
-                    {
-                        dataIndex: "key-5",
-                        ellipsis: true,
-                        key: "key-5",
-                        title: "临床诊察积分-节假日点值",
-                        width: 200
-                    }
-                ]
-            },
-            {
-                dataIndex: "key-3",
-                ellipsis: true,
-                key: "key-3",
-                title: "临床诊察积分-工作日奖金",
-                width: 200,
-                children: [
-                    {
-                        dataIndex: "key-1",
-                        ellipsis: true,
-                        key: "key-1",
-                        title: "临床诊察积分-工作日",
-                        width: 200
-                    },
-                    {
-                        dataIndex: "key-2",
-                        ellipsis: true,
-                        key: "key-2",
-                        title: "临床诊察积分-工作日点值",
-                        width: 200
-                    }
-                ]
-            }
-        ]
-    },
-    {
-        dataIndex: "totalScore",
-        ellipsis: true,
-        fixed: "right",
-        key: "totalScore",
-        title: "总奖金",
-        width: 140
-    }
-]
-
-
-
-
-
-
-

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.