2 次代码提交 3050ad185b ... f077181120

作者 SHA1 备注 提交日期
  code4eat f077181120 更新计划2024-09-06周需求 11 月之前
  code4eat 1da37d5705 添加菜单权限检验 1 年之前
共有 66 个文件被更改,包括 2035 次插入919 次删除
  1. 259 0
      .VSCodeCounter/2024-08-30_09-54-22/details.md
  2. 15 0
      .VSCodeCounter/2024-08-30_09-54-22/diff-details.md
  3. 2 0
      .VSCodeCounter/2024-08-30_09-54-22/diff.csv
  4. 19 0
      .VSCodeCounter/2024-08-30_09-54-22/diff.md
  5. 22 0
      .VSCodeCounter/2024-08-30_09-54-22/diff.txt
  6. 246 0
      .VSCodeCounter/2024-08-30_09-54-22/results.csv
  7. 0 0
      .VSCodeCounter/2024-08-30_09-54-22/results.json
  8. 126 0
      .VSCodeCounter/2024-08-30_09-54-22/results.md
  9. 373 0
      .VSCodeCounter/2024-08-30_09-54-22/results.txt
  10. 3 44
      .umirc.ts
  11. 140 312
      src/app.tsx
  12. 18 18
      src/authWrapper.tsx
  13. 2 2
      src/components/KCIMLeftList/index.tsx
  14. 12 1
      src/global.less
  15. 25 0
      src/pages/404.tsx
  16. 10 7
      src/pages/Home/index.tsx
  17. 74 242
      src/pages/Home/style.less
  18. 11 3
      src/pages/baseSetting/accountingAccountSet/accountingSubMap/index.tsx
  19. 5 6
      src/pages/baseSetting/accountingAccountSet/costIncomeProjectMana/index.tsx
  20. 2 2
      src/pages/baseSetting/costAllocationSet/allocationLevelSet/index.tsx
  21. 15 3
      src/pages/baseSetting/costAllocationSet/allocationParamsMap/editTableModal.tsx
  22. 8 3
      src/pages/baseSetting/costAllocationSet/allocationParamsMap/index.tsx
  23. 5 3
      src/pages/baseSetting/costAllocationSet/costAllocationParamsDeal/index.tsx
  24. 21 3
      src/pages/baseSetting/costAllocationSet/costAllocationParamsSet/index.tsx
  25. 164 53
      src/pages/baseSetting/costAllocationSet/costAllocationParamsSet/transform.tsx
  26. 2 2
      src/pages/baseSetting/costAllocationSet/idleCostSetting/index.tsx
  27. 2 2
      src/pages/baseSetting/costAllocationSet/revenueImputationSet/index.tsx
  28. 64 15
      src/pages/baseSetting/otherItemSet/departmentCostCalc/index.tsx
  29. 35 2
      src/pages/baseSetting/otherItemSet/departmentCostCalc/style.less
  30. 33 27
      src/pages/baseSetting/otherItemSet/reportItemSet/index.tsx
  31. 2 2
      src/pages/baseSetting/otherItemSet/visitsAndBedDayCostSetting/index.tsx
  32. 2 2
      src/pages/baseSetting/otherItemSet/wholeHospCostAndIncomeSet/index.tsx
  33. 38 7
      src/pages/baseSetting/responsibilityCenterSet/responsibilityCenter/index.tsx
  34. 30 22
      src/pages/costAccounting/calcPageTemplate/columns.tsx
  35. 30 9
      src/pages/costAccounting/calcPageTemplate/index.tsx
  36. 3 3
      src/pages/costAccounting/calcPageTemplate/service.ts
  37. 35 5
      src/pages/costAccounting/calcPageTemplate/style.less
  38. 2 2
      src/pages/costLibraryManagement/basicCostManagement/drugCostManagement/index.tsx
  39. 2 2
      src/pages/costLibraryManagement/basicCostManagement/equipmentCostManagement/index.tsx
  40. 2 2
      src/pages/costLibraryManagement/basicCostManagement/materialCostManagement/index.tsx
  41. 2 1
      src/pages/costLibraryManagement/basicCostManagement/personnelClassificationMana/index.tsx
  42. 3 1
      src/pages/costLibraryManagement/basicCostManagement/personnelClassificationMana/style.less
  43. 2 2
      src/pages/costLibraryManagement/basicCostManagement/spaceCostManagement/index.tsx
  44. 2 2
      src/pages/costLibraryManagement/diseaseCostManagement/diseaseDiagnosisComparison/index.tsx
  45. 2 2
      src/pages/costLibraryManagement/diseaseCostManagement/diseaseMana/index.tsx
  46. 2 2
      src/pages/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana/index.tsx
  47. 3 2
      src/pages/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana/style.less
  48. 2 2
      src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/index.tsx
  49. 2 2
      src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet/index.tsx
  50. 2 2
      src/pages/costLibraryManagement/projectCostManagement/projectShareParamsSet/index.tsx
  51. 2 2
      src/pages/costLibraryManagement/projectCostManagement/standardProjectMana/index.tsx
  52. 2 2
      src/pages/costLibraryManagement/reportMana/reportColumnMana/index.tsx
  53. 1 1
      src/pages/costLibraryManagement/reportMana/reportListMana/index.tsx
  54. 2 2
      src/pages/costLibraryManagement/reportMana/reportNavSet/index.tsx
  55. 11 5
      src/pages/incomeCollectionAction/index.tsx
  56. 8 3
      src/pages/monthlyInfoCollection/components/leftAndRighrStructure.tsx
  57. 65 44
      src/pages/monthlyInfoCollection/index.tsx
  58. 3 3
      src/pages/monthlyInfoSearch/patientInfoImport/index.tsx
  59. 1 1
      src/pages/monthlyInfoSearch/patientInfoImport/style.less
  60. 2 2
      src/pages/noAccess/index.tsx
  61. 10 9
      src/pages/reportExport/report/index.tsx
  62. 19 16
      src/pages/specialDataImport/index.tsx
  63. 8 1
      src/services/auth.ts
  64. 20 4
      src/utils/format.ts
  65. 二进制
      static/indexBg.png
  66. 二进制
      static/indexBgCenter.png

+ 259 - 0
.VSCodeCounter/2024-08-30_09-54-22/details.md

@@ -0,0 +1,259 @@
+# Details
+
+Date : 2024-08-30 09:54:22
+
+Directory /Users/dema/work/CostAccountingSys
+
+Total : 244 files,  42131 codes, 2729 comments, 8303 blanks, all 53163 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 | 379 | 14 | 15 | 408 |
+| [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.json](/package.json) | JSON | 47 | 0 | 1 | 48 |
+| [src/access.ts](/src/access.ts) | TypeScript | 45 | 12 | 22 | 79 |
+| [src/app.tsx](/src/app.tsx) | TypeScript JSX | 395 | 71 | 117 | 583 |
+| [src/authWrapper.tsx](/src/authWrapper.tsx) | TypeScript JSX | 46 | 12 | 7 | 65 |
+| [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/KCIMDrawerForm/index.tsx](/src/components/KCIMDrawerForm/index.tsx) | TypeScript JSX | 6 | 9 | 8 | 23 |
+| [src/components/KCIMDrawerForm/style.less](/src/components/KCIMDrawerForm/style.less) | Less | 17 | 0 | 3 | 20 |
+| [src/components/KCIMLeftList/index.tsx](/src/components/KCIMLeftList/index.tsx) | TypeScript JSX | 169 | 61 | 51 | 281 |
+| [src/components/KCIMLeftList/style.less](/src/components/KCIMLeftList/style.less) | Less | 110 | 8 | 20 | 138 |
+| [src/components/KCIMModalForm/index.tsx](/src/components/KCIMModalForm/index.tsx) | TypeScript JSX | 23 | 8 | 11 | 42 |
+| [src/components/KCIMPageContainer/index.tsx](/src/components/KCIMPageContainer/index.tsx) | TypeScript JSX | 75 | 8 | 18 | 101 |
+| [src/components/KCIMPageContainer/style.less](/src/components/KCIMPageContainer/style.less) | Less | 119 | 0 | 19 | 138 |
+| [src/components/KCIMTable/index.tsx](/src/components/KCIMTable/index.tsx) | TypeScript JSX | 40 | 11 | 15 | 66 |
+| [src/components/KCIMTable/style.less](/src/components/KCIMTable/style.less) | Less | 179 | 8 | 50 | 237 |
+| [src/components/KCIMTableSelector/index.tsx](/src/components/KCIMTableSelector/index.tsx) | TypeScript JSX | 144 | 10 | 40 | 194 |
+| [src/components/KCIMTableSelector/style.less](/src/components/KCIMTableSelector/style.less) | Less | 29 | 0 | 4 | 33 |
+| [src/components/KCIMUpload/index.tsx](/src/components/KCIMUpload/index.tsx) | TypeScript JSX | 56 | 9 | 14 | 79 |
+| [src/components/KCIMUpload/style.less](/src/components/KCIMUpload/style.less) | Less | 26 | 0 | 5 | 31 |
+| [src/components/ProgressModal/index.tsx](/src/components/ProgressModal/index.tsx) | TypeScript JSX | 74 | 8 | 11 | 93 |
+| [src/components/ProgressModal/service.ts](/src/components/ProgressModal/service.ts) | TypeScript | 17 | 8 | 9 | 34 |
+| [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 | 7 | 25 |
+| [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 | 8 | 2 | 55 |
+| [src/constant.ts](/src/constant.ts) | TypeScript | 10 | 8 | 2 | 20 |
+| [src/constants/index.ts](/src/constants/index.ts) | TypeScript | 1 | 0 | 1 | 2 |
+| [src/global.less](/src/global.less) | Less | 603 | 51 | 161 | 815 |
+| [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/404.tsx](/src/pages/404.tsx) | TypeScript JSX | 15 | 8 | 3 | 26 |
+| [src/pages/Home/index.tsx](/src/pages/Home/index.tsx) | TypeScript JSX | 17 | 9 | 7 | 33 |
+| [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 | 77 | 8 | 9 | 94 |
+| [src/pages/baseInfoMana/checkGroupMana/index.tsx](/src/pages/baseInfoMana/checkGroupMana/index.tsx) | TypeScript JSX | 207 | 13 | 42 | 262 |
+| [src/pages/baseInfoMana/checkGroupMana/service.ts](/src/pages/baseInfoMana/checkGroupMana/service.ts) | TypeScript | 60 | 13 | 24 | 97 |
+| [src/pages/baseInfoMana/checkGroupMana/style.less](/src/pages/baseInfoMana/checkGroupMana/style.less) | Less | 37 | 0 | 7 | 44 |
+| [src/pages/baseInfoMana/checkGroupMana/tableSelector.tsx](/src/pages/baseInfoMana/checkGroupMana/tableSelector.tsx) | TypeScript JSX | 85 | 6 | 29 | 120 |
+| [src/pages/baseInfoMana/empMana/index.tsx](/src/pages/baseInfoMana/empMana/index.tsx) | TypeScript JSX | 257 | 15 | 48 | 320 |
+| [src/pages/baseInfoMana/empMana/service.ts](/src/pages/baseInfoMana/empMana/service.ts) | TypeScript | 69 | 14 | 24 | 107 |
+| [src/pages/baseInfoMana/empMana/style.less](/src/pages/baseInfoMana/empMana/style.less) | Less | 66 | 0 | 15 | 81 |
+| [src/pages/baseInfoMana/empMana/tableSelector.tsx](/src/pages/baseInfoMana/empMana/tableSelector.tsx) | TypeScript JSX | 203 | 5 | 42 | 250 |
+| [src/pages/baseInfoMana/empMana/transform.tsx](/src/pages/baseInfoMana/empMana/transform.tsx) | TypeScript JSX | 97 | 19 | 19 | 135 |
+| [src/pages/baseInfoMana/unitMana/index.tsx](/src/pages/baseInfoMana/unitMana/index.tsx) | TypeScript JSX | 207 | 13 | 51 | 271 |
+| [src/pages/baseInfoMana/unitMana/service.ts](/src/pages/baseInfoMana/unitMana/service.ts) | TypeScript | 30 | 12 | 21 | 63 |
+| [src/pages/baseInfoMana/unitMana/style.less](/src/pages/baseInfoMana/unitMana/style.less) | Less | 66 | 0 | 13 | 79 |
+| [src/pages/baseInfoMana/unitMana/tableSelector.tsx](/src/pages/baseInfoMana/unitMana/tableSelector.tsx) | TypeScript JSX | 152 | 6 | 40 | 198 |
+| [src/pages/baseSetting/accountingAccountSet/accountingSubMana/index.tsx](/src/pages/baseSetting/accountingAccountSet/accountingSubMana/index.tsx) | TypeScript JSX | 402 | 9 | 53 | 464 |
+| [src/pages/baseSetting/accountingAccountSet/accountingSubMana/service.ts](/src/pages/baseSetting/accountingAccountSet/accountingSubMana/service.ts) | TypeScript | 39 | 13 | 31 | 83 |
+| [src/pages/baseSetting/accountingAccountSet/accountingSubMana/style.less](/src/pages/baseSetting/accountingAccountSet/accountingSubMana/style.less) | Less | 33 | 4 | 6 | 43 |
+| [src/pages/baseSetting/accountingAccountSet/accountingSubMap/index.tsx](/src/pages/baseSetting/accountingAccountSet/accountingSubMap/index.tsx) | TypeScript JSX | 239 | 14 | 41 | 294 |
+| [src/pages/baseSetting/accountingAccountSet/accountingSubMap/service.ts](/src/pages/baseSetting/accountingAccountSet/accountingSubMap/service.ts) | TypeScript | 19 | 11 | 25 | 55 |
+| [src/pages/baseSetting/accountingAccountSet/accountingSubMap/style.less](/src/pages/baseSetting/accountingAccountSet/accountingSubMap/style.less) | Less | 37 | 0 | 6 | 43 |
+| [src/pages/baseSetting/accountingAccountSet/chargeItemMap/index.tsx](/src/pages/baseSetting/accountingAccountSet/chargeItemMap/index.tsx) | TypeScript JSX | 359 | 14 | 79 | 452 |
+| [src/pages/baseSetting/accountingAccountSet/chargeItemMap/service.ts](/src/pages/baseSetting/accountingAccountSet/chargeItemMap/service.ts) | TypeScript | 39 | 14 | 24 | 77 |
+| [src/pages/baseSetting/accountingAccountSet/chargeItemMap/style.less](/src/pages/baseSetting/accountingAccountSet/chargeItemMap/style.less) | Less | 224 | 1 | 35 | 260 |
+| [src/pages/baseSetting/accountingAccountSet/chargeItemMap/tableSelector.tsx](/src/pages/baseSetting/accountingAccountSet/chargeItemMap/tableSelector.tsx) | TypeScript JSX | 152 | 6 | 43 | 201 |
+| [src/pages/baseSetting/accountingAccountSet/costIncomeProjectMana/index.tsx](/src/pages/baseSetting/accountingAccountSet/costIncomeProjectMana/index.tsx) | TypeScript JSX | 236 | 12 | 45 | 293 |
+| [src/pages/baseSetting/accountingAccountSet/costIncomeProjectMana/service.ts](/src/pages/baseSetting/accountingAccountSet/costIncomeProjectMana/service.ts) | TypeScript | 38 | 13 | 30 | 81 |
+| [src/pages/baseSetting/accountingAccountSet/costIncomeProjectMana/style.less](/src/pages/baseSetting/accountingAccountSet/costIncomeProjectMana/style.less) | Less | 49 | 0 | 8 | 57 |
+| [src/pages/baseSetting/costAllocationSet/allocationLevelSet/index.tsx](/src/pages/baseSetting/costAllocationSet/allocationLevelSet/index.tsx) | TypeScript JSX | 255 | 11 | 45 | 311 |
+| [src/pages/baseSetting/costAllocationSet/allocationLevelSet/service.ts](/src/pages/baseSetting/costAllocationSet/allocationLevelSet/service.ts) | TypeScript | 35 | 12 | 29 | 76 |
+| [src/pages/baseSetting/costAllocationSet/allocationLevelSet/style.less](/src/pages/baseSetting/costAllocationSet/allocationLevelSet/style.less) | Less | 37 | 0 | 6 | 43 |
+| [src/pages/baseSetting/costAllocationSet/allocationParamsMap/editTableModal.tsx](/src/pages/baseSetting/costAllocationSet/allocationParamsMap/editTableModal.tsx) | TypeScript JSX | 161 | 5 | 34 | 200 |
+| [src/pages/baseSetting/costAllocationSet/allocationParamsMap/index.tsx](/src/pages/baseSetting/costAllocationSet/allocationParamsMap/index.tsx) | TypeScript JSX | 359 | 31 | 57 | 447 |
+| [src/pages/baseSetting/costAllocationSet/allocationParamsMap/service.ts](/src/pages/baseSetting/costAllocationSet/allocationParamsMap/service.ts) | TypeScript | 70 | 19 | 47 | 136 |
+| [src/pages/baseSetting/costAllocationSet/allocationParamsMap/style.less](/src/pages/baseSetting/costAllocationSet/allocationParamsMap/style.less) | Less | 78 | 0 | 13 | 91 |
+| [src/pages/baseSetting/costAllocationSet/allocationParamsMap/tableSelector.tsx](/src/pages/baseSetting/costAllocationSet/allocationParamsMap/tableSelector.tsx) | TypeScript JSX | 134 | 7 | 45 | 186 |
+| [src/pages/baseSetting/costAllocationSet/costAllocationParamsDeal/index.tsx](/src/pages/baseSetting/costAllocationSet/costAllocationParamsDeal/index.tsx) | TypeScript JSX | 379 | 70 | 52 | 501 |
+| [src/pages/baseSetting/costAllocationSet/costAllocationParamsDeal/service.ts](/src/pages/baseSetting/costAllocationSet/costAllocationParamsDeal/service.ts) | TypeScript | 47 | 14 | 32 | 93 |
+| [src/pages/baseSetting/costAllocationSet/costAllocationParamsDeal/style.less](/src/pages/baseSetting/costAllocationSet/costAllocationParamsDeal/style.less) | Less | 56 | 1 | 8 | 65 |
+| [src/pages/baseSetting/costAllocationSet/costAllocationParamsSet/index.tsx](/src/pages/baseSetting/costAllocationSet/costAllocationParamsSet/index.tsx) | TypeScript JSX | 258 | 9 | 46 | 313 |
+| [src/pages/baseSetting/costAllocationSet/costAllocationParamsSet/service.ts](/src/pages/baseSetting/costAllocationSet/costAllocationParamsSet/service.ts) | TypeScript | 44 | 13 | 31 | 88 |
+| [src/pages/baseSetting/costAllocationSet/costAllocationParamsSet/style.less](/src/pages/baseSetting/costAllocationSet/costAllocationParamsSet/style.less) | Less | 37 | 0 | 6 | 43 |
+| [src/pages/baseSetting/costAllocationSet/costAllocationParamsSet/transform.tsx](/src/pages/baseSetting/costAllocationSet/costAllocationParamsSet/transform.tsx) | TypeScript JSX | 227 | 9 | 46 | 282 |
+| [src/pages/baseSetting/costAllocationSet/idleCostSetting/index.tsx](/src/pages/baseSetting/costAllocationSet/idleCostSetting/index.tsx) | TypeScript JSX | 297 | 66 | 54 | 417 |
+| [src/pages/baseSetting/costAllocationSet/idleCostSetting/service.ts](/src/pages/baseSetting/costAllocationSet/idleCostSetting/service.ts) | TypeScript | 57 | 15 | 33 | 105 |
+| [src/pages/baseSetting/costAllocationSet/idleCostSetting/style.less](/src/pages/baseSetting/costAllocationSet/idleCostSetting/style.less) | Less | 37 | 0 | 6 | 43 |
+| [src/pages/baseSetting/costAllocationSet/revenueImputationSet/index.tsx](/src/pages/baseSetting/costAllocationSet/revenueImputationSet/index.tsx) | TypeScript JSX | 316 | 9 | 45 | 370 |
+| [src/pages/baseSetting/costAllocationSet/revenueImputationSet/service.ts](/src/pages/baseSetting/costAllocationSet/revenueImputationSet/service.ts) | TypeScript | 47 | 14 | 32 | 93 |
+| [src/pages/baseSetting/costAllocationSet/revenueImputationSet/style.less](/src/pages/baseSetting/costAllocationSet/revenueImputationSet/style.less) | Less | 31 | 0 | 4 | 35 |
+| [src/pages/baseSetting/costAllocationSet/revenueImputationSet/transform.tsx](/src/pages/baseSetting/costAllocationSet/revenueImputationSet/transform.tsx) | TypeScript JSX | 125 | 4 | 27 | 156 |
+| [src/pages/baseSetting/otherItemSet/departmentCostCalc/index.tsx](/src/pages/baseSetting/otherItemSet/departmentCostCalc/index.tsx) | TypeScript JSX | 474 | 44 | 120 | 638 |
+| [src/pages/baseSetting/otherItemSet/departmentCostCalc/service.ts](/src/pages/baseSetting/otherItemSet/departmentCostCalc/service.ts) | TypeScript | 74 | 18 | 39 | 131 |
+| [src/pages/baseSetting/otherItemSet/departmentCostCalc/style.less](/src/pages/baseSetting/otherItemSet/departmentCostCalc/style.less) | Less | 121 | 0 | 15 | 136 |
+| [src/pages/baseSetting/otherItemSet/departmentCostCalc/transform.tsx](/src/pages/baseSetting/otherItemSet/departmentCostCalc/transform.tsx) | TypeScript JSX | 235 | 15 | 52 | 302 |
+| [src/pages/baseSetting/otherItemSet/diySqlMana/index.tsx](/src/pages/baseSetting/otherItemSet/diySqlMana/index.tsx) | TypeScript JSX | 317 | 47 | 67 | 431 |
+| [src/pages/baseSetting/otherItemSet/diySqlMana/service.ts](/src/pages/baseSetting/otherItemSet/diySqlMana/service.ts) | TypeScript | 64 | 13 | 33 | 110 |
+| [src/pages/baseSetting/otherItemSet/diySqlMana/style.less](/src/pages/baseSetting/otherItemSet/diySqlMana/style.less) | Less | 81 | 1 | 14 | 96 |
+| [src/pages/baseSetting/otherItemSet/reportItemSet/index.tsx](/src/pages/baseSetting/otherItemSet/reportItemSet/index.tsx) | TypeScript JSX | 531 | 18 | 61 | 610 |
+| [src/pages/baseSetting/otherItemSet/reportItemSet/service.ts](/src/pages/baseSetting/otherItemSet/reportItemSet/service.ts) | TypeScript | 56 | 15 | 33 | 104 |
+| [src/pages/baseSetting/otherItemSet/reportItemSet/style.less](/src/pages/baseSetting/otherItemSet/reportItemSet/style.less) | Less | 44 | 0 | 7 | 51 |
+| [src/pages/baseSetting/otherItemSet/reportItemSet/transform.tsx](/src/pages/baseSetting/otherItemSet/reportItemSet/transform.tsx) | TypeScript JSX | 234 | 17 | 52 | 303 |
+| [src/pages/baseSetting/otherItemSet/reportProjectSetting/index.tsx](/src/pages/baseSetting/otherItemSet/reportProjectSetting/index.tsx) | TypeScript JSX | 277 | 10 | 30 | 317 |
+| [src/pages/baseSetting/otherItemSet/reportProjectSetting/service.js](/src/pages/baseSetting/otherItemSet/reportProjectSetting/service.js) | JavaScript | 30 | 13 | 27 | 70 |
+| [src/pages/baseSetting/otherItemSet/reportProjectSetting/style.less](/src/pages/baseSetting/otherItemSet/reportProjectSetting/style.less) | Less | 77 | 0 | 16 | 93 |
+| [src/pages/baseSetting/otherItemSet/visitsAndBedDayCostSetting/index.tsx](/src/pages/baseSetting/otherItemSet/visitsAndBedDayCostSetting/index.tsx) | TypeScript JSX | 244 | 13 | 45 | 302 |
+| [src/pages/baseSetting/otherItemSet/visitsAndBedDayCostSetting/service.ts](/src/pages/baseSetting/otherItemSet/visitsAndBedDayCostSetting/service.ts) | TypeScript | 36 | 12 | 29 | 77 |
+| [src/pages/baseSetting/otherItemSet/visitsAndBedDayCostSetting/style.less](/src/pages/baseSetting/otherItemSet/visitsAndBedDayCostSetting/style.less) | Less | 37 | 0 | 6 | 43 |
+| [src/pages/baseSetting/otherItemSet/wholeHospCostAndIncomeSet/index.tsx](/src/pages/baseSetting/otherItemSet/wholeHospCostAndIncomeSet/index.tsx) | TypeScript JSX | 166 | 9 | 34 | 209 |
+| [src/pages/baseSetting/otherItemSet/wholeHospCostAndIncomeSet/service.ts](/src/pages/baseSetting/otherItemSet/wholeHospCostAndIncomeSet/service.ts) | TypeScript | 33 | 12 | 29 | 74 |
+| [src/pages/baseSetting/otherItemSet/wholeHospCostAndIncomeSet/style.less](/src/pages/baseSetting/otherItemSet/wholeHospCostAndIncomeSet/style.less) | Less | 30 | 0 | 4 | 34 |
+| [src/pages/baseSetting/responsibilityCenterSet/responsibilityCenter/index.tsx](/src/pages/baseSetting/responsibilityCenterSet/responsibilityCenter/index.tsx) | TypeScript JSX | 463 | 12 | 64 | 539 |
+| [src/pages/baseSetting/responsibilityCenterSet/responsibilityCenter/service.ts](/src/pages/baseSetting/responsibilityCenterSet/responsibilityCenter/service.ts) | TypeScript | 48 | 15 | 35 | 98 |
+| [src/pages/baseSetting/responsibilityCenterSet/responsibilityCenter/style.less](/src/pages/baseSetting/responsibilityCenterSet/responsibilityCenter/style.less) | Less | 49 | 0 | 8 | 57 |
+| [src/pages/baseSetting/responsibilityCenterSet/responsibilityCenterConnect/index.tsx](/src/pages/baseSetting/responsibilityCenterSet/responsibilityCenterConnect/index.tsx) | TypeScript JSX | 187 | 8 | 41 | 236 |
+| [src/pages/baseSetting/responsibilityCenterSet/responsibilityCenterConnect/service.ts](/src/pages/baseSetting/responsibilityCenterSet/responsibilityCenterConnect/service.ts) | TypeScript | 19 | 11 | 9 | 39 |
+| [src/pages/baseSetting/responsibilityCenterSet/responsibilityCenterConnect/style.less](/src/pages/baseSetting/responsibilityCenterSet/responsibilityCenterConnect/style.less) | Less | 49 | 0 | 8 | 57 |
+| [src/pages/baseSetting/responsibilityCenterSet/responsibilityCenterConnect/transform.tsx](/src/pages/baseSetting/responsibilityCenterSet/responsibilityCenterConnect/transform.tsx) | TypeScript JSX | 121 | 3 | 21 | 145 |
+| [src/pages/costAccounting/calcPageTemplate/columns.tsx](/src/pages/costAccounting/calcPageTemplate/columns.tsx) | TypeScript JSX | 944 | 48 | 38 | 1,030 |
+| [src/pages/costAccounting/calcPageTemplate/config.ts](/src/pages/costAccounting/calcPageTemplate/config.ts) | TypeScript | 375 | 8 | 26 | 409 |
+| [src/pages/costAccounting/calcPageTemplate/index.tsx](/src/pages/costAccounting/calcPageTemplate/index.tsx) | TypeScript JSX | 687 | 16 | 94 | 797 |
+| [src/pages/costAccounting/calcPageTemplate/service.ts](/src/pages/costAccounting/calcPageTemplate/service.ts) | TypeScript | 340 | 22 | 40 | 402 |
+| [src/pages/costAccounting/calcPageTemplate/style.less](/src/pages/costAccounting/calcPageTemplate/style.less) | Less | 39 | 0 | 10 | 49 |
+| [src/pages/costLibraryManagement/basicCostManagement/drugCostManagement/index.tsx](/src/pages/costLibraryManagement/basicCostManagement/drugCostManagement/index.tsx) | TypeScript JSX | 303 | 17 | 48 | 368 |
+| [src/pages/costLibraryManagement/basicCostManagement/drugCostManagement/service.ts](/src/pages/costLibraryManagement/basicCostManagement/drugCostManagement/service.ts) | TypeScript | 65 | 14 | 32 | 111 |
+| [src/pages/costLibraryManagement/basicCostManagement/drugCostManagement/style.less](/src/pages/costLibraryManagement/basicCostManagement/drugCostManagement/style.less) | Less | 49 | 0 | 7 | 56 |
+| [src/pages/costLibraryManagement/basicCostManagement/equipmentCostManagement/index.tsx](/src/pages/costLibraryManagement/basicCostManagement/equipmentCostManagement/index.tsx) | TypeScript JSX | 299 | 17 | 48 | 364 |
+| [src/pages/costLibraryManagement/basicCostManagement/equipmentCostManagement/service.ts](/src/pages/costLibraryManagement/basicCostManagement/equipmentCostManagement/service.ts) | TypeScript | 60 | 13 | 30 | 103 |
+| [src/pages/costLibraryManagement/basicCostManagement/equipmentCostManagement/style.less](/src/pages/costLibraryManagement/basicCostManagement/equipmentCostManagement/style.less) | Less | 49 | 0 | 7 | 56 |
+| [src/pages/costLibraryManagement/basicCostManagement/materialCostManagement/index.tsx](/src/pages/costLibraryManagement/basicCostManagement/materialCostManagement/index.tsx) | TypeScript JSX | 331 | 21 | 50 | 402 |
+| [src/pages/costLibraryManagement/basicCostManagement/materialCostManagement/service.ts](/src/pages/costLibraryManagement/basicCostManagement/materialCostManagement/service.ts) | TypeScript | 60 | 13 | 30 | 103 |
+| [src/pages/costLibraryManagement/basicCostManagement/materialCostManagement/style.less](/src/pages/costLibraryManagement/basicCostManagement/materialCostManagement/style.less) | Less | 49 | 0 | 7 | 56 |
+| [src/pages/costLibraryManagement/basicCostManagement/personnelClassificationMana/index.tsx](/src/pages/costLibraryManagement/basicCostManagement/personnelClassificationMana/index.tsx) | TypeScript JSX | 481 | 22 | 88 | 591 |
+| [src/pages/costLibraryManagement/basicCostManagement/personnelClassificationMana/service.ts](/src/pages/costLibraryManagement/basicCostManagement/personnelClassificationMana/service.ts) | TypeScript | 85 | 22 | 42 | 149 |
+| [src/pages/costLibraryManagement/basicCostManagement/personnelClassificationMana/style.less](/src/pages/costLibraryManagement/basicCostManagement/personnelClassificationMana/style.less) | Less | 223 | 0 | 31 | 254 |
+| [src/pages/costLibraryManagement/basicCostManagement/personnelClassificationMana/tableSelector.tsx](/src/pages/costLibraryManagement/basicCostManagement/personnelClassificationMana/tableSelector.tsx) | TypeScript JSX | 134 | 6 | 43 | 183 |
+| [src/pages/costLibraryManagement/basicCostManagement/spaceCostManagement/index.tsx](/src/pages/costLibraryManagement/basicCostManagement/spaceCostManagement/index.tsx) | TypeScript JSX | 328 | 17 | 47 | 392 |
+| [src/pages/costLibraryManagement/basicCostManagement/spaceCostManagement/service.ts](/src/pages/costLibraryManagement/basicCostManagement/spaceCostManagement/service.ts) | TypeScript | 54 | 13 | 30 | 97 |
+| [src/pages/costLibraryManagement/basicCostManagement/spaceCostManagement/style.less](/src/pages/costLibraryManagement/basicCostManagement/spaceCostManagement/style.less) | Less | 49 | 0 | 7 | 56 |
+| [src/pages/costLibraryManagement/diseaseCostManagement/diseaseDiagnosisComparison/index.tsx](/src/pages/costLibraryManagement/diseaseCostManagement/diseaseDiagnosisComparison/index.tsx) | TypeScript JSX | 287 | 9 | 46 | 342 |
+| [src/pages/costLibraryManagement/diseaseCostManagement/diseaseDiagnosisComparison/service.ts](/src/pages/costLibraryManagement/diseaseCostManagement/diseaseDiagnosisComparison/service.ts) | TypeScript | 56 | 14 | 31 | 101 |
+| [src/pages/costLibraryManagement/diseaseCostManagement/diseaseDiagnosisComparison/style.less](/src/pages/costLibraryManagement/diseaseCostManagement/diseaseDiagnosisComparison/style.less) | Less | 49 | 0 | 8 | 57 |
+| [src/pages/costLibraryManagement/diseaseCostManagement/diseaseMana/index.tsx](/src/pages/costLibraryManagement/diseaseCostManagement/diseaseMana/index.tsx) | TypeScript JSX | 225 | 16 | 45 | 286 |
+| [src/pages/costLibraryManagement/diseaseCostManagement/diseaseMana/service.ts](/src/pages/costLibraryManagement/diseaseCostManagement/diseaseMana/service.ts) | TypeScript | 56 | 13 | 30 | 99 |
+| [src/pages/costLibraryManagement/diseaseCostManagement/diseaseMana/style.less](/src/pages/costLibraryManagement/diseaseCostManagement/diseaseMana/style.less) | Less | 49 | 0 | 8 | 57 |
+| [src/pages/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana/index.tsx](/src/pages/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana/index.tsx) | TypeScript JSX | 495 | 11 | 81 | 587 |
+| [src/pages/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana/service.ts](/src/pages/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana/service.ts) | TypeScript | 83 | 20 | 40 | 143 |
+| [src/pages/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana/style.less](/src/pages/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana/style.less) | Less | 209 | 0 | 30 | 239 |
+| [src/pages/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana/tableSelector.tsx](/src/pages/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana/tableSelector.tsx) | TypeScript JSX | 152 | 6 | 43 | 201 |
+| [src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/components/match.tsx](/src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/components/match.tsx) | TypeScript JSX | 455 | 14 | 56 | 525 |
+| [src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/components/setting.tsx](/src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/components/setting.tsx) | TypeScript JSX | 535 | 15 | 56 | 606 |
+| [src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/components/style.less](/src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/components/style.less) | Less | 449 | 7 | 66 | 522 |
+| [src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/components/tableSelector.tsx](/src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/components/tableSelector.tsx) | TypeScript JSX | 145 | 7 | 44 | 196 |
+| [src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/index.tsx](/src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/index.tsx) | TypeScript JSX | 491 | 28 | 62 | 581 |
+| [src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/service.ts](/src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/service.ts) | TypeScript | 198 | 41 | 62 | 301 |
+| [src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/style.less](/src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/style.less) | Less | 153 | 0 | 25 | 178 |
+| [src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet/editTableModal.tsx](/src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet/editTableModal.tsx) | TypeScript JSX | 139 | 5 | 32 | 176 |
+| [src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet/index.tsx](/src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet/index.tsx) | TypeScript JSX | 367 | 11 | 50 | 428 |
+| [src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet/service.ts](/src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet/service.ts) | TypeScript | 75 | 20 | 51 | 146 |
+| [src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet/style.less](/src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet/style.less) | Less | 78 | 0 | 13 | 91 |
+| [src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet/tableSelector.tsx](/src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet/tableSelector.tsx) | TypeScript JSX | 134 | 7 | 45 | 186 |
+| [src/pages/costLibraryManagement/projectCostManagement/projectShareParamsSet/index.tsx](/src/pages/costLibraryManagement/projectCostManagement/projectShareParamsSet/index.tsx) | TypeScript JSX | 250 | 11 | 47 | 308 |
+| [src/pages/costLibraryManagement/projectCostManagement/projectShareParamsSet/service.ts](/src/pages/costLibraryManagement/projectCostManagement/projectShareParamsSet/service.ts) | TypeScript | 51 | 14 | 31 | 96 |
+| [src/pages/costLibraryManagement/projectCostManagement/projectShareParamsSet/style.less](/src/pages/costLibraryManagement/projectCostManagement/projectShareParamsSet/style.less) | Less | 49 | 0 | 7 | 56 |
+| [src/pages/costLibraryManagement/projectCostManagement/standardProjectMana/drawer.tsx](/src/pages/costLibraryManagement/projectCostManagement/standardProjectMana/drawer.tsx) | TypeScript JSX | 388 | 12 | 49 | 449 |
+| [src/pages/costLibraryManagement/projectCostManagement/standardProjectMana/index.tsx](/src/pages/costLibraryManagement/projectCostManagement/standardProjectMana/index.tsx) | TypeScript JSX | 364 | 16 | 49 | 429 |
+| [src/pages/costLibraryManagement/projectCostManagement/standardProjectMana/service.ts](/src/pages/costLibraryManagement/projectCostManagement/standardProjectMana/service.ts) | TypeScript | 113 | 21 | 49 | 183 |
+| [src/pages/costLibraryManagement/projectCostManagement/standardProjectMana/style.less](/src/pages/costLibraryManagement/projectCostManagement/standardProjectMana/style.less) | Less | 212 | 1 | 25 | 238 |
+| [src/pages/costLibraryManagement/reportMana/reportColumnMana/UpDateActBtn.tsx](/src/pages/costLibraryManagement/reportMana/reportColumnMana/UpDateActBtn.tsx) | TypeScript JSX | 329 | 9 | 45 | 383 |
+| [src/pages/costLibraryManagement/reportMana/reportColumnMana/index.tsx](/src/pages/costLibraryManagement/reportMana/reportColumnMana/index.tsx) | TypeScript JSX | 227 | 13 | 49 | 289 |
+| [src/pages/costLibraryManagement/reportMana/reportColumnMana/service.ts](/src/pages/costLibraryManagement/reportMana/reportColumnMana/service.ts) | TypeScript | 100 | 16 | 38 | 154 |
+| [src/pages/costLibraryManagement/reportMana/reportColumnMana/style.less](/src/pages/costLibraryManagement/reportMana/reportColumnMana/style.less) | Less | 64 | 3 | 13 | 80 |
+| [src/pages/costLibraryManagement/reportMana/reportColumnMana/transform.tsx](/src/pages/costLibraryManagement/reportMana/reportColumnMana/transform.tsx) | TypeScript JSX | 110 | 4 | 19 | 133 |
+| [src/pages/costLibraryManagement/reportMana/reportListMana/index.tsx](/src/pages/costLibraryManagement/reportMana/reportListMana/index.tsx) | TypeScript JSX | 460 | 19 | 99 | 578 |
+| [src/pages/costLibraryManagement/reportMana/reportListMana/service.ts](/src/pages/costLibraryManagement/reportMana/reportListMana/service.ts) | TypeScript | 64 | 18 | 36 | 118 |
+| [src/pages/costLibraryManagement/reportMana/reportListMana/style.less](/src/pages/costLibraryManagement/reportMana/reportListMana/style.less) | Less | 223 | 0 | 33 | 256 |
+| [src/pages/costLibraryManagement/reportMana/reportListMana/tableSelector.tsx](/src/pages/costLibraryManagement/reportMana/reportListMana/tableSelector.tsx) | TypeScript JSX | 154 | 6 | 43 | 203 |
+| [src/pages/costLibraryManagement/reportMana/reportNavSet/index.tsx](/src/pages/costLibraryManagement/reportMana/reportNavSet/index.tsx) | TypeScript JSX | 298 | 12 | 50 | 360 |
+| [src/pages/costLibraryManagement/reportMana/reportNavSet/service.ts](/src/pages/costLibraryManagement/reportMana/reportNavSet/service.ts) | TypeScript | 57 | 12 | 31 | 100 |
+| [src/pages/costLibraryManagement/reportMana/reportNavSet/style.less](/src/pages/costLibraryManagement/reportMana/reportNavSet/style.less) | Less | 37 | 0 | 7 | 44 |
+| [src/pages/incomeCollectionAction/index.tsx](/src/pages/incomeCollectionAction/index.tsx) | TypeScript JSX | 305 | 11 | 38 | 354 |
+| [src/pages/incomeCollectionAction/service.ts](/src/pages/incomeCollectionAction/service.ts) | TypeScript | 13 | 2 | 9 | 24 |
+| [src/pages/incomeCollectionAction/style.less](/src/pages/incomeCollectionAction/style.less) | Less | 183 | 0 | 31 | 214 |
+| [src/pages/monthlyInfoCollection/components/leftAndRighrStructure.tsx](/src/pages/monthlyInfoCollection/components/leftAndRighrStructure.tsx) | TypeScript JSX | 346 | 14 | 58 | 418 |
+| [src/pages/monthlyInfoCollection/components/style.less](/src/pages/monthlyInfoCollection/components/style.less) | Less | 153 | 0 | 27 | 180 |
+| [src/pages/monthlyInfoCollection/index.tsx](/src/pages/monthlyInfoCollection/index.tsx) | TypeScript JSX | 176 | 13 | 22 | 211 |
+| [src/pages/monthlyInfoCollection/service.ts](/src/pages/monthlyInfoCollection/service.ts) | TypeScript | 66 | 19 | 33 | 118 |
+| [src/pages/monthlyInfoCollection/style.less](/src/pages/monthlyInfoCollection/style.less) | Less | 49 | 0 | 4 | 53 |
+| [src/pages/monthlyInfoCollection/tableSelector.tsx](/src/pages/monthlyInfoCollection/tableSelector.tsx) | TypeScript JSX | 153 | 2 | 38 | 193 |
+| [src/pages/monthlyInfoSearch/empCostDataImport/index.tsx](/src/pages/monthlyInfoSearch/empCostDataImport/index.tsx) | TypeScript JSX | 200 | 36 | 25 | 261 |
+| [src/pages/monthlyInfoSearch/empCostDataImport/service.js](/src/pages/monthlyInfoSearch/empCostDataImport/service.js) | JavaScript | 39 | 13 | 27 | 79 |
+| [src/pages/monthlyInfoSearch/empCostDataImport/style.less](/src/pages/monthlyInfoSearch/empCostDataImport/style.less) | Less | 84 | 0 | 17 | 101 |
+| [src/pages/monthlyInfoSearch/incomeCostDataImport/index.tsx](/src/pages/monthlyInfoSearch/incomeCostDataImport/index.tsx) | TypeScript JSX | 391 | 56 | 55 | 502 |
+| [src/pages/monthlyInfoSearch/incomeCostDataImport/service.js](/src/pages/monthlyInfoSearch/incomeCostDataImport/service.js) | JavaScript | 62 | 16 | 29 | 107 |
+| [src/pages/monthlyInfoSearch/incomeCostDataImport/style.less](/src/pages/monthlyInfoSearch/incomeCostDataImport/style.less) | Less | 74 | 0 | 16 | 90 |
+| [src/pages/monthlyInfoSearch/incomeCostDataImport/test.html](/src/pages/monthlyInfoSearch/incomeCostDataImport/test.html) | HTML | 20 | 0 | 1 | 21 |
+| [src/pages/monthlyInfoSearch/patientChargeItemsImport/index.tsx](/src/pages/monthlyInfoSearch/patientChargeItemsImport/index.tsx) | TypeScript JSX | 284 | 64 | 32 | 380 |
+| [src/pages/monthlyInfoSearch/patientChargeItemsImport/service.js](/src/pages/monthlyInfoSearch/patientChargeItemsImport/service.js) | JavaScript | 45 | 14 | 28 | 87 |
+| [src/pages/monthlyInfoSearch/patientChargeItemsImport/style.less](/src/pages/monthlyInfoSearch/patientChargeItemsImport/style.less) | Less | 91 | 1 | 17 | 109 |
+| [src/pages/monthlyInfoSearch/patientInfoImport/index.tsx](/src/pages/monthlyInfoSearch/patientInfoImport/index.tsx) | TypeScript JSX | 312 | 54 | 31 | 397 |
+| [src/pages/monthlyInfoSearch/patientInfoImport/service.js](/src/pages/monthlyInfoSearch/patientInfoImport/service.js) | JavaScript | 39 | 13 | 27 | 79 |
+| [src/pages/monthlyInfoSearch/patientInfoImport/style.less](/src/pages/monthlyInfoSearch/patientInfoImport/style.less) | Less | 84 | 1 | 16 | 101 |
+| [src/pages/monthlyInfoSearch/wholeHospIncomeAndCost/index.tsx](/src/pages/monthlyInfoSearch/wholeHospIncomeAndCost/index.tsx) | TypeScript JSX | 260 | 29 | 41 | 330 |
+| [src/pages/monthlyInfoSearch/wholeHospIncomeAndCost/service.ts](/src/pages/monthlyInfoSearch/wholeHospIncomeAndCost/service.ts) | TypeScript | 43 | 12 | 29 | 84 |
+| [src/pages/monthlyInfoSearch/wholeHospIncomeAndCost/style.less](/src/pages/monthlyInfoSearch/wholeHospIncomeAndCost/style.less) | Less | 162 | 0 | 27 | 189 |
+| [src/pages/noAccess/index.tsx](/src/pages/noAccess/index.tsx) | TypeScript JSX | 18 | 9 | 4 | 31 |
+| [src/pages/noAccess/style.less](/src/pages/noAccess/style.less) | Less | 45 | 0 | 4 | 49 |
+| [src/pages/reportExport/report/ExportProgressModal.tsx](/src/pages/reportExport/report/ExportProgressModal.tsx) | TypeScript JSX | 42 | 8 | 11 | 61 |
+| [src/pages/reportExport/report/index.tsx](/src/pages/reportExport/report/index.tsx) | TypeScript JSX | 336 | 52 | 120 | 508 |
+| [src/pages/reportExport/report/service.ts](/src/pages/reportExport/report/service.ts) | TypeScript | 21 | 9 | 19 | 49 |
+| [src/pages/reportExport/report/style.less](/src/pages/reportExport/report/style.less) | Less | 80 | 0 | 9 | 89 |
+| [src/pages/setting/fenyeTemplate/index.tsx](/src/pages/setting/fenyeTemplate/index.tsx) | TypeScript JSX | 304 | 13 | 47 | 364 |
+| [src/pages/setting/fenyeTemplate/service.ts](/src/pages/setting/fenyeTemplate/service.ts) | TypeScript | 47 | 12 | 23 | 82 |
+| [src/pages/setting/fenyeTemplate/style.less](/src/pages/setting/fenyeTemplate/style.less) | Less | 37 | 0 | 7 | 44 |
+| [src/pages/setting/qualitativeOptionsMana/index.tsx](/src/pages/setting/qualitativeOptionsMana/index.tsx) | TypeScript JSX | 286 | 9 | 46 | 341 |
+| [src/pages/setting/qualitativeOptionsMana/service.ts](/src/pages/setting/qualitativeOptionsMana/service.ts) | TypeScript | 62 | 14 | 24 | 100 |
+| [src/pages/setting/qualitativeOptionsMana/style.less](/src/pages/setting/qualitativeOptionsMana/style.less) | Less | 37 | 0 | 7 | 44 |
+| [src/pages/specialDataImport/index.tsx](/src/pages/specialDataImport/index.tsx) | TypeScript JSX | 204 | 9 | 37 | 250 |
+| [src/pages/specialDataImport/service.ts](/src/pages/specialDataImport/service.ts) | TypeScript | 33 | 12 | 26 | 71 |
+| [src/pages/specialDataImport/style.less](/src/pages/specialDataImport/style.less) | Less | 50 | 0 | 7 | 57 |
+| [src/pages/static/index.tsx](/src/pages/static/index.tsx) | TypeScript JSX | 54 | 10 | 21 | 85 |
+| [src/pages/static/service.js](/src/pages/static/service.js) | JavaScript | 45 | 14 | 28 | 87 |
+| [src/pages/static/style.less](/src/pages/static/style.less) | Less | 81 | 0 | 16 | 97 |
+| [src/services/auth.ts](/src/services/auth.ts) | TypeScript | 26 | 12 | 11 | 49 |
+| [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 | 38 | 12 | 26 | 76 |
+| [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 | 221 | 10 | 51 | 282 |
+| [src/utils/tooljs.ts](/src/utils/tooljs.ts) | TypeScript | 220 | 39 | 97 | 356 |
+| [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 | 8 | 8 | 2 | 18 |
+| [yarn-error.log](/yarn-error.log) | Log | 8,469 | 0 | 1,293 | 9,762 |
+
+[Summary](results.md) / Details / [Diff Summary](diff.md) / [Diff Details](diff-details.md)

+ 15 - 0
.VSCodeCounter/2024-08-30_09-54-22/diff-details.md

@@ -0,0 +1,15 @@
+# Diff Details
+
+Date : 2024-08-30 09:54:22
+
+Directory /Users/dema/work/CostAccountingSys
+
+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-54-22/diff.csv

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

+ 19 - 0
.VSCodeCounter/2024-08-30_09-54-22/diff.md

@@ -0,0 +1,19 @@
+# Diff Summary
+
+Date : 2024-08-30 09:54:22
+
+Directory /Users/dema/work/CostAccountingSys
+
+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-54-22/diff.txt

@@ -0,0 +1,22 @@
+Date : 2024-08-30 09:54:22
+Directory : /Users/dema/work/CostAccountingSys
+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 |
++----------+----------+------------+------------+------------+------------+

+ 246 - 0
.VSCodeCounter/2024-08-30_09-54-22/results.csv

@@ -0,0 +1,246 @@
+"filename", "language", "TypeScript", "TypeScript JSX", "Less", "JavaScript", "HTML", "JSON with Comments", "JSON", "Markdown", "Ignore", "Log", "comment", "blank", "total"
+"/Users/dema/work/CostAccountingSys/.eslintrc.js", "JavaScript", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 4
+"/Users/dema/work/CostAccountingSys/.prettierignore", "Ignore", 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1, 4
+"/Users/dema/work/CostAccountingSys/.prettierrc", "JSON", 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 1, 9
+"/Users/dema/work/CostAccountingSys/.stylelintrc.js", "JavaScript", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 4
+"/Users/dema/work/CostAccountingSys/.umirc.ts", "TypeScript", 379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 15, 408
+"/Users/dema/work/CostAccountingSys/README.md", "Markdown", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 4
+"/Users/dema/work/CostAccountingSys/config/proxy.ts", "TypeScript", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 4, 12
+"/Users/dema/work/CostAccountingSys/mock/home.ts", "TypeScript", 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 5, 60
+"/Users/dema/work/CostAccountingSys/mock/monthlyData.ts", "TypeScript", 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 78, 242
+"/Users/dema/work/CostAccountingSys/mock/monthlyInfo.ts", "TypeScript", 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 50, 205
+"/Users/dema/work/CostAccountingSys/mock/monthlySet.ts", "TypeScript", 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 3, 54
+"/Users/dema/work/CostAccountingSys/mock/userAPI.ts", "TypeScript", 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 21
+"/Users/dema/work/CostAccountingSys/package.json", "JSON", 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 1, 48
+"/Users/dema/work/CostAccountingSys/src/access.ts", "TypeScript", 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 22, 79
+"/Users/dema/work/CostAccountingSys/src/app.tsx", "TypeScript JSX", 0, 395, 0, 0, 0, 0, 0, 0, 0, 0, 71, 117, 583
+"/Users/dema/work/CostAccountingSys/src/authWrapper.tsx", "TypeScript JSX", 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 12, 7, 65
+"/Users/dema/work/CostAccountingSys/src/components/Guide/Guide.less", "Less", 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5
+"/Users/dema/work/CostAccountingSys/src/components/Guide/Guide.tsx", "TypeScript JSX", 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 24
+"/Users/dema/work/CostAccountingSys/src/components/Guide/index.ts", "TypeScript", 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3
+"/Users/dema/work/CostAccountingSys/src/components/KCIMDrawerForm/index.tsx", "TypeScript JSX", 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 9, 8, 23
+"/Users/dema/work/CostAccountingSys/src/components/KCIMDrawerForm/style.less", "Less", 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 3, 20
+"/Users/dema/work/CostAccountingSys/src/components/KCIMLeftList/index.tsx", "TypeScript JSX", 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, 61, 51, 281
+"/Users/dema/work/CostAccountingSys/src/components/KCIMLeftList/style.less", "Less", 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 8, 20, 138
+"/Users/dema/work/CostAccountingSys/src/components/KCIMModalForm/index.tsx", "TypeScript JSX", 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 8, 11, 42
+"/Users/dema/work/CostAccountingSys/src/components/KCIMPageContainer/index.tsx", "TypeScript JSX", 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 8, 18, 101
+"/Users/dema/work/CostAccountingSys/src/components/KCIMPageContainer/style.less", "Less", 0, 0, 119, 0, 0, 0, 0, 0, 0, 0, 0, 19, 138
+"/Users/dema/work/CostAccountingSys/src/components/KCIMTable/index.tsx", "TypeScript JSX", 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 11, 15, 66
+"/Users/dema/work/CostAccountingSys/src/components/KCIMTable/style.less", "Less", 0, 0, 179, 0, 0, 0, 0, 0, 0, 0, 8, 50, 237
+"/Users/dema/work/CostAccountingSys/src/components/KCIMTableSelector/index.tsx", "TypeScript JSX", 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 10, 40, 194
+"/Users/dema/work/CostAccountingSys/src/components/KCIMTableSelector/style.less", "Less", 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 4, 33
+"/Users/dema/work/CostAccountingSys/src/components/KCIMUpload/index.tsx", "TypeScript JSX", 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 9, 14, 79
+"/Users/dema/work/CostAccountingSys/src/components/KCIMUpload/style.less", "Less", 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 5, 31
+"/Users/dema/work/CostAccountingSys/src/components/ProgressModal/index.tsx", "TypeScript JSX", 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 8, 11, 93
+"/Users/dema/work/CostAccountingSys/src/components/ProgressModal/service.ts", "TypeScript", 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, 34
+"/Users/dema/work/CostAccountingSys/src/components/ResizableContainer/index.tsx", "TypeScript JSX", 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 8, 10, 72
+"/Users/dema/work/CostAccountingSys/src/components/ResizableContainer/style.less", "Less", 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 7, 25
+"/Users/dema/work/CostAccountingSys/src/components/SQLEditor/index.tsx", "TypeScript JSX", 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, 10, 15, 133
+"/Users/dema/work/CostAccountingSys/src/components/SQLEditor/style.less", "Less", 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 8, 2, 55
+"/Users/dema/work/CostAccountingSys/src/constant.ts", "TypeScript", 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 2, 20
+"/Users/dema/work/CostAccountingSys/src/constants/index.ts", "TypeScript", 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2
+"/Users/dema/work/CostAccountingSys/src/global.less", "Less", 0, 0, 603, 0, 0, 0, 0, 0, 0, 0, 51, 161, 815
+"/Users/dema/work/CostAccountingSys/src/menuIcons.js", "JavaScript", 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 24, 6, 63
+"/Users/dema/work/CostAccountingSys/src/models/global.ts", "TypeScript", 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 14
+"/Users/dema/work/CostAccountingSys/src/pages/404.tsx", "TypeScript JSX", 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 8, 3, 26
+"/Users/dema/work/CostAccountingSys/src/pages/Home/index.tsx", "TypeScript JSX", 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 9, 7, 33
+"/Users/dema/work/CostAccountingSys/src/pages/Home/service.ts", "TypeScript", 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 22, 61
+"/Users/dema/work/CostAccountingSys/src/pages/Home/style.less", "Less", 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 8, 9, 94
+"/Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/checkGroupMana/index.tsx", "TypeScript JSX", 0, 207, 0, 0, 0, 0, 0, 0, 0, 0, 13, 42, 262
+"/Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/checkGroupMana/service.ts", "TypeScript", 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 24, 97
+"/Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/checkGroupMana/style.less", "Less", 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 7, 44
+"/Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/checkGroupMana/tableSelector.tsx", "TypeScript JSX", 0, 85, 0, 0, 0, 0, 0, 0, 0, 0, 6, 29, 120
+"/Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/empMana/index.tsx", "TypeScript JSX", 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 15, 48, 320
+"/Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/empMana/service.ts", "TypeScript", 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 24, 107
+"/Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/empMana/style.less", "Less", 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 15, 81
+"/Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/empMana/tableSelector.tsx", "TypeScript JSX", 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 5, 42, 250
+"/Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/empMana/transform.tsx", "TypeScript JSX", 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 135
+"/Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/unitMana/index.tsx", "TypeScript JSX", 0, 207, 0, 0, 0, 0, 0, 0, 0, 0, 13, 51, 271
+"/Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/unitMana/service.ts", "TypeScript", 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 21, 63
+"/Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/unitMana/style.less", "Less", 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 13, 79
+"/Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/unitMana/tableSelector.tsx", "TypeScript JSX", 0, 152, 0, 0, 0, 0, 0, 0, 0, 0, 6, 40, 198
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/accountingSubMana/index.tsx", "TypeScript JSX", 0, 402, 0, 0, 0, 0, 0, 0, 0, 0, 9, 53, 464
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/accountingSubMana/service.ts", "TypeScript", 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 31, 83
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/accountingSubMana/style.less", "Less", 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 4, 6, 43
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/accountingSubMap/index.tsx", "TypeScript JSX", 0, 239, 0, 0, 0, 0, 0, 0, 0, 0, 14, 41, 294
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/accountingSubMap/service.ts", "TypeScript", 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 25, 55
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/accountingSubMap/style.less", "Less", 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 6, 43
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/chargeItemMap/index.tsx", "TypeScript JSX", 0, 359, 0, 0, 0, 0, 0, 0, 0, 0, 14, 79, 452
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/chargeItemMap/service.ts", "TypeScript", 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 24, 77
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/chargeItemMap/style.less", "Less", 0, 0, 224, 0, 0, 0, 0, 0, 0, 0, 1, 35, 260
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/chargeItemMap/tableSelector.tsx", "TypeScript JSX", 0, 152, 0, 0, 0, 0, 0, 0, 0, 0, 6, 43, 201
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/costIncomeProjectMana/index.tsx", "TypeScript JSX", 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 12, 45, 293
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/costIncomeProjectMana/service.ts", "TypeScript", 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 30, 81
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/costIncomeProjectMana/style.less", "Less", 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 8, 57
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/allocationLevelSet/index.tsx", "TypeScript JSX", 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 11, 45, 311
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/allocationLevelSet/service.ts", "TypeScript", 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 29, 76
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/allocationLevelSet/style.less", "Less", 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 6, 43
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/allocationParamsMap/editTableModal.tsx", "TypeScript JSX", 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, 5, 34, 200
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/allocationParamsMap/index.tsx", "TypeScript JSX", 0, 359, 0, 0, 0, 0, 0, 0, 0, 0, 31, 57, 447
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/allocationParamsMap/service.ts", "TypeScript", 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 47, 136
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/allocationParamsMap/style.less", "Less", 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 13, 91
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/allocationParamsMap/tableSelector.tsx", "TypeScript JSX", 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 7, 45, 186
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/costAllocationParamsDeal/index.tsx", "TypeScript JSX", 0, 379, 0, 0, 0, 0, 0, 0, 0, 0, 70, 52, 501
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/costAllocationParamsDeal/service.ts", "TypeScript", 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 32, 93
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/costAllocationParamsDeal/style.less", "Less", 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 1, 8, 65
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/costAllocationParamsSet/index.tsx", "TypeScript JSX", 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 9, 46, 313
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/costAllocationParamsSet/service.ts", "TypeScript", 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 31, 88
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/costAllocationParamsSet/style.less", "Less", 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 6, 43
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/costAllocationParamsSet/transform.tsx", "TypeScript JSX", 0, 227, 0, 0, 0, 0, 0, 0, 0, 0, 9, 46, 282
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/idleCostSetting/index.tsx", "TypeScript JSX", 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 66, 54, 417
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/idleCostSetting/service.ts", "TypeScript", 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 33, 105
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/idleCostSetting/style.less", "Less", 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 6, 43
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/revenueImputationSet/index.tsx", "TypeScript JSX", 0, 316, 0, 0, 0, 0, 0, 0, 0, 0, 9, 45, 370
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/revenueImputationSet/service.ts", "TypeScript", 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 32, 93
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/revenueImputationSet/style.less", "Less", 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 4, 35
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/revenueImputationSet/transform.tsx", "TypeScript JSX", 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 4, 27, 156
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/departmentCostCalc/index.tsx", "TypeScript JSX", 0, 474, 0, 0, 0, 0, 0, 0, 0, 0, 44, 120, 638
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/departmentCostCalc/service.ts", "TypeScript", 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 39, 131
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/departmentCostCalc/style.less", "Less", 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 15, 136
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/departmentCostCalc/transform.tsx", "TypeScript JSX", 0, 235, 0, 0, 0, 0, 0, 0, 0, 0, 15, 52, 302
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/diySqlMana/index.tsx", "TypeScript JSX", 0, 317, 0, 0, 0, 0, 0, 0, 0, 0, 47, 67, 431
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/diySqlMana/service.ts", "TypeScript", 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 33, 110
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/diySqlMana/style.less", "Less", 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 1, 14, 96
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/reportItemSet/index.tsx", "TypeScript JSX", 0, 531, 0, 0, 0, 0, 0, 0, 0, 0, 18, 61, 610
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/reportItemSet/service.ts", "TypeScript", 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 33, 104
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/reportItemSet/style.less", "Less", 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 7, 51
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/reportItemSet/transform.tsx", "TypeScript JSX", 0, 234, 0, 0, 0, 0, 0, 0, 0, 0, 17, 52, 303
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/reportProjectSetting/index.tsx", "TypeScript JSX", 0, 277, 0, 0, 0, 0, 0, 0, 0, 0, 10, 30, 317
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/reportProjectSetting/service.js", "JavaScript", 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 13, 27, 70
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/reportProjectSetting/style.less", "Less", 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 16, 93
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/visitsAndBedDayCostSetting/index.tsx", "TypeScript JSX", 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 13, 45, 302
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/visitsAndBedDayCostSetting/service.ts", "TypeScript", 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 29, 77
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/visitsAndBedDayCostSetting/style.less", "Less", 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 6, 43
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/wholeHospCostAndIncomeSet/index.tsx", "TypeScript JSX", 0, 166, 0, 0, 0, 0, 0, 0, 0, 0, 9, 34, 209
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/wholeHospCostAndIncomeSet/service.ts", "TypeScript", 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 29, 74
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/wholeHospCostAndIncomeSet/style.less", "Less", 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 4, 34
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/responsibilityCenterSet/responsibilityCenter/index.tsx", "TypeScript JSX", 0, 463, 0, 0, 0, 0, 0, 0, 0, 0, 12, 64, 539
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/responsibilityCenterSet/responsibilityCenter/service.ts", "TypeScript", 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 35, 98
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/responsibilityCenterSet/responsibilityCenter/style.less", "Less", 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 8, 57
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/responsibilityCenterSet/responsibilityCenterConnect/index.tsx", "TypeScript JSX", 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 8, 41, 236
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/responsibilityCenterSet/responsibilityCenterConnect/service.ts", "TypeScript", 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 9, 39
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/responsibilityCenterSet/responsibilityCenterConnect/style.less", "Less", 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 8, 57
+"/Users/dema/work/CostAccountingSys/src/pages/baseSetting/responsibilityCenterSet/responsibilityCenterConnect/transform.tsx", "TypeScript JSX", 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 3, 21, 145
+"/Users/dema/work/CostAccountingSys/src/pages/costAccounting/calcPageTemplate/columns.tsx", "TypeScript JSX", 0, 944, 0, 0, 0, 0, 0, 0, 0, 0, 48, 38, 1030
+"/Users/dema/work/CostAccountingSys/src/pages/costAccounting/calcPageTemplate/config.ts", "TypeScript", 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 26, 409
+"/Users/dema/work/CostAccountingSys/src/pages/costAccounting/calcPageTemplate/index.tsx", "TypeScript JSX", 0, 687, 0, 0, 0, 0, 0, 0, 0, 0, 16, 94, 797
+"/Users/dema/work/CostAccountingSys/src/pages/costAccounting/calcPageTemplate/service.ts", "TypeScript", 340, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 40, 402
+"/Users/dema/work/CostAccountingSys/src/pages/costAccounting/calcPageTemplate/style.less", "Less", 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 10, 49
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/drugCostManagement/index.tsx", "TypeScript JSX", 0, 303, 0, 0, 0, 0, 0, 0, 0, 0, 17, 48, 368
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/drugCostManagement/service.ts", "TypeScript", 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 32, 111
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/drugCostManagement/style.less", "Less", 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 7, 56
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/equipmentCostManagement/index.tsx", "TypeScript JSX", 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 17, 48, 364
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/equipmentCostManagement/service.ts", "TypeScript", 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 30, 103
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/equipmentCostManagement/style.less", "Less", 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 7, 56
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/materialCostManagement/index.tsx", "TypeScript JSX", 0, 331, 0, 0, 0, 0, 0, 0, 0, 0, 21, 50, 402
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/materialCostManagement/service.ts", "TypeScript", 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 30, 103
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/materialCostManagement/style.less", "Less", 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 7, 56
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/personnelClassificationMana/index.tsx", "TypeScript JSX", 0, 481, 0, 0, 0, 0, 0, 0, 0, 0, 22, 88, 591
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/personnelClassificationMana/service.ts", "TypeScript", 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 42, 149
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/personnelClassificationMana/style.less", "Less", 0, 0, 223, 0, 0, 0, 0, 0, 0, 0, 0, 31, 254
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/personnelClassificationMana/tableSelector.tsx", "TypeScript JSX", 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 6, 43, 183
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/spaceCostManagement/index.tsx", "TypeScript JSX", 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 17, 47, 392
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/spaceCostManagement/service.ts", "TypeScript", 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 30, 97
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/spaceCostManagement/style.less", "Less", 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 7, 56
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/diseaseCostManagement/diseaseDiagnosisComparison/index.tsx", "TypeScript JSX", 0, 287, 0, 0, 0, 0, 0, 0, 0, 0, 9, 46, 342
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/diseaseCostManagement/diseaseDiagnosisComparison/service.ts", "TypeScript", 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 31, 101
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/diseaseCostManagement/diseaseDiagnosisComparison/style.less", "Less", 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 8, 57
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/diseaseCostManagement/diseaseMana/index.tsx", "TypeScript JSX", 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, 16, 45, 286
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/diseaseCostManagement/diseaseMana/service.ts", "TypeScript", 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 30, 99
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/diseaseCostManagement/diseaseMana/style.less", "Less", 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 8, 57
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana/index.tsx", "TypeScript JSX", 0, 495, 0, 0, 0, 0, 0, 0, 0, 0, 11, 81, 587
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana/service.ts", "TypeScript", 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 40, 143
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana/style.less", "Less", 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 30, 239
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana/tableSelector.tsx", "TypeScript JSX", 0, 152, 0, 0, 0, 0, 0, 0, 0, 0, 6, 43, 201
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/components/match.tsx", "TypeScript JSX", 0, 455, 0, 0, 0, 0, 0, 0, 0, 0, 14, 56, 525
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/components/setting.tsx", "TypeScript JSX", 0, 535, 0, 0, 0, 0, 0, 0, 0, 0, 15, 56, 606
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/components/style.less", "Less", 0, 0, 449, 0, 0, 0, 0, 0, 0, 0, 7, 66, 522
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/components/tableSelector.tsx", "TypeScript JSX", 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 7, 44, 196
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/index.tsx", "TypeScript JSX", 0, 491, 0, 0, 0, 0, 0, 0, 0, 0, 28, 62, 581
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/service.ts", "TypeScript", 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 62, 301
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/style.less", "Less", 0, 0, 153, 0, 0, 0, 0, 0, 0, 0, 0, 25, 178
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet/editTableModal.tsx", "TypeScript JSX", 0, 139, 0, 0, 0, 0, 0, 0, 0, 0, 5, 32, 176
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet/index.tsx", "TypeScript JSX", 0, 367, 0, 0, 0, 0, 0, 0, 0, 0, 11, 50, 428
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet/service.ts", "TypeScript", 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 51, 146
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet/style.less", "Less", 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 13, 91
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet/tableSelector.tsx", "TypeScript JSX", 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 7, 45, 186
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/projectShareParamsSet/index.tsx", "TypeScript JSX", 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 11, 47, 308
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/projectShareParamsSet/service.ts", "TypeScript", 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 31, 96
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/projectShareParamsSet/style.less", "Less", 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 7, 56
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/standardProjectMana/drawer.tsx", "TypeScript JSX", 0, 388, 0, 0, 0, 0, 0, 0, 0, 0, 12, 49, 449
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/standardProjectMana/index.tsx", "TypeScript JSX", 0, 364, 0, 0, 0, 0, 0, 0, 0, 0, 16, 49, 429
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/standardProjectMana/service.ts", "TypeScript", 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 49, 183
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/standardProjectMana/style.less", "Less", 0, 0, 212, 0, 0, 0, 0, 0, 0, 0, 1, 25, 238
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportColumnMana/UpDateActBtn.tsx", "TypeScript JSX", 0, 329, 0, 0, 0, 0, 0, 0, 0, 0, 9, 45, 383
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportColumnMana/index.tsx", "TypeScript JSX", 0, 227, 0, 0, 0, 0, 0, 0, 0, 0, 13, 49, 289
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportColumnMana/service.ts", "TypeScript", 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 38, 154
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportColumnMana/style.less", "Less", 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 3, 13, 80
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportColumnMana/transform.tsx", "TypeScript JSX", 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 4, 19, 133
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportListMana/index.tsx", "TypeScript JSX", 0, 460, 0, 0, 0, 0, 0, 0, 0, 0, 19, 99, 578
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportListMana/service.ts", "TypeScript", 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 36, 118
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportListMana/style.less", "Less", 0, 0, 223, 0, 0, 0, 0, 0, 0, 0, 0, 33, 256
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportListMana/tableSelector.tsx", "TypeScript JSX", 0, 154, 0, 0, 0, 0, 0, 0, 0, 0, 6, 43, 203
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportNavSet/index.tsx", "TypeScript JSX", 0, 298, 0, 0, 0, 0, 0, 0, 0, 0, 12, 50, 360
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportNavSet/service.ts", "TypeScript", 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 31, 100
+"/Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportNavSet/style.less", "Less", 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 7, 44
+"/Users/dema/work/CostAccountingSys/src/pages/incomeCollectionAction/index.tsx", "TypeScript JSX", 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 11, 38, 354
+"/Users/dema/work/CostAccountingSys/src/pages/incomeCollectionAction/service.ts", "TypeScript", 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 9, 24
+"/Users/dema/work/CostAccountingSys/src/pages/incomeCollectionAction/style.less", "Less", 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 0, 31, 214
+"/Users/dema/work/CostAccountingSys/src/pages/monthlyInfoCollection/components/leftAndRighrStructure.tsx", "TypeScript JSX", 0, 346, 0, 0, 0, 0, 0, 0, 0, 0, 14, 58, 418
+"/Users/dema/work/CostAccountingSys/src/pages/monthlyInfoCollection/components/style.less", "Less", 0, 0, 153, 0, 0, 0, 0, 0, 0, 0, 0, 27, 180
+"/Users/dema/work/CostAccountingSys/src/pages/monthlyInfoCollection/index.tsx", "TypeScript JSX", 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 13, 22, 211
+"/Users/dema/work/CostAccountingSys/src/pages/monthlyInfoCollection/service.ts", "TypeScript", 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 33, 118
+"/Users/dema/work/CostAccountingSys/src/pages/monthlyInfoCollection/style.less", "Less", 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 4, 53
+"/Users/dema/work/CostAccountingSys/src/pages/monthlyInfoCollection/tableSelector.tsx", "TypeScript JSX", 0, 153, 0, 0, 0, 0, 0, 0, 0, 0, 2, 38, 193
+"/Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/empCostDataImport/index.tsx", "TypeScript JSX", 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 36, 25, 261
+"/Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/empCostDataImport/service.js", "JavaScript", 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 13, 27, 79
+"/Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/empCostDataImport/style.less", "Less", 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 17, 101
+"/Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/incomeCostDataImport/index.tsx", "TypeScript JSX", 0, 391, 0, 0, 0, 0, 0, 0, 0, 0, 56, 55, 502
+"/Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/incomeCostDataImport/service.js", "JavaScript", 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 16, 29, 107
+"/Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/incomeCostDataImport/style.less", "Less", 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 16, 90
+"/Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/incomeCostDataImport/test.html", "HTML", 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 1, 21
+"/Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/patientChargeItemsImport/index.tsx", "TypeScript JSX", 0, 284, 0, 0, 0, 0, 0, 0, 0, 0, 64, 32, 380
+"/Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/patientChargeItemsImport/service.js", "JavaScript", 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 14, 28, 87
+"/Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/patientChargeItemsImport/style.less", "Less", 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 1, 17, 109
+"/Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/patientInfoImport/index.tsx", "TypeScript JSX", 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 54, 31, 397
+"/Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/patientInfoImport/service.js", "JavaScript", 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 13, 27, 79
+"/Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/patientInfoImport/style.less", "Less", 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 1, 16, 101
+"/Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/wholeHospIncomeAndCost/index.tsx", "TypeScript JSX", 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, 29, 41, 330
+"/Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/wholeHospIncomeAndCost/service.ts", "TypeScript", 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 29, 84
+"/Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/wholeHospIncomeAndCost/style.less", "Less", 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 27, 189
+"/Users/dema/work/CostAccountingSys/src/pages/noAccess/index.tsx", "TypeScript JSX", 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 9, 4, 31
+"/Users/dema/work/CostAccountingSys/src/pages/noAccess/style.less", "Less", 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 4, 49
+"/Users/dema/work/CostAccountingSys/src/pages/reportExport/report/ExportProgressModal.tsx", "TypeScript JSX", 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 8, 11, 61
+"/Users/dema/work/CostAccountingSys/src/pages/reportExport/report/index.tsx", "TypeScript JSX", 0, 336, 0, 0, 0, 0, 0, 0, 0, 0, 52, 120, 508
+"/Users/dema/work/CostAccountingSys/src/pages/reportExport/report/service.ts", "TypeScript", 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 19, 49
+"/Users/dema/work/CostAccountingSys/src/pages/reportExport/report/style.less", "Less", 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 9, 89
+"/Users/dema/work/CostAccountingSys/src/pages/setting/fenyeTemplate/index.tsx", "TypeScript JSX", 0, 304, 0, 0, 0, 0, 0, 0, 0, 0, 13, 47, 364
+"/Users/dema/work/CostAccountingSys/src/pages/setting/fenyeTemplate/service.ts", "TypeScript", 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 23, 82
+"/Users/dema/work/CostAccountingSys/src/pages/setting/fenyeTemplate/style.less", "Less", 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 7, 44
+"/Users/dema/work/CostAccountingSys/src/pages/setting/qualitativeOptionsMana/index.tsx", "TypeScript JSX", 0, 286, 0, 0, 0, 0, 0, 0, 0, 0, 9, 46, 341
+"/Users/dema/work/CostAccountingSys/src/pages/setting/qualitativeOptionsMana/service.ts", "TypeScript", 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 24, 100
+"/Users/dema/work/CostAccountingSys/src/pages/setting/qualitativeOptionsMana/style.less", "Less", 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 7, 44
+"/Users/dema/work/CostAccountingSys/src/pages/specialDataImport/index.tsx", "TypeScript JSX", 0, 204, 0, 0, 0, 0, 0, 0, 0, 0, 9, 37, 250
+"/Users/dema/work/CostAccountingSys/src/pages/specialDataImport/service.ts", "TypeScript", 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 26, 71
+"/Users/dema/work/CostAccountingSys/src/pages/specialDataImport/style.less", "Less", 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 7, 57
+"/Users/dema/work/CostAccountingSys/src/pages/static/index.tsx", "TypeScript JSX", 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 10, 21, 85
+"/Users/dema/work/CostAccountingSys/src/pages/static/service.js", "JavaScript", 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 14, 28, 87
+"/Users/dema/work/CostAccountingSys/src/pages/static/style.less", "Less", 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 16, 97
+"/Users/dema/work/CostAccountingSys/src/services/auth.ts", "TypeScript", 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 11, 49
+"/Users/dema/work/CostAccountingSys/src/services/demo/UserController.ts", "TypeScript", 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 6, 97
+"/Users/dema/work/CostAccountingSys/src/services/demo/index.ts", "TypeScript", 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 8
+"/Users/dema/work/CostAccountingSys/src/services/demo/typings.d.ts", "TypeScript", 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 69
+"/Users/dema/work/CostAccountingSys/src/services/getDic.ts", "TypeScript", 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 26, 76
+"/Users/dema/work/CostAccountingSys/src/typings.d.ts", "TypeScript", 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 3, 34
+"/Users/dema/work/CostAccountingSys/src/utils/devicePixelRatio.js", "JavaScript", 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 27, 2, 67
+"/Users/dema/work/CostAccountingSys/src/utils/format.ts", "TypeScript", 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 2, 21
+"/Users/dema/work/CostAccountingSys/src/utils/tableToExcel.ts", "TypeScript", 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 23, 86
+"/Users/dema/work/CostAccountingSys/src/utils/tableToMultiHeaderExcel.ts", "TypeScript", 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 51, 282
+"/Users/dema/work/CostAccountingSys/src/utils/tooljs.ts", "TypeScript", 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 97, 356
+"/Users/dema/work/CostAccountingSys/src/utils/zhongtaiA.js", "JavaScript", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 8, 0, 9
+"/Users/dema/work/CostAccountingSys/src/utils/zhongtaiB.js", "JavaScript", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 8, 0, 9
+"/Users/dema/work/CostAccountingSys/src/utils/zhongtaiC.js", "JavaScript", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 8, 0, 9
+"/Users/dema/work/CostAccountingSys/tsconfig.json", "JSON with Comments", 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1, 4
+"/Users/dema/work/CostAccountingSys/typings.d.ts", "TypeScript", 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 2, 18
+"/Users/dema/work/CostAccountingSys/yarn-error.log", "Log", 0, 0, 0, 0, 0, 0, 0, 0, 0, 8469, 0, 1293, 9762
+"Total", "-", 4716, 22780, 5743, 340, 20, 3, 55, 2, 3, 8469, 2729, 8303, 53163

文件差异内容过多而无法显示
+ 0 - 0
.VSCodeCounter/2024-08-30_09-54-22/results.json


+ 126 - 0
.VSCodeCounter/2024-08-30_09-54-22/results.md

@@ -0,0 +1,126 @@
+# Summary
+
+Date : 2024-08-30 09:54:22
+
+Directory /Users/dema/work/CostAccountingSys
+
+Total : 244 files,  42131 codes, 2729 comments, 8303 blanks, all 53163 lines
+
+Summary / [Details](details.md) / [Diff Summary](diff.md) / [Diff Details](diff-details.md)
+
+## Languages
+| language | files | code | comment | blank | total |
+| :--- | ---: | ---: | ---: | ---: | ---: |
+| TypeScript JSX | 92 | 22,780 | 1,576 | 3,993 | 28,349 |
+| Log | 1 | 8,469 | 0 | 1,293 | 9,762 |
+| Less | 63 | 5,743 | 103 | 1,001 | 6,847 |
+| TypeScript | 69 | 4,716 | 892 | 1,833 | 7,441 |
+| JavaScript | 13 | 340 | 158 | 176 | 674 |
+| JSON | 2 | 55 | 0 | 2 | 57 |
+| HTML | 1 | 20 | 0 | 1 | 21 |
+| 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 |
+| :--- | ---: | ---: | ---: | ---: | ---: |
+| . | 244 | 42,131 | 2,729 | 8,303 | 53,163 |
+| . (Files) | 10 | 8,925 | 22 | 1,318 | 10,265 |
+| config | 1 | 0 | 8 | 4 | 12 |
+| mock | 5 | 412 | 32 | 138 | 582 |
+| src | 228 | 32,794 | 2,667 | 6,843 | 42,304 |
+| src (Files) | 7 | 1,153 | 188 | 318 | 1,659 |
+| src/components | 22 | 1,334 | 175 | 318 | 1,827 |
+| src/components/Guide | 3 | 25 | 1 | 6 | 32 |
+| src/components/KCIMDrawerForm | 2 | 23 | 9 | 11 | 43 |
+| src/components/KCIMLeftList | 2 | 279 | 69 | 71 | 419 |
+| src/components/KCIMModalForm | 1 | 23 | 8 | 11 | 42 |
+| src/components/KCIMPageContainer | 2 | 194 | 8 | 37 | 239 |
+| src/components/KCIMTable | 2 | 219 | 19 | 65 | 303 |
+| src/components/KCIMTableSelector | 2 | 173 | 10 | 44 | 227 |
+| src/components/KCIMUpload | 2 | 82 | 9 | 19 | 110 |
+| src/components/ProgressModal | 2 | 91 | 16 | 20 | 127 |
+| src/components/ResizableContainer | 2 | 72 | 8 | 17 | 97 |
+| src/components/SQLEditor | 2 | 153 | 18 | 17 | 188 |
+| src/constants | 1 | 1 | 0 | 1 | 2 |
+| src/models | 1 | 10 | 1 | 3 | 14 |
+| src/pages | 184 | 29,573 | 2,119 | 5,972 | 37,664 |
+| src/pages (Files) | 1 | 15 | 8 | 3 | 26 |
+| src/pages/Home | 3 | 122 | 28 | 38 | 188 |
+| src/pages/baseInfoMana | 13 | 1,536 | 116 | 375 | 2,027 |
+| src/pages/baseInfoMana/checkGroupMana | 4 | 389 | 32 | 102 | 523 |
+| src/pages/baseInfoMana/empMana | 5 | 692 | 53 | 148 | 893 |
+| src/pages/baseInfoMana/unitMana | 4 | 455 | 31 | 125 | 611 |
+| src/pages/baseSetting | 62 | 9,050 | 726 | 2,023 | 11,799 |
+| src/pages/baseSetting/accountingAccountSet | 13 | 1,866 | 111 | 426 | 2,403 |
+| src/pages/baseSetting/accountingAccountSet/accountingSubMana | 3 | 474 | 26 | 90 | 590 |
+| src/pages/baseSetting/accountingAccountSet/accountingSubMap | 3 | 295 | 25 | 72 | 392 |
+| src/pages/baseSetting/accountingAccountSet/chargeItemMap | 4 | 774 | 35 | 181 | 990 |
+| src/pages/baseSetting/accountingAccountSet/costIncomeProjectMana | 3 | 323 | 25 | 83 | 431 |
+| src/pages/baseSetting/costAllocationSet | 22 | 3,087 | 309 | 698 | 4,094 |
+| src/pages/baseSetting/costAllocationSet/allocationLevelSet | 3 | 327 | 23 | 80 | 430 |
+| src/pages/baseSetting/costAllocationSet/allocationParamsMap | 5 | 802 | 62 | 196 | 1,060 |
+| src/pages/baseSetting/costAllocationSet/costAllocationParamsDeal | 3 | 482 | 85 | 92 | 659 |
+| src/pages/baseSetting/costAllocationSet/costAllocationParamsSet | 4 | 566 | 31 | 129 | 726 |
+| src/pages/baseSetting/costAllocationSet/idleCostSetting | 3 | 391 | 81 | 93 | 565 |
+| src/pages/baseSetting/costAllocationSet/revenueImputationSet | 4 | 519 | 27 | 108 | 654 |
+| src/pages/baseSetting/otherItemSet | 20 | 3,161 | 257 | 713 | 4,131 |
+| src/pages/baseSetting/otherItemSet/departmentCostCalc | 4 | 904 | 77 | 226 | 1,207 |
+| src/pages/baseSetting/otherItemSet/diySqlMana | 3 | 462 | 61 | 114 | 637 |
+| src/pages/baseSetting/otherItemSet/reportItemSet | 4 | 865 | 50 | 153 | 1,068 |
+| src/pages/baseSetting/otherItemSet/reportProjectSetting | 3 | 384 | 23 | 73 | 480 |
+| src/pages/baseSetting/otherItemSet/visitsAndBedDayCostSetting | 3 | 317 | 25 | 80 | 422 |
+| src/pages/baseSetting/otherItemSet/wholeHospCostAndIncomeSet | 3 | 229 | 21 | 67 | 317 |
+| src/pages/baseSetting/responsibilityCenterSet | 7 | 936 | 49 | 186 | 1,171 |
+| src/pages/baseSetting/responsibilityCenterSet/responsibilityCenter | 3 | 560 | 27 | 107 | 694 |
+| src/pages/baseSetting/responsibilityCenterSet/responsibilityCenterConnect | 4 | 376 | 22 | 79 | 477 |
+| src/pages/costAccounting | 5 | 2,385 | 94 | 208 | 2,687 |
+| src/pages/costAccounting/calcPageTemplate | 5 | 2,385 | 94 | 208 | 2,687 |
+| src/pages/costLibraryManagement | 57 | 11,049 | 606 | 2,191 | 13,846 |
+| src/pages/costLibraryManagement/basicCostManagement | 16 | 2,619 | 175 | 547 | 3,341 |
+| src/pages/costLibraryManagement/basicCostManagement/drugCostManagement | 3 | 417 | 31 | 87 | 535 |
+| src/pages/costLibraryManagement/basicCostManagement/equipmentCostManagement | 3 | 408 | 30 | 85 | 523 |
+| src/pages/costLibraryManagement/basicCostManagement/materialCostManagement | 3 | 440 | 34 | 87 | 561 |
+| src/pages/costLibraryManagement/basicCostManagement/personnelClassificationMana | 4 | 923 | 50 | 204 | 1,177 |
+| src/pages/costLibraryManagement/basicCostManagement/spaceCostManagement | 3 | 431 | 30 | 84 | 545 |
+| src/pages/costLibraryManagement/diseaseCostManagement | 6 | 722 | 52 | 168 | 942 |
+| src/pages/costLibraryManagement/diseaseCostManagement/diseaseDiagnosisComparison | 3 | 392 | 23 | 85 | 500 |
+| src/pages/costLibraryManagement/diseaseCostManagement/diseaseMana | 3 | 330 | 29 | 83 | 442 |
+| src/pages/costLibraryManagement/medicalOrderProject | 4 | 939 | 37 | 194 | 1,170 |
+| src/pages/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana | 4 | 939 | 37 | 194 | 1,170 |
+| src/pages/costLibraryManagement/projectCostManagement | 19 | 4,646 | 230 | 819 | 5,695 |
+| src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana | 7 | 2,426 | 112 | 371 | 2,909 |
+| src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana (Files) | 3 | 842 | 69 | 149 | 1,060 |
+| src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/components | 4 | 1,584 | 43 | 222 | 1,849 |
+| src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet | 5 | 793 | 43 | 191 | 1,027 |
+| src/pages/costLibraryManagement/projectCostManagement/projectShareParamsSet | 3 | 350 | 25 | 85 | 460 |
+| src/pages/costLibraryManagement/projectCostManagement/standardProjectMana | 4 | 1,077 | 50 | 172 | 1,299 |
+| src/pages/costLibraryManagement/reportMana | 12 | 2,123 | 112 | 463 | 2,698 |
+| src/pages/costLibraryManagement/reportMana/reportColumnMana | 5 | 830 | 45 | 164 | 1,039 |
+| src/pages/costLibraryManagement/reportMana/reportListMana | 4 | 901 | 43 | 211 | 1,155 |
+| src/pages/costLibraryManagement/reportMana/reportNavSet | 3 | 392 | 24 | 88 | 504 |
+| src/pages/incomeCollectionAction | 3 | 501 | 13 | 78 | 592 |
+| src/pages/monthlyInfoCollection | 6 | 943 | 48 | 182 | 1,173 |
+| src/pages/monthlyInfoCollection (Files) | 4 | 444 | 34 | 97 | 575 |
+| src/pages/monthlyInfoCollection/components | 2 | 499 | 14 | 85 | 598 |
+| src/pages/monthlyInfoSearch | 16 | 2,190 | 309 | 418 | 2,917 |
+| src/pages/monthlyInfoSearch/empCostDataImport | 3 | 323 | 49 | 69 | 441 |
+| src/pages/monthlyInfoSearch/incomeCostDataImport | 4 | 547 | 72 | 101 | 720 |
+| src/pages/monthlyInfoSearch/patientChargeItemsImport | 3 | 420 | 79 | 77 | 576 |
+| src/pages/monthlyInfoSearch/patientInfoImport | 3 | 435 | 68 | 74 | 577 |
+| src/pages/monthlyInfoSearch/wholeHospIncomeAndCost | 3 | 465 | 41 | 97 | 603 |
+| src/pages/noAccess | 2 | 63 | 9 | 8 | 80 |
+| src/pages/reportExport | 4 | 479 | 69 | 159 | 707 |
+| src/pages/reportExport/report | 4 | 479 | 69 | 159 | 707 |
+| src/pages/setting | 6 | 773 | 48 | 154 | 975 |
+| src/pages/setting/fenyeTemplate | 3 | 388 | 25 | 77 | 490 |
+| src/pages/setting/qualitativeOptionsMana | 3 | 385 | 23 | 77 | 485 |
+| src/pages/specialDataImport | 3 | 287 | 21 | 70 | 378 |
+| src/pages/static | 3 | 180 | 24 | 65 | 269 |
+| src/services | 5 | 190 | 53 | 56 | 299 |
+| src/services (Files) | 2 | 64 | 24 | 37 | 125 |
+| src/services/demo | 3 | 126 | 29 | 19 | 174 |
+| src/utils | 8 | 533 | 131 | 175 | 839 |
+
+Summary / [Details](details.md) / [Diff Summary](diff.md) / [Diff Details](diff-details.md)

+ 373 - 0
.VSCodeCounter/2024-08-30_09-54-22/results.txt

@@ -0,0 +1,373 @@
+Date : 2024-08-30 09:54:22
+Directory : /Users/dema/work/CostAccountingSys
+Total : 244 files,  42131 codes, 2729 comments, 8303 blanks, all 53163 lines
+
+Languages
++--------------------+------------+------------+------------+------------+------------+
+| language           | files      | code       | comment    | blank      | total      |
++--------------------+------------+------------+------------+------------+------------+
+| TypeScript JSX     |         92 |     22,780 |      1,576 |      3,993 |     28,349 |
+| Log                |          1 |      8,469 |          0 |      1,293 |      9,762 |
+| Less               |         63 |      5,743 |        103 |      1,001 |      6,847 |
+| TypeScript         |         69 |      4,716 |        892 |      1,833 |      7,441 |
+| JavaScript         |         13 |        340 |        158 |        176 |        674 |
+| JSON               |          2 |         55 |          0 |          2 |         57 |
+| HTML               |          1 |         20 |          0 |          1 |         21 |
+| 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      |
++---------------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+
+| .                                                                                                                                     |        244 |     42,131 |      2,729 |      8,303 |     53,163 |
+| . (Files)                                                                                                                             |         10 |      8,925 |         22 |      1,318 |     10,265 |
+| config                                                                                                                                |          1 |          0 |          8 |          4 |         12 |
+| mock                                                                                                                                  |          5 |        412 |         32 |        138 |        582 |
+| src                                                                                                                                   |        228 |     32,794 |      2,667 |      6,843 |     42,304 |
+| src (Files)                                                                                                                           |          7 |      1,153 |        188 |        318 |      1,659 |
+| src/components                                                                                                                        |         22 |      1,334 |        175 |        318 |      1,827 |
+| src/components/Guide                                                                                                                  |          3 |         25 |          1 |          6 |         32 |
+| src/components/KCIMDrawerForm                                                                                                         |          2 |         23 |          9 |         11 |         43 |
+| src/components/KCIMLeftList                                                                                                           |          2 |        279 |         69 |         71 |        419 |
+| src/components/KCIMModalForm                                                                                                          |          1 |         23 |          8 |         11 |         42 |
+| src/components/KCIMPageContainer                                                                                                      |          2 |        194 |          8 |         37 |        239 |
+| src/components/KCIMTable                                                                                                              |          2 |        219 |         19 |         65 |        303 |
+| src/components/KCIMTableSelector                                                                                                      |          2 |        173 |         10 |         44 |        227 |
+| src/components/KCIMUpload                                                                                                             |          2 |         82 |          9 |         19 |        110 |
+| src/components/ProgressModal                                                                                                          |          2 |         91 |         16 |         20 |        127 |
+| src/components/ResizableContainer                                                                                                     |          2 |         72 |          8 |         17 |         97 |
+| src/components/SQLEditor                                                                                                              |          2 |        153 |         18 |         17 |        188 |
+| src/constants                                                                                                                         |          1 |          1 |          0 |          1 |          2 |
+| src/models                                                                                                                            |          1 |         10 |          1 |          3 |         14 |
+| src/pages                                                                                                                             |        184 |     29,573 |      2,119 |      5,972 |     37,664 |
+| src/pages (Files)                                                                                                                     |          1 |         15 |          8 |          3 |         26 |
+| src/pages/Home                                                                                                                        |          3 |        122 |         28 |         38 |        188 |
+| src/pages/baseInfoMana                                                                                                                |         13 |      1,536 |        116 |        375 |      2,027 |
+| src/pages/baseInfoMana/checkGroupMana                                                                                                 |          4 |        389 |         32 |        102 |        523 |
+| src/pages/baseInfoMana/empMana                                                                                                        |          5 |        692 |         53 |        148 |        893 |
+| src/pages/baseInfoMana/unitMana                                                                                                       |          4 |        455 |         31 |        125 |        611 |
+| src/pages/baseSetting                                                                                                                 |         62 |      9,050 |        726 |      2,023 |     11,799 |
+| src/pages/baseSetting/accountingAccountSet                                                                                            |         13 |      1,866 |        111 |        426 |      2,403 |
+| src/pages/baseSetting/accountingAccountSet/accountingSubMana                                                                          |          3 |        474 |         26 |         90 |        590 |
+| src/pages/baseSetting/accountingAccountSet/accountingSubMap                                                                           |          3 |        295 |         25 |         72 |        392 |
+| src/pages/baseSetting/accountingAccountSet/chargeItemMap                                                                              |          4 |        774 |         35 |        181 |        990 |
+| src/pages/baseSetting/accountingAccountSet/costIncomeProjectMana                                                                      |          3 |        323 |         25 |         83 |        431 |
+| src/pages/baseSetting/costAllocationSet                                                                                               |         22 |      3,087 |        309 |        698 |      4,094 |
+| src/pages/baseSetting/costAllocationSet/allocationLevelSet                                                                            |          3 |        327 |         23 |         80 |        430 |
+| src/pages/baseSetting/costAllocationSet/allocationParamsMap                                                                           |          5 |        802 |         62 |        196 |      1,060 |
+| src/pages/baseSetting/costAllocationSet/costAllocationParamsDeal                                                                      |          3 |        482 |         85 |         92 |        659 |
+| src/pages/baseSetting/costAllocationSet/costAllocationParamsSet                                                                       |          4 |        566 |         31 |        129 |        726 |
+| src/pages/baseSetting/costAllocationSet/idleCostSetting                                                                               |          3 |        391 |         81 |         93 |        565 |
+| src/pages/baseSetting/costAllocationSet/revenueImputationSet                                                                          |          4 |        519 |         27 |        108 |        654 |
+| src/pages/baseSetting/otherItemSet                                                                                                    |         20 |      3,161 |        257 |        713 |      4,131 |
+| src/pages/baseSetting/otherItemSet/departmentCostCalc                                                                                 |          4 |        904 |         77 |        226 |      1,207 |
+| src/pages/baseSetting/otherItemSet/diySqlMana                                                                                         |          3 |        462 |         61 |        114 |        637 |
+| src/pages/baseSetting/otherItemSet/reportItemSet                                                                                      |          4 |        865 |         50 |        153 |      1,068 |
+| src/pages/baseSetting/otherItemSet/reportProjectSetting                                                                               |          3 |        384 |         23 |         73 |        480 |
+| src/pages/baseSetting/otherItemSet/visitsAndBedDayCostSetting                                                                         |          3 |        317 |         25 |         80 |        422 |
+| src/pages/baseSetting/otherItemSet/wholeHospCostAndIncomeSet                                                                          |          3 |        229 |         21 |         67 |        317 |
+| src/pages/baseSetting/responsibilityCenterSet                                                                                         |          7 |        936 |         49 |        186 |      1,171 |
+| src/pages/baseSetting/responsibilityCenterSet/responsibilityCenter                                                                    |          3 |        560 |         27 |        107 |        694 |
+| src/pages/baseSetting/responsibilityCenterSet/responsibilityCenterConnect                                                             |          4 |        376 |         22 |         79 |        477 |
+| src/pages/costAccounting                                                                                                              |          5 |      2,385 |         94 |        208 |      2,687 |
+| src/pages/costAccounting/calcPageTemplate                                                                                             |          5 |      2,385 |         94 |        208 |      2,687 |
+| src/pages/costLibraryManagement                                                                                                       |         57 |     11,049 |        606 |      2,191 |     13,846 |
+| src/pages/costLibraryManagement/basicCostManagement                                                                                   |         16 |      2,619 |        175 |        547 |      3,341 |
+| src/pages/costLibraryManagement/basicCostManagement/drugCostManagement                                                                |          3 |        417 |         31 |         87 |        535 |
+| src/pages/costLibraryManagement/basicCostManagement/equipmentCostManagement                                                           |          3 |        408 |         30 |         85 |        523 |
+| src/pages/costLibraryManagement/basicCostManagement/materialCostManagement                                                            |          3 |        440 |         34 |         87 |        561 |
+| src/pages/costLibraryManagement/basicCostManagement/personnelClassificationMana                                                       |          4 |        923 |         50 |        204 |      1,177 |
+| src/pages/costLibraryManagement/basicCostManagement/spaceCostManagement                                                               |          3 |        431 |         30 |         84 |        545 |
+| src/pages/costLibraryManagement/diseaseCostManagement                                                                                 |          6 |        722 |         52 |        168 |        942 |
+| src/pages/costLibraryManagement/diseaseCostManagement/diseaseDiagnosisComparison                                                      |          3 |        392 |         23 |         85 |        500 |
+| src/pages/costLibraryManagement/diseaseCostManagement/diseaseMana                                                                     |          3 |        330 |         29 |         83 |        442 |
+| src/pages/costLibraryManagement/medicalOrderProject                                                                                   |          4 |        939 |         37 |        194 |      1,170 |
+| src/pages/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana                                                           |          4 |        939 |         37 |        194 |      1,170 |
+| src/pages/costLibraryManagement/projectCostManagement                                                                                 |         19 |      4,646 |        230 |        819 |      5,695 |
+| src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana                                                                 |          7 |      2,426 |        112 |        371 |      2,909 |
+| src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana (Files)                                                         |          3 |        842 |         69 |        149 |      1,060 |
+| src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/components                                                      |          4 |      1,584 |         43 |        222 |      1,849 |
+| src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet                                                             |          5 |        793 |         43 |        191 |      1,027 |
+| src/pages/costLibraryManagement/projectCostManagement/projectShareParamsSet                                                           |          3 |        350 |         25 |         85 |        460 |
+| src/pages/costLibraryManagement/projectCostManagement/standardProjectMana                                                             |          4 |      1,077 |         50 |        172 |      1,299 |
+| src/pages/costLibraryManagement/reportMana                                                                                            |         12 |      2,123 |        112 |        463 |      2,698 |
+| src/pages/costLibraryManagement/reportMana/reportColumnMana                                                                           |          5 |        830 |         45 |        164 |      1,039 |
+| src/pages/costLibraryManagement/reportMana/reportListMana                                                                             |          4 |        901 |         43 |        211 |      1,155 |
+| src/pages/costLibraryManagement/reportMana/reportNavSet                                                                               |          3 |        392 |         24 |         88 |        504 |
+| src/pages/incomeCollectionAction                                                                                                      |          3 |        501 |         13 |         78 |        592 |
+| src/pages/monthlyInfoCollection                                                                                                       |          6 |        943 |         48 |        182 |      1,173 |
+| src/pages/monthlyInfoCollection (Files)                                                                                               |          4 |        444 |         34 |         97 |        575 |
+| src/pages/monthlyInfoCollection/components                                                                                            |          2 |        499 |         14 |         85 |        598 |
+| src/pages/monthlyInfoSearch                                                                                                           |         16 |      2,190 |        309 |        418 |      2,917 |
+| src/pages/monthlyInfoSearch/empCostDataImport                                                                                         |          3 |        323 |         49 |         69 |        441 |
+| src/pages/monthlyInfoSearch/incomeCostDataImport                                                                                      |          4 |        547 |         72 |        101 |        720 |
+| src/pages/monthlyInfoSearch/patientChargeItemsImport                                                                                  |          3 |        420 |         79 |         77 |        576 |
+| src/pages/monthlyInfoSearch/patientInfoImport                                                                                         |          3 |        435 |         68 |         74 |        577 |
+| src/pages/monthlyInfoSearch/wholeHospIncomeAndCost                                                                                    |          3 |        465 |         41 |         97 |        603 |
+| src/pages/noAccess                                                                                                                    |          2 |         63 |          9 |          8 |         80 |
+| src/pages/reportExport                                                                                                                |          4 |        479 |         69 |        159 |        707 |
+| src/pages/reportExport/report                                                                                                         |          4 |        479 |         69 |        159 |        707 |
+| src/pages/setting                                                                                                                     |          6 |        773 |         48 |        154 |        975 |
+| src/pages/setting/fenyeTemplate                                                                                                       |          3 |        388 |         25 |         77 |        490 |
+| src/pages/setting/qualitativeOptionsMana                                                                                              |          3 |        385 |         23 |         77 |        485 |
+| src/pages/specialDataImport                                                                                                           |          3 |        287 |         21 |         70 |        378 |
+| src/pages/static                                                                                                                      |          3 |        180 |         24 |         65 |        269 |
+| src/services                                                                                                                          |          5 |        190 |         53 |         56 |        299 |
+| src/services (Files)                                                                                                                  |          2 |         64 |         24 |         37 |        125 |
+| src/services/demo                                                                                                                     |          3 |        126 |         29 |         19 |        174 |
+| src/utils                                                                                                                             |          8 |        533 |        131 |        175 |        839 |
++---------------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+
+
+Files
++---------------------------------------------------------------------------------------------------------------------------------------+--------------------+------------+------------+------------+------------+
+| filename                                                                                                                              | language           | code       | comment    | blank      | total      |
++---------------------------------------------------------------------------------------------------------------------------------------+--------------------+------------+------------+------------+------------+
+| /Users/dema/work/CostAccountingSys/.eslintrc.js                                                                                       | JavaScript         |          3 |          0 |          1 |          4 |
+| /Users/dema/work/CostAccountingSys/.prettierignore                                                                                    | Ignore             |          3 |          0 |          1 |          4 |
+| /Users/dema/work/CostAccountingSys/.prettierrc                                                                                        | JSON               |          8 |          0 |          1 |          9 |
+| /Users/dema/work/CostAccountingSys/.stylelintrc.js                                                                                    | JavaScript         |          3 |          0 |          1 |          4 |
+| /Users/dema/work/CostAccountingSys/.umirc.ts                                                                                          | TypeScript         |        379 |         14 |         15 |        408 |
+| /Users/dema/work/CostAccountingSys/README.md                                                                                          | Markdown           |          2 |          0 |          2 |          4 |
+| /Users/dema/work/CostAccountingSys/config/proxy.ts                                                                                    | TypeScript         |          0 |          8 |          4 |         12 |
+| /Users/dema/work/CostAccountingSys/mock/home.ts                                                                                       | TypeScript         |         47 |          8 |          5 |         60 |
+| /Users/dema/work/CostAccountingSys/mock/monthlyData.ts                                                                                | TypeScript         |        156 |          8 |         78 |        242 |
+| /Users/dema/work/CostAccountingSys/mock/monthlyInfo.ts                                                                                | TypeScript         |        147 |          8 |         50 |        205 |
+| /Users/dema/work/CostAccountingSys/mock/monthlySet.ts                                                                                 | TypeScript         |         43 |          8 |          3 |         54 |
+| /Users/dema/work/CostAccountingSys/mock/userAPI.ts                                                                                    | TypeScript         |         19 |          0 |          2 |         21 |
+| /Users/dema/work/CostAccountingSys/package.json                                                                                       | JSON               |         47 |          0 |          1 |         48 |
+| /Users/dema/work/CostAccountingSys/src/access.ts                                                                                      | TypeScript         |         45 |         12 |         22 |         79 |
+| /Users/dema/work/CostAccountingSys/src/app.tsx                                                                                        | TypeScript JSX     |        395 |         71 |        117 |        583 |
+| /Users/dema/work/CostAccountingSys/src/authWrapper.tsx                                                                                | TypeScript JSX     |         46 |         12 |          7 |         65 |
+| /Users/dema/work/CostAccountingSys/src/components/Guide/Guide.less                                                                    | Less               |          4 |          0 |          1 |          5 |
+| /Users/dema/work/CostAccountingSys/src/components/Guide/Guide.tsx                                                                     | TypeScript JSX     |         19 |          1 |          4 |         24 |
+| /Users/dema/work/CostAccountingSys/src/components/Guide/index.ts                                                                      | TypeScript         |          2 |          0 |          1 |          3 |
+| /Users/dema/work/CostAccountingSys/src/components/KCIMDrawerForm/index.tsx                                                            | TypeScript JSX     |          6 |          9 |          8 |         23 |
+| /Users/dema/work/CostAccountingSys/src/components/KCIMDrawerForm/style.less                                                           | Less               |         17 |          0 |          3 |         20 |
+| /Users/dema/work/CostAccountingSys/src/components/KCIMLeftList/index.tsx                                                              | TypeScript JSX     |        169 |         61 |         51 |        281 |
+| /Users/dema/work/CostAccountingSys/src/components/KCIMLeftList/style.less                                                             | Less               |        110 |          8 |         20 |        138 |
+| /Users/dema/work/CostAccountingSys/src/components/KCIMModalForm/index.tsx                                                             | TypeScript JSX     |         23 |          8 |         11 |         42 |
+| /Users/dema/work/CostAccountingSys/src/components/KCIMPageContainer/index.tsx                                                         | TypeScript JSX     |         75 |          8 |         18 |        101 |
+| /Users/dema/work/CostAccountingSys/src/components/KCIMPageContainer/style.less                                                        | Less               |        119 |          0 |         19 |        138 |
+| /Users/dema/work/CostAccountingSys/src/components/KCIMTable/index.tsx                                                                 | TypeScript JSX     |         40 |         11 |         15 |         66 |
+| /Users/dema/work/CostAccountingSys/src/components/KCIMTable/style.less                                                                | Less               |        179 |          8 |         50 |        237 |
+| /Users/dema/work/CostAccountingSys/src/components/KCIMTableSelector/index.tsx                                                         | TypeScript JSX     |        144 |         10 |         40 |        194 |
+| /Users/dema/work/CostAccountingSys/src/components/KCIMTableSelector/style.less                                                        | Less               |         29 |          0 |          4 |         33 |
+| /Users/dema/work/CostAccountingSys/src/components/KCIMUpload/index.tsx                                                                | TypeScript JSX     |         56 |          9 |         14 |         79 |
+| /Users/dema/work/CostAccountingSys/src/components/KCIMUpload/style.less                                                               | Less               |         26 |          0 |          5 |         31 |
+| /Users/dema/work/CostAccountingSys/src/components/ProgressModal/index.tsx                                                             | TypeScript JSX     |         74 |          8 |         11 |         93 |
+| /Users/dema/work/CostAccountingSys/src/components/ProgressModal/service.ts                                                            | TypeScript         |         17 |          8 |          9 |         34 |
+| /Users/dema/work/CostAccountingSys/src/components/ResizableContainer/index.tsx                                                        | TypeScript JSX     |         54 |          8 |         10 |         72 |
+| /Users/dema/work/CostAccountingSys/src/components/ResizableContainer/style.less                                                       | Less               |         18 |          0 |          7 |         25 |
+| /Users/dema/work/CostAccountingSys/src/components/SQLEditor/index.tsx                                                                 | TypeScript JSX     |        108 |         10 |         15 |        133 |
+| /Users/dema/work/CostAccountingSys/src/components/SQLEditor/style.less                                                                | Less               |         45 |          8 |          2 |         55 |
+| /Users/dema/work/CostAccountingSys/src/constant.ts                                                                                    | TypeScript         |         10 |          8 |          2 |         20 |
+| /Users/dema/work/CostAccountingSys/src/constants/index.ts                                                                             | TypeScript         |          1 |          0 |          1 |          2 |
+| /Users/dema/work/CostAccountingSys/src/global.less                                                                                    | Less               |        603 |         51 |        161 |        815 |
+| /Users/dema/work/CostAccountingSys/src/menuIcons.js                                                                                   | JavaScript         |         33 |         24 |          6 |         63 |
+| /Users/dema/work/CostAccountingSys/src/models/global.ts                                                                               | TypeScript         |         10 |          1 |          3 |         14 |
+| /Users/dema/work/CostAccountingSys/src/pages/404.tsx                                                                                  | TypeScript JSX     |         15 |          8 |          3 |         26 |
+| /Users/dema/work/CostAccountingSys/src/pages/Home/index.tsx                                                                           | TypeScript JSX     |         17 |          9 |          7 |         33 |
+| /Users/dema/work/CostAccountingSys/src/pages/Home/service.ts                                                                          | TypeScript         |         28 |         11 |         22 |         61 |
+| /Users/dema/work/CostAccountingSys/src/pages/Home/style.less                                                                          | Less               |         77 |          8 |          9 |         94 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/checkGroupMana/index.tsx                                                    | TypeScript JSX     |        207 |         13 |         42 |        262 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/checkGroupMana/service.ts                                                   | TypeScript         |         60 |         13 |         24 |         97 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/checkGroupMana/style.less                                                   | Less               |         37 |          0 |          7 |         44 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/checkGroupMana/tableSelector.tsx                                            | TypeScript JSX     |         85 |          6 |         29 |        120 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/empMana/index.tsx                                                           | TypeScript JSX     |        257 |         15 |         48 |        320 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/empMana/service.ts                                                          | TypeScript         |         69 |         14 |         24 |        107 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/empMana/style.less                                                          | Less               |         66 |          0 |         15 |         81 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/empMana/tableSelector.tsx                                                   | TypeScript JSX     |        203 |          5 |         42 |        250 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/empMana/transform.tsx                                                       | TypeScript JSX     |         97 |         19 |         19 |        135 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/unitMana/index.tsx                                                          | TypeScript JSX     |        207 |         13 |         51 |        271 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/unitMana/service.ts                                                         | TypeScript         |         30 |         12 |         21 |         63 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/unitMana/style.less                                                         | Less               |         66 |          0 |         13 |         79 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseInfoMana/unitMana/tableSelector.tsx                                                  | TypeScript JSX     |        152 |          6 |         40 |        198 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/accountingSubMana/index.tsx                             | TypeScript JSX     |        402 |          9 |         53 |        464 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/accountingSubMana/service.ts                            | TypeScript         |         39 |         13 |         31 |         83 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/accountingSubMana/style.less                            | Less               |         33 |          4 |          6 |         43 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/accountingSubMap/index.tsx                              | TypeScript JSX     |        239 |         14 |         41 |        294 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/accountingSubMap/service.ts                             | TypeScript         |         19 |         11 |         25 |         55 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/accountingSubMap/style.less                             | Less               |         37 |          0 |          6 |         43 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/chargeItemMap/index.tsx                                 | TypeScript JSX     |        359 |         14 |         79 |        452 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/chargeItemMap/service.ts                                | TypeScript         |         39 |         14 |         24 |         77 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/chargeItemMap/style.less                                | Less               |        224 |          1 |         35 |        260 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/chargeItemMap/tableSelector.tsx                         | TypeScript JSX     |        152 |          6 |         43 |        201 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/costIncomeProjectMana/index.tsx                         | TypeScript JSX     |        236 |         12 |         45 |        293 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/costIncomeProjectMana/service.ts                        | TypeScript         |         38 |         13 |         30 |         81 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/accountingAccountSet/costIncomeProjectMana/style.less                        | Less               |         49 |          0 |          8 |         57 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/allocationLevelSet/index.tsx                               | TypeScript JSX     |        255 |         11 |         45 |        311 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/allocationLevelSet/service.ts                              | TypeScript         |         35 |         12 |         29 |         76 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/allocationLevelSet/style.less                              | Less               |         37 |          0 |          6 |         43 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/allocationParamsMap/editTableModal.tsx                     | TypeScript JSX     |        161 |          5 |         34 |        200 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/allocationParamsMap/index.tsx                              | TypeScript JSX     |        359 |         31 |         57 |        447 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/allocationParamsMap/service.ts                             | TypeScript         |         70 |         19 |         47 |        136 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/allocationParamsMap/style.less                             | Less               |         78 |          0 |         13 |         91 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/allocationParamsMap/tableSelector.tsx                      | TypeScript JSX     |        134 |          7 |         45 |        186 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/costAllocationParamsDeal/index.tsx                         | TypeScript JSX     |        379 |         70 |         52 |        501 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/costAllocationParamsDeal/service.ts                        | TypeScript         |         47 |         14 |         32 |         93 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/costAllocationParamsDeal/style.less                        | Less               |         56 |          1 |          8 |         65 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/costAllocationParamsSet/index.tsx                          | TypeScript JSX     |        258 |          9 |         46 |        313 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/costAllocationParamsSet/service.ts                         | TypeScript         |         44 |         13 |         31 |         88 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/costAllocationParamsSet/style.less                         | Less               |         37 |          0 |          6 |         43 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/costAllocationParamsSet/transform.tsx                      | TypeScript JSX     |        227 |          9 |         46 |        282 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/idleCostSetting/index.tsx                                  | TypeScript JSX     |        297 |         66 |         54 |        417 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/idleCostSetting/service.ts                                 | TypeScript         |         57 |         15 |         33 |        105 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/idleCostSetting/style.less                                 | Less               |         37 |          0 |          6 |         43 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/revenueImputationSet/index.tsx                             | TypeScript JSX     |        316 |          9 |         45 |        370 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/revenueImputationSet/service.ts                            | TypeScript         |         47 |         14 |         32 |         93 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/revenueImputationSet/style.less                            | Less               |         31 |          0 |          4 |         35 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/costAllocationSet/revenueImputationSet/transform.tsx                         | TypeScript JSX     |        125 |          4 |         27 |        156 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/departmentCostCalc/index.tsx                                    | TypeScript JSX     |        474 |         44 |        120 |        638 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/departmentCostCalc/service.ts                                   | TypeScript         |         74 |         18 |         39 |        131 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/departmentCostCalc/style.less                                   | Less               |        121 |          0 |         15 |        136 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/departmentCostCalc/transform.tsx                                | TypeScript JSX     |        235 |         15 |         52 |        302 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/diySqlMana/index.tsx                                            | TypeScript JSX     |        317 |         47 |         67 |        431 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/diySqlMana/service.ts                                           | TypeScript         |         64 |         13 |         33 |        110 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/diySqlMana/style.less                                           | Less               |         81 |          1 |         14 |         96 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/reportItemSet/index.tsx                                         | TypeScript JSX     |        531 |         18 |         61 |        610 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/reportItemSet/service.ts                                        | TypeScript         |         56 |         15 |         33 |        104 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/reportItemSet/style.less                                        | Less               |         44 |          0 |          7 |         51 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/reportItemSet/transform.tsx                                     | TypeScript JSX     |        234 |         17 |         52 |        303 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/reportProjectSetting/index.tsx                                  | TypeScript JSX     |        277 |         10 |         30 |        317 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/reportProjectSetting/service.js                                 | JavaScript         |         30 |         13 |         27 |         70 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/reportProjectSetting/style.less                                 | Less               |         77 |          0 |         16 |         93 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/visitsAndBedDayCostSetting/index.tsx                            | TypeScript JSX     |        244 |         13 |         45 |        302 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/visitsAndBedDayCostSetting/service.ts                           | TypeScript         |         36 |         12 |         29 |         77 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/visitsAndBedDayCostSetting/style.less                           | Less               |         37 |          0 |          6 |         43 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/wholeHospCostAndIncomeSet/index.tsx                             | TypeScript JSX     |        166 |          9 |         34 |        209 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/wholeHospCostAndIncomeSet/service.ts                            | TypeScript         |         33 |         12 |         29 |         74 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/otherItemSet/wholeHospCostAndIncomeSet/style.less                            | Less               |         30 |          0 |          4 |         34 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/responsibilityCenterSet/responsibilityCenter/index.tsx                       | TypeScript JSX     |        463 |         12 |         64 |        539 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/responsibilityCenterSet/responsibilityCenter/service.ts                      | TypeScript         |         48 |         15 |         35 |         98 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/responsibilityCenterSet/responsibilityCenter/style.less                      | Less               |         49 |          0 |          8 |         57 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/responsibilityCenterSet/responsibilityCenterConnect/index.tsx                | TypeScript JSX     |        187 |          8 |         41 |        236 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/responsibilityCenterSet/responsibilityCenterConnect/service.ts               | TypeScript         |         19 |         11 |          9 |         39 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/responsibilityCenterSet/responsibilityCenterConnect/style.less               | Less               |         49 |          0 |          8 |         57 |
+| /Users/dema/work/CostAccountingSys/src/pages/baseSetting/responsibilityCenterSet/responsibilityCenterConnect/transform.tsx            | TypeScript JSX     |        121 |          3 |         21 |        145 |
+| /Users/dema/work/CostAccountingSys/src/pages/costAccounting/calcPageTemplate/columns.tsx                                              | TypeScript JSX     |        944 |         48 |         38 |      1,030 |
+| /Users/dema/work/CostAccountingSys/src/pages/costAccounting/calcPageTemplate/config.ts                                                | TypeScript         |        375 |          8 |         26 |        409 |
+| /Users/dema/work/CostAccountingSys/src/pages/costAccounting/calcPageTemplate/index.tsx                                                | TypeScript JSX     |        687 |         16 |         94 |        797 |
+| /Users/dema/work/CostAccountingSys/src/pages/costAccounting/calcPageTemplate/service.ts                                               | TypeScript         |        340 |         22 |         40 |        402 |
+| /Users/dema/work/CostAccountingSys/src/pages/costAccounting/calcPageTemplate/style.less                                               | Less               |         39 |          0 |         10 |         49 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/drugCostManagement/index.tsx                   | TypeScript JSX     |        303 |         17 |         48 |        368 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/drugCostManagement/service.ts                  | TypeScript         |         65 |         14 |         32 |        111 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/drugCostManagement/style.less                  | Less               |         49 |          0 |          7 |         56 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/equipmentCostManagement/index.tsx              | TypeScript JSX     |        299 |         17 |         48 |        364 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/equipmentCostManagement/service.ts             | TypeScript         |         60 |         13 |         30 |        103 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/equipmentCostManagement/style.less             | Less               |         49 |          0 |          7 |         56 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/materialCostManagement/index.tsx               | TypeScript JSX     |        331 |         21 |         50 |        402 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/materialCostManagement/service.ts              | TypeScript         |         60 |         13 |         30 |        103 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/materialCostManagement/style.less              | Less               |         49 |          0 |          7 |         56 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/personnelClassificationMana/index.tsx          | TypeScript JSX     |        481 |         22 |         88 |        591 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/personnelClassificationMana/service.ts         | TypeScript         |         85 |         22 |         42 |        149 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/personnelClassificationMana/style.less         | Less               |        223 |          0 |         31 |        254 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/personnelClassificationMana/tableSelector.tsx  | TypeScript JSX     |        134 |          6 |         43 |        183 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/spaceCostManagement/index.tsx                  | TypeScript JSX     |        328 |         17 |         47 |        392 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/spaceCostManagement/service.ts                 | TypeScript         |         54 |         13 |         30 |         97 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/basicCostManagement/spaceCostManagement/style.less                 | Less               |         49 |          0 |          7 |         56 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/diseaseCostManagement/diseaseDiagnosisComparison/index.tsx         | TypeScript JSX     |        287 |          9 |         46 |        342 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/diseaseCostManagement/diseaseDiagnosisComparison/service.ts        | TypeScript         |         56 |         14 |         31 |        101 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/diseaseCostManagement/diseaseDiagnosisComparison/style.less        | Less               |         49 |          0 |          8 |         57 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/diseaseCostManagement/diseaseMana/index.tsx                        | TypeScript JSX     |        225 |         16 |         45 |        286 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/diseaseCostManagement/diseaseMana/service.ts                       | TypeScript         |         56 |         13 |         30 |         99 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/diseaseCostManagement/diseaseMana/style.less                       | Less               |         49 |          0 |          8 |         57 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana/index.tsx              | TypeScript JSX     |        495 |         11 |         81 |        587 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana/service.ts             | TypeScript         |         83 |         20 |         40 |        143 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana/style.less             | Less               |        209 |          0 |         30 |        239 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana/tableSelector.tsx      | TypeScript JSX     |        152 |          6 |         43 |        201 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/components/match.tsx         | TypeScript JSX     |        455 |         14 |         56 |        525 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/components/setting.tsx       | TypeScript JSX     |        535 |         15 |         56 |        606 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/components/style.less        | Less               |        449 |          7 |         66 |        522 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/components/tableSelector.tsx | TypeScript JSX     |        145 |          7 |         44 |        196 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/index.tsx                    | TypeScript JSX     |        491 |         28 |         62 |        581 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/service.ts                   | TypeScript         |        198 |         41 |         62 |        301 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/style.less                   | Less               |        153 |          0 |         25 |        178 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet/editTableModal.tsx       | TypeScript JSX     |        139 |          5 |         32 |        176 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet/index.tsx                | TypeScript JSX     |        367 |         11 |         50 |        428 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet/service.ts               | TypeScript         |         75 |         20 |         51 |        146 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet/style.less               | Less               |         78 |          0 |         13 |         91 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet/tableSelector.tsx        | TypeScript JSX     |        134 |          7 |         45 |        186 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/projectShareParamsSet/index.tsx              | TypeScript JSX     |        250 |         11 |         47 |        308 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/projectShareParamsSet/service.ts             | TypeScript         |         51 |         14 |         31 |         96 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/projectShareParamsSet/style.less             | Less               |         49 |          0 |          7 |         56 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/standardProjectMana/drawer.tsx               | TypeScript JSX     |        388 |         12 |         49 |        449 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/standardProjectMana/index.tsx                | TypeScript JSX     |        364 |         16 |         49 |        429 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/standardProjectMana/service.ts               | TypeScript         |        113 |         21 |         49 |        183 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/projectCostManagement/standardProjectMana/style.less               | Less               |        212 |          1 |         25 |        238 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportColumnMana/UpDateActBtn.tsx                       | TypeScript JSX     |        329 |          9 |         45 |        383 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportColumnMana/index.tsx                              | TypeScript JSX     |        227 |         13 |         49 |        289 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportColumnMana/service.ts                             | TypeScript         |        100 |         16 |         38 |        154 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportColumnMana/style.less                             | Less               |         64 |          3 |         13 |         80 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportColumnMana/transform.tsx                          | TypeScript JSX     |        110 |          4 |         19 |        133 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportListMana/index.tsx                                | TypeScript JSX     |        460 |         19 |         99 |        578 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportListMana/service.ts                               | TypeScript         |         64 |         18 |         36 |        118 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportListMana/style.less                               | Less               |        223 |          0 |         33 |        256 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportListMana/tableSelector.tsx                        | TypeScript JSX     |        154 |          6 |         43 |        203 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportNavSet/index.tsx                                  | TypeScript JSX     |        298 |         12 |         50 |        360 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportNavSet/service.ts                                 | TypeScript         |         57 |         12 |         31 |        100 |
+| /Users/dema/work/CostAccountingSys/src/pages/costLibraryManagement/reportMana/reportNavSet/style.less                                 | Less               |         37 |          0 |          7 |         44 |
+| /Users/dema/work/CostAccountingSys/src/pages/incomeCollectionAction/index.tsx                                                         | TypeScript JSX     |        305 |         11 |         38 |        354 |
+| /Users/dema/work/CostAccountingSys/src/pages/incomeCollectionAction/service.ts                                                        | TypeScript         |         13 |          2 |          9 |         24 |
+| /Users/dema/work/CostAccountingSys/src/pages/incomeCollectionAction/style.less                                                        | Less               |        183 |          0 |         31 |        214 |
+| /Users/dema/work/CostAccountingSys/src/pages/monthlyInfoCollection/components/leftAndRighrStructure.tsx                               | TypeScript JSX     |        346 |         14 |         58 |        418 |
+| /Users/dema/work/CostAccountingSys/src/pages/monthlyInfoCollection/components/style.less                                              | Less               |        153 |          0 |         27 |        180 |
+| /Users/dema/work/CostAccountingSys/src/pages/monthlyInfoCollection/index.tsx                                                          | TypeScript JSX     |        176 |         13 |         22 |        211 |
+| /Users/dema/work/CostAccountingSys/src/pages/monthlyInfoCollection/service.ts                                                         | TypeScript         |         66 |         19 |         33 |        118 |
+| /Users/dema/work/CostAccountingSys/src/pages/monthlyInfoCollection/style.less                                                         | Less               |         49 |          0 |          4 |         53 |
+| /Users/dema/work/CostAccountingSys/src/pages/monthlyInfoCollection/tableSelector.tsx                                                  | TypeScript JSX     |        153 |          2 |         38 |        193 |
+| /Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/empCostDataImport/index.tsx                                            | TypeScript JSX     |        200 |         36 |         25 |        261 |
+| /Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/empCostDataImport/service.js                                           | JavaScript         |         39 |         13 |         27 |         79 |
+| /Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/empCostDataImport/style.less                                           | Less               |         84 |          0 |         17 |        101 |
+| /Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/incomeCostDataImport/index.tsx                                         | TypeScript JSX     |        391 |         56 |         55 |        502 |
+| /Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/incomeCostDataImport/service.js                                        | JavaScript         |         62 |         16 |         29 |        107 |
+| /Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/incomeCostDataImport/style.less                                        | Less               |         74 |          0 |         16 |         90 |
+| /Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/incomeCostDataImport/test.html                                         | HTML               |         20 |          0 |          1 |         21 |
+| /Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/patientChargeItemsImport/index.tsx                                     | TypeScript JSX     |        284 |         64 |         32 |        380 |
+| /Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/patientChargeItemsImport/service.js                                    | JavaScript         |         45 |         14 |         28 |         87 |
+| /Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/patientChargeItemsImport/style.less                                    | Less               |         91 |          1 |         17 |        109 |
+| /Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/patientInfoImport/index.tsx                                            | TypeScript JSX     |        312 |         54 |         31 |        397 |
+| /Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/patientInfoImport/service.js                                           | JavaScript         |         39 |         13 |         27 |         79 |
+| /Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/patientInfoImport/style.less                                           | Less               |         84 |          1 |         16 |        101 |
+| /Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/wholeHospIncomeAndCost/index.tsx                                       | TypeScript JSX     |        260 |         29 |         41 |        330 |
+| /Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/wholeHospIncomeAndCost/service.ts                                      | TypeScript         |         43 |         12 |         29 |         84 |
+| /Users/dema/work/CostAccountingSys/src/pages/monthlyInfoSearch/wholeHospIncomeAndCost/style.less                                      | Less               |        162 |          0 |         27 |        189 |
+| /Users/dema/work/CostAccountingSys/src/pages/noAccess/index.tsx                                                                       | TypeScript JSX     |         18 |          9 |          4 |         31 |
+| /Users/dema/work/CostAccountingSys/src/pages/noAccess/style.less                                                                      | Less               |         45 |          0 |          4 |         49 |
+| /Users/dema/work/CostAccountingSys/src/pages/reportExport/report/ExportProgressModal.tsx                                              | TypeScript JSX     |         42 |          8 |         11 |         61 |
+| /Users/dema/work/CostAccountingSys/src/pages/reportExport/report/index.tsx                                                            | TypeScript JSX     |        336 |         52 |        120 |        508 |
+| /Users/dema/work/CostAccountingSys/src/pages/reportExport/report/service.ts                                                           | TypeScript         |         21 |          9 |         19 |         49 |
+| /Users/dema/work/CostAccountingSys/src/pages/reportExport/report/style.less                                                           | Less               |         80 |          0 |          9 |         89 |
+| /Users/dema/work/CostAccountingSys/src/pages/setting/fenyeTemplate/index.tsx                                                          | TypeScript JSX     |        304 |         13 |         47 |        364 |
+| /Users/dema/work/CostAccountingSys/src/pages/setting/fenyeTemplate/service.ts                                                         | TypeScript         |         47 |         12 |         23 |         82 |
+| /Users/dema/work/CostAccountingSys/src/pages/setting/fenyeTemplate/style.less                                                         | Less               |         37 |          0 |          7 |         44 |
+| /Users/dema/work/CostAccountingSys/src/pages/setting/qualitativeOptionsMana/index.tsx                                                 | TypeScript JSX     |        286 |          9 |         46 |        341 |
+| /Users/dema/work/CostAccountingSys/src/pages/setting/qualitativeOptionsMana/service.ts                                                | TypeScript         |         62 |         14 |         24 |        100 |
+| /Users/dema/work/CostAccountingSys/src/pages/setting/qualitativeOptionsMana/style.less                                                | Less               |         37 |          0 |          7 |         44 |
+| /Users/dema/work/CostAccountingSys/src/pages/specialDataImport/index.tsx                                                              | TypeScript JSX     |        204 |          9 |         37 |        250 |
+| /Users/dema/work/CostAccountingSys/src/pages/specialDataImport/service.ts                                                             | TypeScript         |         33 |         12 |         26 |         71 |
+| /Users/dema/work/CostAccountingSys/src/pages/specialDataImport/style.less                                                             | Less               |         50 |          0 |          7 |         57 |
+| /Users/dema/work/CostAccountingSys/src/pages/static/index.tsx                                                                         | TypeScript JSX     |         54 |         10 |         21 |         85 |
+| /Users/dema/work/CostAccountingSys/src/pages/static/service.js                                                                        | JavaScript         |         45 |         14 |         28 |         87 |
+| /Users/dema/work/CostAccountingSys/src/pages/static/style.less                                                                        | Less               |         81 |          0 |         16 |         97 |
+| /Users/dema/work/CostAccountingSys/src/services/auth.ts                                                                               | TypeScript         |         26 |         12 |         11 |         49 |
+| /Users/dema/work/CostAccountingSys/src/services/demo/UserController.ts                                                                | TypeScript         |         74 |         17 |          6 |         97 |
+| /Users/dema/work/CostAccountingSys/src/services/demo/index.ts                                                                         | TypeScript         |          4 |          2 |          2 |          8 |
+| /Users/dema/work/CostAccountingSys/src/services/demo/typings.d.ts                                                                     | TypeScript         |         48 |         10 |         11 |         69 |
+| /Users/dema/work/CostAccountingSys/src/services/getDic.ts                                                                             | TypeScript         |         38 |         12 |         26 |         76 |
+| /Users/dema/work/CostAccountingSys/src/typings.d.ts                                                                                   | TypeScript         |         21 |         10 |          3 |         34 |
+| /Users/dema/work/CostAccountingSys/src/utils/devicePixelRatio.js                                                                      | JavaScript         |         38 |         27 |          2 |         67 |
+| /Users/dema/work/CostAccountingSys/src/utils/format.ts                                                                                | TypeScript         |          9 |         10 |          2 |         21 |
+| /Users/dema/work/CostAccountingSys/src/utils/tableToExcel.ts                                                                          | TypeScript         |         42 |         21 |         23 |         86 |
+| /Users/dema/work/CostAccountingSys/src/utils/tableToMultiHeaderExcel.ts                                                               | TypeScript         |        221 |         10 |         51 |        282 |
+| /Users/dema/work/CostAccountingSys/src/utils/tooljs.ts                                                                                | TypeScript         |        220 |         39 |         97 |        356 |
+| /Users/dema/work/CostAccountingSys/src/utils/zhongtaiA.js                                                                             | JavaScript         |          1 |          8 |          0 |          9 |
+| /Users/dema/work/CostAccountingSys/src/utils/zhongtaiB.js                                                                             | JavaScript         |          1 |          8 |          0 |          9 |
+| /Users/dema/work/CostAccountingSys/src/utils/zhongtaiC.js                                                                             | JavaScript         |          1 |          8 |          0 |          9 |
+| /Users/dema/work/CostAccountingSys/tsconfig.json                                                                                      | JSON with Comments |          3 |          0 |          1 |          4 |
+| /Users/dema/work/CostAccountingSys/typings.d.ts                                                                                       | TypeScript         |          8 |          8 |          2 |         18 |
+| /Users/dema/work/CostAccountingSys/yarn-error.log                                                                                     | Log                |      8,469 |          0 |      1,293 |      9,762 |
+| Total                                                                                                                                 |                    |     42,131 |      2,729 |      8,303 |     53,163 |
++---------------------------------------------------------------------------------------------------------------------------------------+--------------------+------------+------------+------------+------------+

+ 3 - 44
.umirc.ts

@@ -2,7 +2,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2022-12-14 14:14:32
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2024-07-17 15:38:48
+ * @LastEditTime: 2024-08-23 11:20:10
  * @FilePath: /BudgetManaSystem/.umirc.ts
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -75,8 +75,9 @@ export default defineConfig({
   routes: [
     {
       path: '/',
-      redirect: '/baseSetting/otherItemSet',
+      redirect: '/home',
     },
+    { path: '*', component: '@/pages/404' },
     {
       path: '/noAccess',
       component: './noAccess',
@@ -97,13 +98,11 @@ export default defineConfig({
               path: '/baseSetting/responsibilityCenterSet/responsibilityCenter',
               name: '责任中心管理',
               component: './baseSetting/responsibilityCenterSet/responsibilityCenter/index',
-              wrappers: ['@/authWrapper'],
             },
             {
               path: '/baseSetting/responsibilityCenterSet/responsibilityCenterConnect',
               name: '责任中心对应',
               component: './baseSetting/responsibilityCenterSet/responsibilityCenterConnect/index',
-              wrappers: ['@/authWrapper'],
             },
           ],
         },
@@ -115,25 +114,21 @@ export default defineConfig({
               path: '/baseSetting/accountingAccountSet/costIncomeProjectMana',
               name: '会计收入项目管理',
               component: './baseSetting/accountingAccountSet/costIncomeProjectMana/index',
-              wrappers: ['@/authWrapper'],
             },
             {
               path: '/baseSetting/accountingAccountSet/accountingSubMana',
               name: '会计科目管理',
               component: './baseSetting/accountingAccountSet/accountingSubMana/index',
-              wrappers: ['@/authWrapper'],
             },
             {
               path: '/baseSetting/accountingAccountSet/accountingSubMap',
               name: '会计科目对应',
               component: './baseSetting/accountingAccountSet/accountingSubMap/index',
-              wrappers: ['@/authWrapper'],
             },
             {
               path: '/baseSetting/accountingAccountSet/chargeItemMap',
               name: '收费项目对应',
               component: './baseSetting/accountingAccountSet/chargeItemMap/index',
-              wrappers: ['@/authWrapper'],
             },
           ],
         },
@@ -146,37 +141,31 @@ export default defineConfig({
               path: '/baseSetting/costAllocationSet/allocationLevelSet',
               name: '分摊层级设置',
               component: './baseSetting/costAllocationSet/allocationLevelSet/index',
-              wrappers: ['@/authWrapper'],
             },
             {
               path: '/baseSetting/costAllocationSet/idleCostSetting',
               name: '闲置成本设置',
               component: './baseSetting/costAllocationSet/idleCostSetting/index',
-              wrappers: ['@/authWrapper'],
             },
             {
               path: '/baseSetting/costAllocationSet/costAllocationParamsSet',
               name: '成本分摊参数设置',
               component: './baseSetting/costAllocationSet/costAllocationParamsSet/index',
-              wrappers: ['@/authWrapper'],
             },
             {
               path: '/baseSetting/costAllocationSet/costAllocationParamsDeal',
               name: '成本分摊参数处理',
               component: './baseSetting/costAllocationSet/costAllocationParamsDeal/index',
-              wrappers: ['@/authWrapper'],
             },
             {
               path: '/baseSetting/costAllocationSet/allocationParamsMap',
               name: '分摊参数对应',
               component: './baseSetting/costAllocationSet/allocationParamsMap/index',
-              wrappers: ['@/authWrapper'],
             },
             {
               path: '/baseSetting/costAllocationSet/revenueImputationSet',
               name: '收入归集设置',
               component: './baseSetting/costAllocationSet/revenueImputationSet/index',
-              wrappers: ['@/authWrapper'],
             },
           ],
         },
@@ -189,31 +178,26 @@ export default defineConfig({
               path: '/baseSetting/otherItemSet/diySqlMana',
               name: '自定义SQl管理',
               component: './baseSetting/otherItemSet/diySqlMana/index',
-              wrappers: ['@/authWrapper'],
             },
             {
               path: '/baseSetting/otherItemSet/reportItemSet',
               name: '报表项目设置',
               component: './baseSetting/otherItemSet/reportItemSet/index',
-              wrappers: ['@/authWrapper'],
             },
             {
               path: '/baseSetting/otherItemSet/departmentCostCalc',
               name: '科室损益计算',
               component: './baseSetting/otherItemSet/departmentCostCalc/index',
-              wrappers: ['@/authWrapper'],
             },
             {
               path: '/baseSetting/otherItemSet/visitsAndBedDayCostSetting',
               name: '诊次/床日成本设置',
               component: './baseSetting/otherItemSet/visitsAndBedDayCostSetting/index',
-              wrappers: ['@/authWrapper'],
             },
             {
               path: '/baseSetting/otherItemSet/wholeHospCostAndIncomeSet',
               name: '全院其他收支设置',
               component: './baseSetting/otherItemSet/wholeHospCostAndIncomeSet/index',
-              wrappers: ['@/authWrapper'],
             },
           ],
         },
@@ -223,19 +207,16 @@ export default defineConfig({
       path:'/monthlyInfoCollection',
       name: '月度信息采集2',
       component:'./monthlyInfoCollection/index',
-      wrappers: ['@/authWrapper'],
     },
     {
       path:'/specialDataImport',
       name: '填报数据导入',
       component:'./specialDataImport/index',
-      wrappers: ['@/authWrapper'],
     },
     {
       path:'/incomeCollectionAction',
       name: '收入归集',
       component:'./incomeCollectionAction/index',
-      wrappers: ['@/authWrapper'],
     },
     {
       path: '/monthlyInfoSearch',
@@ -245,31 +226,26 @@ export default defineConfig({
           path: '/monthlyInfoSearch/wholeHospIncomeAndCost',
           name: '全院其他收支',
           component: './monthlyInfoSearch/wholeHospIncomeAndCost/index',
-          wrappers: ['@/authWrapper'],
         },
         {
           path: '/monthlyInfoSearch/empCostDataImport',
           name: '人事成本数据导入',
           component: './monthlyInfoSearch/empCostDataImport/index',
-          wrappers: ['@/authWrapper'],
         },
         {
           path: '/monthlyInfoSearch/patientChargeItemsImport',
           name: '患者收费项目导入',
           component: './monthlyInfoSearch/patientChargeItemsImport/index',
-          wrappers: ['@/authWrapper'],
         },
         {
           path: '/monthlyInfoSearch/patientInfoImport',
           name: '患者信息导入',
           component: './monthlyInfoSearch/patientInfoImport/index',
-          wrappers: ['@/authWrapper'],
         },
         {
           path: '/monthlyInfoSearch/incomeCostDataImport',
           name: '收入成本数据导入',
           component: './monthlyInfoSearch/incomeCostDataImport/index',
-          wrappers: ['@/authWrapper'],
         },
       ],
     },
@@ -280,7 +256,6 @@ export default defineConfig({
         {
           path: '/costAccounting/:calcPageKey',
           component: './costAccounting/calcPageTemplate/index',
-          wrappers: ['@/authWrapper'],
         }
       ],
     },
@@ -294,7 +269,6 @@ export default defineConfig({
             {
               path: '/reportExport/:reportType/:reportCode',
               component: './reportExport/report',
-              wrappers: ['@/authWrapper'],
             },
           ]
         }
@@ -320,31 +294,26 @@ export default defineConfig({
               path: '/costLibraryManagement/basicCostManagement/personnelClassificationMana',
               name: '人事分类管理',
               component: './costLibraryManagement/basicCostManagement/personnelClassificationMana/index',
-              wrappers: ['@/authWrapper'],
             },
             {
               path: '/costLibraryManagement/basicCostManagement/drugCostManagement',
               name: '药品成本管理',
               component: './costLibraryManagement/basicCostManagement/drugCostManagement/index',
-              wrappers: ['@/authWrapper'],
             },
             {
               path: '/costLibraryManagement/basicCostManagement/materialCostManagement',
               name: '材料成本管理',
               component: './costLibraryManagement/basicCostManagement/materialCostManagement/index',
-              wrappers: ['@/authWrapper'],
             },
             {
               path: '/costLibraryManagement/basicCostManagement/equipmentCostManagement',
               name: '设备成本管理',
               component: './costLibraryManagement/basicCostManagement/equipmentCostManagement/index',
-              wrappers: ['@/authWrapper'],
             },
             {
               path: '/costLibraryManagement/basicCostManagement/spaceCostManagement',
               name: '空间成本管理',
               component: './costLibraryManagement/basicCostManagement/spaceCostManagement/index',
-              wrappers: ['@/authWrapper'],
             },
           ],
         },
@@ -356,25 +325,21 @@ export default defineConfig({
               path: '/costLibraryManagement/projectCostManagement/chargeItemsMana',
               name: '收费项目管理',
               component: './costLibraryManagement/projectCostManagement/chargeItemsMana/index',
-              wrappers: ['@/authWrapper'],
             },
             {
               path: '/costLibraryManagement/projectCostManagement/standardProjectMana',
               name: '标准项目管理',
               component: './costLibraryManagement/projectCostManagement/standardProjectMana/index',
-              wrappers: ['@/authWrapper'],
             },
             {
               path: '/costLibraryManagement/projectCostManagement/projectShareParamsSet',
               name: '项目分摊参数设置',
               component: './costLibraryManagement/projectCostManagement/projectShareParamsSet/index',
-              wrappers: ['@/authWrapper'],
             },
             {
               path: '/costLibraryManagement/projectCostManagement/projectCostShareSet',
               name: '项目成本分摊设置',
               component: './costLibraryManagement/projectCostManagement/projectCostShareSet/index',
-              wrappers: ['@/authWrapper'],
             },
           ],
         },
@@ -386,7 +351,6 @@ export default defineConfig({
               path: '/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana',
               name: '收费项目管理',
               component: './costLibraryManagement/medicalOrderProject/medicalOrderProjectMana/index',
-              wrappers: ['@/authWrapper'],
             },
           ],
         },
@@ -398,13 +362,11 @@ export default defineConfig({
               path: '/costLibraryManagement/diseaseCostManagement/diseaseMana',
               name: '病种管理',
               component: './costLibraryManagement/diseaseCostManagement/diseaseMana/index',
-              wrappers: ['@/authWrapper'],
             },
             {
               path: '/costLibraryManagement/diseaseCostManagement/diseaseDiagnosisComparison',
               name: '病种诊断对照',
               component: './costLibraryManagement/diseaseCostManagement/diseaseDiagnosisComparison/index',
-              wrappers: ['@/authWrapper'],
             },
           ],
         },
@@ -423,18 +385,15 @@ export default defineConfig({
               path: '/costLibraryManagement/reportMana/reportColumnMana',
               name: '报表列管理',
               component: './costLibraryManagement/reportMana/reportColumnMana/index',
-              wrappers: ['@/authWrapper'],
             },
             {
               path: '/costLibraryManagement/reportMana/reportListMana',
               name: '报表管理',
-              wrappers: ['@/authWrapper'],
               component: './costLibraryManagement/reportMana/reportListMana/index',
             },
             {
               path: '/costLibraryManagement/reportMana/reportNavSet',
               name: '报表跳转',
-              wrappers: ['@/authWrapper'],
               component: './costLibraryManagement/reportMana/reportNavSet/index',
             },
           ],

+ 140 - 312
src/app.tsx

@@ -2,7 +2,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2022-12-14 14:14:32
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2024-06-11 16:15:45
+ * @LastEditTime: 2024-09-06 11:30:19
  * @FilePath: /BudgetManaSystem/src/app.ts
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -27,14 +27,39 @@ import Static from './pages/static/index';
 import DevicePixelRatio from './utils/devicePixelRatio.js';
 
 import Icon, { createFromIconfontCN, FolderOutlined } from '@ant-design/icons';
-import { getPlatformMenu } from '@/services/auth';
-import { Key, useEffect, useState } from 'react';
+import { getLastComputeDate, getPlatformMenu } from '@/services/auth';
+import { JSXElementConstructor, Key, ReactElement, ReactFragment, ReactPortal, useEffect, useRef, useState } from 'react';
 
 
 import './utils/zhongtaiC'
 import { RuntimeAntdConfig } from '@umijs/max';
 import { useLocation } from '@umijs/max';
 import ResizableContainer from './components/ResizableContainer/index';
+import { IRoute } from '@umijs/max';
+
+
+// 权限检查函数
+function checkAccess(menu: IRoute[], pathname: string): boolean {
+  for (const item of menu) {
+    if (item.path === pathname) {
+      return true;
+    }
+    if (item.children) {
+      const hasAccess = checkAccess(item.children, pathname);
+      if (hasAccess) {
+        return true;
+      }
+    }
+  }
+  return false;
+}
+
+function removePrefix(input: string, prefix: string): string {
+  if (input.startsWith(prefix)) {
+    return input.slice(prefix.length);
+  }
+  return input;
+}
 
 
 const IconFont = createFromIconfontCN({
@@ -127,14 +152,35 @@ const findItemByKey: any = (tree: any[], key: string, keyName: string) => {
 
 
 export async function getInitialState(): Promise<{
-  isCollapsed: boolean, spacicalPageParamsType?: any[], userData: UserData, memuData: any[]
+  isCollapsed: boolean, spacicalPageParamsType?: any[], userData: UserData, memuData: any[], computeDate: string
 }> {
-
   new DevicePixelRatio().init();
 
-  return { isCollapsed: false, spacicalPageParamsType: [], userData: {}, memuData: [] };
+  // 默认的计算日期
+  let computeDate = `${new Date().getFullYear()}-${(new Date().getMonth() + 1).toString().padStart(2, '0')}`;
+
+  try {
+    // 获取最新计算日期的请求
+    const resp = await getLastComputeDate();
+    if (resp) {
+      computeDate = resp; // 更新计算日期
+    }
+  } catch (error) {
+    console.error('获取计算日期失败:', error); // 捕获和处理错误
+  }
+
+  // 返回状态
+  return {
+    isCollapsed: false,
+    spacicalPageParamsType: [],
+    userData: {},
+    memuData: [],
+    computeDate: computeDate,
+  };
 }
 
+
+
 export const request: RequestConfig = {
   // 统一的请求设定
   timeout: 100000000,
@@ -209,12 +255,12 @@ export const request: RequestConfig = {
 
             } else {
               notification.error({
-                top:72,
+                top: 72,
                 message: '提示',
                 description: errorMessage || msg,
                 placement: 'topRight',
-                icon:<IconFont type="icon-jinggaotishi"  />,
-                style:{padding:16,borderRadius:8}
+                icon: <IconFont type="icon-jinggaotishi" />,
+                style: { padding: 16, borderRadius: 8 }
               })
               return false
             }
@@ -229,12 +275,12 @@ export const request: RequestConfig = {
               } else {
 
                 notification.error({
-                  top:72,
+                  top: 72,
                   message: '提示',
                   description: errorMessage || msg,
                   placement: 'topRight',
-                  icon:<IconFont type="icon-jinggaotishi"  />,
-                  style:{padding:16,borderRadius:8}
+                  icon: <IconFont type="icon-jinggaotishi" />,
+                  style: { padding: 16, borderRadius: 8 }
                 })
                 return false;
               }
@@ -308,47 +354,47 @@ const reportCheck = () => {
 
 
 
-export function patchClientRoutes({ routes }: { routes: any }) {
+// export function patchClientRoutes({ routes }: { routes: any }) {
 
-  const treeLoop = (treeData: any) => {
+//   const treeLoop = (treeData: any) => {
 
-    if (treeData.routes) {
-      // const paths = [...new Array(100).keys()].map((a, index) => ({
-      //   path: `${treeData.path == '/' ? '' : treeData.path}/reports/${index}`,
-      //   exact: true,
-      //   component: require('@/pages/platform/setting/reports/index.tsx').default,
-      // }));
+//     if (treeData.routes) {
+//       // const paths = [...new Array(100).keys()].map((a, index) => ({
+//       //   path: `${treeData.path == '/' ? '' : treeData.path}/reports/${index}`,
+//       //   exact: true,
+//       //   component: require('@/pages/platform/setting/reports/index.tsx').default,
+//       // }));
 
-      const lanhuPagePaths = [...new Array(5).keys()].map((a, index) => ({
-        path: `${treeData.path == '/' ? '' : treeData.path}/static`,
-        exact: true,
-        element: <Static />,
-      }));
+//       const lanhuPagePaths = [...new Array(5).keys()].map((a, index) => ({
+//         path: `${treeData.path == '/' ? '' : treeData.path}/static`,
+//         exact: true,
+//         element: <Static />,
+//       }));
 
-      //console.log({paths});
+//       //console.log({paths});
 
-      // paths.forEach((a: any) => {
-      //   treeData.routes.push(a);
-      // });
+//       // paths.forEach((a: any) => {
+//       //   treeData.routes.push(a);
+//       // });
 
-      lanhuPagePaths.forEach((a: any) => {
-        treeData.routes.push(a);
-      });
+//       lanhuPagePaths.forEach((a: any) => {
+//         treeData.routes.push(a);
+//       });
 
-    }
-    if (treeData.routes && treeData.routes.length > 0) {
-      treeData.routes.forEach((a: any) => {
-        treeLoop(a);
-      })
-    }
+//     }
+//     if (treeData.routes && treeData.routes.length > 0) {
+//       treeData.routes.forEach((a: any) => {
+//         treeLoop(a);
+//       })
+//     }
 
-  }
+//   }
 
 
 
-  treeLoop(routes[0]);
+//   treeLoop(routes[0]);
 
-}
+// }
 
 
 //布局配置
@@ -360,199 +406,50 @@ export const layout = ({ initialState, setInitialState }: { initialState: any, s
 
   const location = useLocation();
   const currentPath = location.pathname;
+  const isMenuClickRef = useRef(false);
 
   const onCollapse = (isCollapsed: boolean): void => {
     setInitialState({ ...initialState, isCollapsed }).then();
   };
 
-
-  useEffect(() => {
-
-    function findMenuItemByPath(menu: any, path: string) {
-      let result: any = null;
-
-      // 递归搜索函数
-      function search(items: any) {
-        for (let item of items) {
-          if (item.path === path) {
-            result = item;
-            return; // 找到匹配项,提前终止搜索
-          }
-          if (item.children && item.children.length > 0) {
-            search(item.children); // 递归搜索子菜单
-            if (result) return; // 如果在子菜单中找到匹配项,提前终止搜索
-          }
-        }
-      }
-
-      search(menu); // 从顶层菜单开始搜索
-      return result;
+  const checkPermission = (path: string) => {
+    const { memuData = [] } = initialState || {};  
+    // 检查是否为无访问权限页面
+    if (path === '/noAccess') {
+      return true;
     }
-
-    // const matchedItem = findMenuItemByPath(menuData, currentPath);
-    // if (matchedItem) {
-
-    //   set_selectedKeys([matchedItem.key]);
-    // }
-
-  }, [currentPath])
+  
+    // 检查访问权限
+    const hasAccess = checkAccess([...memuData], path);
+  
+    return hasAccess;
+  };
+  
+  
+
+
+  // useEffect(() => {
+  //   return history.listen((location: any) => {
+  //     if (!isMenuClickRef.current) {
+  //       const path = removePrefix(location.location.pathname, '/CostAccountingSys');
+  //       const hasPermission = checkPermission(path);
+  //       console.log({ hasPermission, path });
+  
+  //       // 如果hasPermission为true,确保不会跳转到/noAccess
+  //       if (!hasPermission && path !== '/noAccess') {
+  //         history.push('/noAccess');
+  //       }
+  //     }
+  //     isMenuClickRef.current = false; // 重置状态
+  //   });
+  // }, [initialState]);
+  
+  
 
 
   return {
     menuHeaderRender: false,
-    // token: {
-    //   sider: {
-
-    //     colorMenuBackground: '#fff',
-    //     colorTextMenuActive: '#3376FE',
-    //     colorTextMenuSelected: '#3376FE',
-    //     colorTextMenuTitle: '#17181A',
-    //     colorTextMenu: '#17181A',
-    //     //colorBgMenuItemHover:'##f0f2f5',
-    //     colorBgMenuItemSelected: '#F2F6FF',
-
-    //     // colorBgMenuItemCollapsedHover:'#f0f2f5',
-    //     // //colorBgMenuItemCollapsedSelected:'blue'
-
-    //   }
-
-    // },
-
     disableMobile: true,
-    // menuProps: {
-    //   openKeys: [...openKeys],
-    //   selectedKeys: [...selectedKeys],
-    //   onSelect: ({ selectedKeys }: { selectedKeys: string[] }) => {
-    //     set_selectedKeys(selectedKeys);
-    //     localStorage.setItem('selectedKeys', JSON.stringify(selectedKeys));
-    //   },
-    //   onOpenChange: (keys: string[]) => {
-    //     set_openKeys([...keys]);
-    //     localStorage.setItem('openKeys', JSON.stringify(keys));
-    //   },
-    // },
-    menu: {
-      locale: false,
-      // request: async () => {
-      //   const userData = localStorage.getItem('userData');
-      //   const currentSelectedTab = localStorage.getItem('currentSelectedTab');
-      //   if (currentSelectedTab) {
-      //     const { menuId } = JSON.parse(currentSelectedTab);
-      //     const systemId = menuId;
-      //     const data: any[] = await getPlatformMenu(systemId);
-      //     if (data) {
-
-      //       const selectedKeys = localStorage.getItem('selectedKeys');
-      //       const openKeys = localStorage.getItem('openKeys');
-      //       set_menuData(data);
-      //       if (selectedKeys && openKeys) {
-      //         const _selectedKeys = JSON.parse(selectedKeys);
-      //         const _openKeys = JSON.parse(openKeys);
-      //         set_openKeys(_openKeys);
-      //         set_selectedKeys(_selectedKeys);
-      //       } else {
-      //         if (data[0].children && data[0].children.length > 0) {
-
-      //           const childs = data[0].children;
-      //           set_openKeys([data[0].key]);
-      //           set_selectedKeys([childs[0].key]);
-      //           localStorage.setItem('openKeys', JSON.stringify([data[0].key]));
-      //           localStorage.setItem('selectedKeys', JSON.stringify([childs[0].key]));
-      //           history.push(`${childs[0].path}`);
-
-      //         } else {
-      //           if (data[0]) {
-      //             set_openKeys([data[0].key]);
-      //             set_selectedKeys([data[0].key]);
-      //             localStorage.setItem('openKeys', JSON.stringify([data[0].key]));
-      //             localStorage.setItem('selectedKeys', JSON.stringify([data[0].key]));
-      //             history.push(`${data[0].path}`);
-      //           }
-      //         }
-      //       }
-
-
-      //       function processMenuItem(item: any) {
-      //         if (!item) return null;
-
-      //         let newItem = { ...item };  // 深拷贝当前节点
-
-      //         // 如果是叶子节点
-      //         if (!item.children || item.children.length === 0) {
-      //           let queryParams = [];
-
-      //           if (newItem.softUrl) {
-      //             queryParams.push(`softUrl=${newItem.softUrl}`);
-      //           }
-
-      //           if (newItem.youshuUrl) {
-      //             queryParams.push(`youshuUrl=${newItem.youshuUrl}`);
-      //           }
-
-      //           if (queryParams.length > 0) {
-      //             newItem.path = `${newItem.path}?${queryParams.join('&')}`;
-      //           }
-
-      //           return newItem; // 返回新的叶子节点
-      //         }
-
-      //         // 否则,递归处理子节点
-      //         newItem.children = newItem.children.map(processMenuItem);
-      //         return newItem;
-      //       }
-
-      //       function processMenu(menuArray: any[]) {
-      //         if (!menuArray) return [];
-      //         return menuArray.map(processMenuItem);
-      //       }
-
-      //       const _menu = processMenu(data);
-
-      //       setInitialState((t: any) => ({ ...t, spacicalPageParamsType: _menu, memuData: data, userData: JSON.parse(userData as string) }));
-
-
-      //       function addIconToPath(node: any, paths: string[]) {
-      //         if (paths.includes(node.path)) {
-      //           if (node.path == '/home') {
-      //             node.icon = <Icon component={imgNode}  />;
-      //           }
-      //           if (node.path == '/baseSetting') {
-
-      //             node.icon = <Icon component={setting} />;
-      //           }
-      //           if (node.path == '/monthlyInfoSearch') {
-      //             node.icon = <Icon component={()=><IconFont type='icon-yueduxinxicaiji' />} />;
-      //           }
-      //           if (node.path == '/costAccounting') {
-      //             node.icon = <Icon component={()=><IconFont type='icon-jixiaoguanli' />} />;
-      //           }
-      //           if (node.path == '/reportExport') {
-      //             node.icon = <Icon component={()=><IconFont type='icon-jixiaoguanli' />} />;
-      //           }
-      //           if (node.path == '/costLibraryManagement') {
-      //             node.icon = <Icon component={()=><IconFont type='icon-chengbenkuguanli' />} />;
-      //           }
-      //           if (node.path == '/static') {
-      //             node.icon = <Icon component={()=><IconFont type='icon-baobiaochaxun' />} />;
-      //           }
-      //         }
-      //         if (node.children) {
-      //           node.children.forEach((child: any) => addIconToPath(child, paths));
-      //         }
-      //       }
-
-      //       _menu.forEach((item: any) => {
-      //         addIconToPath(item, ['/home', '/baseInfoMana', '/costAccounting','/monthlyInfoSearch','/static','/reportExport','/costLibraryManagement','/baseSetting']);
-      //       });
-
-
-
-      //       return _menu
-      //     }
-      //   }
-
-      // },
-    },
     onPageChange: () => { },
     collapsedButtonRender: () => {
       return (
@@ -567,35 +464,22 @@ export const layout = ({ initialState, setInitialState }: { initialState: any, s
         }><IconFont className='menuCollapseIcon' type={isCollapsed ? 'icon-celanzhankai' : 'icon-celanshouqi'} /></div>
       )
     },
-    // collapsed: isCollapsed,
+    collapsed: isCollapsed,
     // fixSiderbar:false,
-    menuRender: (props: any) => {
-
-
-      const { location } = props;
-      const [menu, set_menu] = useState<any[]>([]);
-
-      const [slectedKey, set_slectedKey] = useState<string[]>([]);
-      const [openKeys, set_openKeys] = useState<string[]>([]);
-
-      // const currentSelectedItem = findItemByKey(menuData,location.pathname,'path');
-
-      const menuClickHandle = (info: any) => {
-        const foundItem = findItemByKey(menu, info.key, 'key');
-        // console.log({foundItem,info});
-        if (foundItem) {
-          set_slectedKey([`${info.key}`]);
-          history.push(foundItem.path);
-
-        }
-
-      }
-
-      const onOpenChangeHandle = (openKeys: string[]) => {
-        set_openKeys(openKeys);
-      }
-
-      const getMenu = async () => {
+    menuItemRender:(item: { path: any; }, dom: string | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | ReactFragment | ReactPortal | null | undefined) => {
+      return (
+        <a
+          onClick={() => {
+            isMenuClickRef.current = true; // 标记为菜单点击
+            history.push(`${item.path}`);
+          }}
+        >
+          {dom}
+        </a>
+      );
+    },
+    menu:{
+      request:async ()=>{
         const userData = localStorage.getItem('userData');
         const currentSelectedTab = localStorage.getItem('currentSelectedTab');
         if (currentSelectedTab) {
@@ -603,37 +487,6 @@ export const layout = ({ initialState, setInitialState }: { initialState: any, s
           const systemId = menuId;
           const data: any[] = await getPlatformMenu(systemId);
           if (data) {
-
-            const selectedKeys = localStorage.getItem('selectedKeys');
-            const openKeys = localStorage.getItem('openKeys');
-      
-            if (selectedKeys && openKeys) {
-              const _selectedKeys = JSON.parse(selectedKeys);
-              const _openKeys = JSON.parse(openKeys);
-              set_openKeys(_openKeys);
-              set_slectedKey(_selectedKeys);
-            } else {
-              if (data[0].children && data[0].children.length > 0) {
-
-                const childs = data[0].children;
-                set_openKeys([data[0].key]);
-                set_slectedKey([childs[0].key]);
-                localStorage.setItem('openKeys', JSON.stringify([data[0].key]));
-                localStorage.setItem('selectedKeys', JSON.stringify([childs[0].key]));
-                history.push(`${childs[0].path}`);
-
-              } else {
-                if (data[0]) {
-                  set_openKeys([data[0].key]);
-                  set_slectedKey([data[0].key]);
-                  localStorage.setItem('openKeys', JSON.stringify([data[0].key]));
-                  localStorage.setItem('selectedKeys', JSON.stringify([data[0].key]));
-                  history.push(`${data[0].path}`);
-                }
-              }
-            }
-
-
             function processMenuItem(item: any) {
               if (!item) return null;
 
@@ -708,44 +561,19 @@ export const layout = ({ initialState, setInitialState }: { initialState: any, s
             });
 
             const { newTree, firstLeafNode, firstLeafNodePath } = transformTree(_menu);
-            // set_openKeys(firstLeafNodePath.map(a => `${a.key}`));
-            // set_slectedKey([`${firstLeafNode.key}`]);
-            set_menu(newTree);
+            return newTree
 
           }
         }
       }
-
-      useEffect(() => {
-
-        const foundItem = findItemByKey(menu, location.pathname, 'path');
-
-        if (foundItem) {
-          set_slectedKey(foundItem.key);
-
-        }
-
-      }, [menu]);
-
-      useEffect(() => {
-        getMenu();
-      }, [])
+    },
+    menuRender: (props: any, defaultDom: any) => {
 
       return (
-        <ResizableContainer width={isCollapsed ? 64 : 200} minWidth={0} maxWidth={600} height={'calc(100vh - 58px)'}>
+        <ResizableContainer width={isCollapsed ? 64 : 200} minWidth={0} maxWidth={600} height={'calc(100vh - 47px)'}>
           <div style={{ height: '100%', background: '#fff', position: 'relative' }}>
             <div className='menuWrapper' style={{ height: 'calc(100% - 40px)', overflowY: 'scroll', overflowX: 'hidden' }}>
-              <Menu
-
-                onClick={menuClickHandle}
-                onOpenChange={onOpenChangeHandle}
-                style={{ width: '100%' }}
-                openKeys={openKeys}
-                selectedKeys={slectedKey}
-                mode="inline"
-                items={menu}
-                inlineCollapsed={isCollapsed}
-              />
+              {defaultDom}
             </div>
 
             <div style={{

+ 18 - 18
src/authWrapper.tsx

@@ -2,7 +2,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2024-07-17 10:36:43
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2024-07-18 16:44:36
+ * @LastEditTime: 2024-07-26 17:14:07
  * @FilePath: /BudgetManaSystem/src/authWrapper.tsx
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -14,25 +14,25 @@ import { Outlet } from '@umijs/max';
 
 // 权限检查函数
 function checkAccess(menu: IRoute[], pathname: string): boolean {
-    for (const item of menu) {
-      if (item.path === pathname) {
+  for (const item of menu) {
+    if (item.path === pathname) {
+      return true;
+    }
+    if (item.children) {
+      const hasAccess = checkAccess(item.children, pathname);
+      if (hasAccess) {
         return true;
       }
-      if (item.children) {
-        const hasAccess = checkAccess(item.children, pathname);
-        if (hasAccess) {
-          return true;
-        }
-      }
     }
-    return false;
+  }
+  return false;
 }
 
 function removePrefix(input: string, prefix: string): string {
-    if (input.startsWith(prefix)) {
-        return input.slice(prefix.length);
-    }
-    return input;
+  if (input.startsWith(prefix)) {
+    return input.slice(prefix.length);
+  }
+  return input;
 }
 
 // 权限包装组件
@@ -45,17 +45,17 @@ const AuthWrapper: React.FC = (props) => {
     if (!dataLoaded) {
       const menu = initialState?.memuData ?? [];
       if (menu.length > 0) {
-          setDataLoaded(true);
-          const { pathname } = history.location;
+        setDataLoaded(true);
+        const { pathname } = history.location;
         const hasAccess = checkAccess(menu, removePrefix(pathname, '/CostAccountingSys'));
-      //   console.log({ hasAccess, menu, pathname });
+        // console.log({ hasAccess, menu, pathname });
         if (!hasAccess) {
           history.push('/noAccess');
         }
         setLoading(false);
       }
     }
-  }, [initialState,dataLoaded]);
+  }, [initialState, dataLoaded]);
 
   return loading ? <>loading...</> : <Outlet />;
 };

+ 2 - 2
src/components/KCIMLeftList/index.tsx

@@ -2,7 +2,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2024-03-19 10:27:43
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2024-06-05 15:20:23
+ * @LastEditTime: 2024-09-05 14:17:35
  * @FilePath: /CostAccountingSys/src/components/KCIMLeftList/index.tsx
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -269,7 +269,7 @@ export const KCIMLeftList = (props: KCIMLeftListProps) => {
                             // treeData={treeDataNew}
                             switcherIcon={(props: any) => {
                                 const { expanded } = props;
-                                return !expanded ? <img style={{ width: 20, height: 20, position: 'relative', top: 5 }} src={expandedIcon} /> : <img style={{ width: 20, height: 20, position: 'relative', top: 5 }} src={closeIcon} />
+                                return <IconFont style={{fontSize:16,position:'relative',top:2}} type={expanded?'icon-shouqi1':'icon-zhankai1'} />
                             }}
                         />
                     )

+ 12 - 1
src/global.less

@@ -403,8 +403,13 @@ textarea {
 }
 
 
-
+.cost-ant-menu-submenu {
+    &.cost-ant-menu-submenu-selected {
+        color: #3376FE !important; 
+    }
+}
 .cost-ant-menu-item-selected {
+    color: #3376FE !important; 
     background-color:#F2F6FF !important;
     // margin:8px !important;
     &:hover {
@@ -675,6 +680,12 @@ textarea {
     }
 }
 
+.cost-ant-layout-sider {
+    max-width: 100% !important;
+    min-width: unset !important;
+    width: 100% !important; 
+}
+
 .cost-ant-pro .cost-ant-pro-layout .cost-ant-pro-sider .cost-ant-layout-sider-children {
     padding-inline: 0 !important;
     &>div {

+ 25 - 0
src/pages/404.tsx

@@ -0,0 +1,25 @@
+/*
+ * @Author: code4eat awesomedema@gmail.com
+ * @Date: 2024-07-19 15:01:35
+ * @LastEditors: code4eat awesomedema@gmail.com
+ * @LastEditTime: 2024-08-23 11:20:28
+ * @FilePath: /CostAccountingSys/src/pages/404.tsx
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
+import React from 'react';
+import { Button } from 'antd';
+import { history } from 'umi';
+
+const NotFoundPage: React.FC = () => {
+  return (
+    <div style={{ textAlign: 'center', marginTop: 50 }}>
+      <h1>404 - 页面未找到</h1>
+      <p>抱歉,您访问的页面不存在。</p>
+      <Button type="primary" onClick={() => history.push('/')}>
+        返回首页
+      </Button>
+    </div>
+  );
+};
+
+export default NotFoundPage;

+ 10 - 7
src/pages/Home/index.tsx

@@ -2,7 +2,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2022-12-14 14:14:32
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2023-09-26 15:36:15
+ * @LastEditTime: 2024-08-02 10:43:28
  * @FilePath: /BudgetManaSystem/src/pages/Home/index.tsx
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 
@@ -14,14 +14,17 @@ import './style.less';
 
 import KCIMPagecontainer from '@/components/KCIMPageContainer';
 
-
-
 const HomePage: React.FC = () => {
-
-
+  
   return (
-    <KCIMPagecontainer className='HomePage'  ghost>
-        HomePage
+    <KCIMPagecontainer title={false} ghost>
+      <div className='HomePage'>
+        <div className='title'>全成本核算系统</div>
+        <div className='titleSub'>以促进医院内部经济、经营管理向正规化的轨道转变,建立规范以及完整的成本管理决策体系,将管理重点转移到经济管理上来,并透过完善的信息化建设,实现对成本管理的支撑。纠正医院的成本管控理念及应用错误,改变现行的“四类三级”成本核算方法。实现医院科室成本核算,支持医院床位动态管理,支持科室实施主诊医师负责制;实现科室真实盈亏计算及盈亏平衡分析,指导科室经营;实现利润敏感性分析,使用国际先进的管理会计理论用以医院经营管理决策。</div>
+        <div className='banner'>
+          <img src={require('../../../static/indexBgCenter.png')} alt="" />
+        </div>
+      </div>
     </KCIMPagecontainer>
   );
 };

+ 74 - 242
src/pages/Home/style.less

@@ -1,262 +1,94 @@
 .HomePage {
+  display: flex;
+  flex-direction: column;
+  height: calc(100vh - 80px);
   padding: 16px;
-  height: 100%;
-  padding-bottom: 36px;
-  background: #fff;
-  overflow-y: scroll;
-  .tabWrap {
-    display: flex;
-    flex-direction: row;
-    justify-content: space-between;
-    background: #F7F9FC;
-    border-radius: 4px;
-    padding: 16px 28px;
-    margin-top: 16px;
-
-    .tab {
-      position: relative;
-      display: flex;
-      flex-direction: column;
-      justify-content: center;
-      align-items: center;
-      width: 88px;
-      height: 88px;
-      cursor: pointer;
-
-      .index {
-        position: relative;
-        width: 32px;
-        height: 32px;
-        border-radius: 8px;
-        text-align: center;
-        line-height: 32px;
-        font-size: 16px;
-        font-family: Roboto-Bold, Roboto;
-        font-weight: bold;
-        color: #FFF;
-        margin-bottom: 16px;
-        background: #CFD6E6;
-
-        .point {
-          position: absolute;
-          width: 8px;
-          height: 8px;
-          top: -2px;
-          right: -2px;
-          background: #FFC34D;
-          border-radius: 2px;
-          border: 2px solid #FFF;
-        }
-
-        &.active {
-          background: #37F;
-        }
-
-      }
-
-      .name {
-        font-size: 12px;
-        font-family: SourceHanSansCN-Medium, SourceHanSansCN;
-        font-weight: 500;
-        color: #7A8599;
-      }
-
-
-      // &::after {
-      //   right: -79%;
-      //   top: -1px;
-      //   position: absolute;
-      //   display: block;
-      //   content: '...';
-      //   font-size: 33px;
-      //   color: #DAE2F2;
-      // }
-
-
-      &.on {
-        background: #FAFCFF;
-        border-radius: 8px;
-        border: 1px solid #DAE2F2;
-      }
-
-      &.active {
-        &::after {
-          color: #37F;
-        }
-      }
-
-      &:last-child {
-        &::after {
-          display: none;
-        }
-      }
+  background: #FFFFFF;
+  border-radius: 4px;
+  .title {
+    height: 24px;
+    font-weight: bold;
+    font-size: 24px;
+    color: #17181A;
+    line-height: 24px;
+    margin-bottom: 12px;
+    padding-left: 8px;
+    margin-top: 8px;
+  }
+  .titleSub {
+    font-weight: 400;
+    font-size: 14px;
+    color: #525866;
+    line-height: 20px;
+    margin-bottom: 12px;
+    padding: 0 8px;
+  }
 
+  .banner {
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    width: 100%;
+    flex-grow: 1;
+    min-height: 440px;
+    // height:calc(100% - 110px);
+    background: url('../../../static/indexBg.png');
+    background-size: cover !important;
+    overflow: hidden;
+    background-repeat: no-repeat !important;
 
+    &>img {
+      width: 810px;
+      transition: all 0.3s linear;
     }
+  }
 
-    .point {
-      position: relative;
-      top: -7px;
-      // right:-22.5px;
-      font-size: 33px;
-      color: #DAE2F2;
-
+  /* 当屏幕宽度小于或等于 600px */
+  @media screen and (max-width: 1250px) {
+    .banner>img {
+      width: 600px;
     }
   }
 
-  .tabRelaContent {
-    margin-top: 24px;
-    min-height: 80px;
-
-    .step {
-      padding: 0 8px;
-      cursor: pointer;
-
-      .title {
-        display: flex;
-        flex-direction: row;
-        justify-content: flex-start;
-        align-items: center;
-        height: 17px;
-        font-size: 16px;
-        cursor: pointer;
-        font-family: SourceHanSansCN-Medium, SourceHanSansCN;
-        font-weight: 500;
-        color: #17181A;
-        line-height: 17px;
-        margin-bottom: 10px;
-
-
-        &>span {
-          display: inline-block;
-          font-size: 14px;
-          font-family: SourceHanSansCN-Normal, SourceHanSansCN;
-          font-weight: 400;
-          cursor: pointer;
-          margin-left: 8px;
-        }
-
-
-      }
-
-      .detail {
-        height: 42px;
-        font-size: 14px;
-        font-family: SourceHanSansCN-Normal, SourceHanSansCN;
-        font-weight: 400;
-        color: #525866;
-        line-height: 21px;
-        word-break: break-all;
-        text-overflow: ellipsis;
-        display: box;
-        -webkit-box-orient: vertical;
-        -webkit-line-clamp: 2;
-
-        /* 这里是超出几行省略 */
-        overflow: hidden;
-        
-      }
-
-      &.active {
-          &:hover {
-            .title { 
-              color: rgb(51 119 255 / 100%);
-
-              &>span {
-                color: rgb(51 119 255 / 100%);
-              }
-            }
-          }
-      
-      }
+  /* 当屏幕宽度小于或等于 600px */
+  @media screen and (min-width: 1250px) and (max-width: 1360px) {
+    .banner>img {
+      width: 700px;
     }
+  }
 
-    .multiStep {
-      display: flex;
-      flex-direction: row;
-      justify-content: space-between;
-      align-items: flex-start;
-      padding: 0 8px;
-
-      .block {
-        width: 28%;
-        cursor: pointer;
-
-        .title {
-          cursor: pointer;
-          display: flex;
-          flex-direction: row;
-          justify-content: flex-start;
-          align-items: center;
-          height: 17px;
-          font-size: 16px;
-          font-family: SourceHanSansCN-Medium, SourceHanSansCN;
-          font-weight: 500;
-          color: #17181A;
-          line-height: 17px;
-          margin-bottom: 10px;
-
-          &>span {
-            display: inline-block;
-            font-size: 14px;
-            font-family: SourceHanSansCN-Normal, SourceHanSansCN;
-            font-weight: 400;
-            cursor: pointer;
-            margin-left: 8px;
-          }
-
-
-        }
-
-        .detail {
-          font-size: 14px;
-          font-family: SourceHanSansCN-Normal, SourceHanSansCN;
-          font-weight: 400;
-          color: #525866;
-          line-height: 21px;
-          word-break: break-all;
-          text-overflow: ellipsis;
-          display: box;
-          -webkit-box-orient: vertical;
-          -webkit-line-clamp: 2;
-          
-          /* 这里是超出几行省略 */
-          overflow: hidden;
-
-        }
+  /* 当屏幕宽度在 601px 到 900px */
+  @media screen and (min-width: 1360px) and (max-width: 1500px) {
+    .banner>img {
+      width: 800px;
+    }
+  }
 
-        &.active {
-          &:hover {
-              .title {
-                color: rgb(51 119 255 / 100%);
-  
-                &>span {
-                  color: rgb(51 119 255 / 100%);
-                }
-              }
-          
-  
-          }
-        }
-      }
+  /* 当屏幕宽度大于 900px */
+  @media screen and (min-width: 1500px) and (max-width: 1760px) {
+    .banner>img {
+      width: 900px;
+    }
+  }
 
-      
+  /* 当屏幕宽度大于 900px */
+  @media screen and (min-width: 1760px) and (max-width: 1920px) {
+    .banner>img {
+      width: 1000px;
     }
   }
 
-  .map {
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    // border:1px solid red;
-    background: url('../../../static/shouyechatu.png');
-    // background-size: 50vw 25vw;
-    background-size: 850px 425px;
-    background-repeat: no-repeat;
-    background-position: center;
+  /* 当屏幕宽度大于 900px */
+  @media screen and (min-width: 1960px) and (max-width: 2000px) {
+    .banner>img {
+      width: 1200px;
+    }
+  }
 
-    &>img {
-        
+  /* 当屏幕宽度大于 900px */
+  @media screen and (min-width: 2000px) {
+    .banner>img {
+      width: 1400px;
     }
   }
 }

+ 11 - 3
src/pages/baseSetting/accountingAccountSet/accountingSubMap/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-07-19 13:27:55
+ * @LastEditTime: 2024-08-19 17:12:32
  * @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
  */
@@ -45,6 +45,11 @@ const tableSelectorColumns = [
         width:60,
         dataIndex: 'id',
     },
+    // {
+    //     title: '会计科目编码',
+    //     width:300,
+    //     dataIndex: 'accountingCode',
+    // },
     {
         title: '成本收入项目',
         dataIndex: 'name',
@@ -73,12 +78,14 @@ export default function AccountingSubMap() {
         },
         {
             title: '会计科目编码',
-            width:120,
+            width:300,
+            ellipsis:true,
             dataIndex: 'accountingCode',
         },
         {
             title: '收入项目',
             dataIndex: 'productVOs',
+            ellipsis:true,
             renderText(productVOs, record) {
                 if (Array.isArray(productVOs)) {
                     return productVOs.map((item, index) => { return <Tag key={index}>{item.productName}</Tag> })
@@ -125,6 +132,7 @@ export default function AccountingSubMap() {
         {
             title: '成本项目',
             dataIndex: 'productVOs',
+            ellipsis:true,
             renderText(productVOs, record) {
                 if (Array.isArray(productVOs)) {
                     return productVOs.map((item, index) => { return <Tag key={index}>{item.productName}</Tag> })
@@ -189,7 +197,7 @@ export default function AccountingSubMap() {
 //productCode,productName
     const getTableSelectorData = async () => {
         const {responsibilityId,productVOs = []} = currentRow;
-        const defaultRows = productVOs?productVOs.map((a:any)=>({id:a.id,name:a.productName})):[];
+        const defaultRows = productVOs?productVOs.map((a:any)=>({id:a.id,name:`${a.productName}[${a.productCode}]`})):[];
         const resp = await getAccountProductConnectableList({responsibilityId,pageSize:500,current:1});
         if(resp){
             return [...resp,...defaultRows]

+ 5 - 6
src/pages/baseSetting/accountingAccountSet/costIncomeProjectMana/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-12-07 14:52:40
+ * @LastEditTime: 2024-07-29 15:47:04
  * @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
  */
@@ -166,7 +166,6 @@ export default function CostIncomeProjectMana() {
                 colProps={{ span: 24 }}
                 grid
             >
-
                 <ProFormText
                     label="成本项目编码"
                     rules={[
@@ -232,9 +231,9 @@ export default function CostIncomeProjectMana() {
               let formData = new FormData();
               formData.append('file', fileList[0].originFileObj);
               const resp = await importDataPost(formData);
-    
+     
               if (resp) {
-                tableRef.current?.reload();
+                tableRef.current?.reload();  
                 return true;
               }
             }}
@@ -242,7 +241,7 @@ export default function CostIncomeProjectMana() {
             <FormItem name={'importFile'}>
               <KCIMUpload downloadTemplateFile={() => downloadTemplate()} />
             </FormItem>
-          </ModalForm>
+          </ModalForm>                                                                                                                                                                                                                                                           
         );
       };
 
@@ -286,7 +285,7 @@ export default function CostIncomeProjectMana() {
             </div>
 
             <div style={{ marginTop: 16 }}>
-                <KCIMTable columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
+                <KCIMTable scroll={{y:`calc(100vh - 235px)`}} columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
             </div>
         </KCIMPagecontainer>
     )

+ 2 - 2
src/pages/baseSetting/costAllocationSet/allocationLevelSet/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-01-05 13:45:36
+ * @LastEditTime: 2024-08-23 10:27:22
  * @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
  */
@@ -303,7 +303,7 @@ export default function AllocationLevelSet() {
             </div>
 
             <div>
-                <KCIMTable columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
+                <KCIMTable scroll={{y:`calc(100vh - 234px)`}} columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
             </div>
         </KCIMPagecontainer>
     )

+ 15 - 3
src/pages/baseSetting/costAllocationSet/allocationParamsMap/editTableModal.tsx

@@ -50,7 +50,7 @@ const EditTableModal = ({ record, open, title, onVisibleChange, rowKey = 'id', o
                 fieldProps:{
                     showSearch:true,
                     style: {
-                        width: '160px', // 设置你想要的宽度
+                        width: '280px', // 设置你想要的宽度
                     },
                     onSelect:(a: any,b: any,c:any)=>{
                         currentSelectedRow = b;
@@ -59,13 +59,25 @@ const EditTableModal = ({ record, open, title, onVisibleChange, rowKey = 'id', o
             },
             {
                 title: '分摊比例',
+                width:90,
                 dataIndex: 'shareParamPopout',
                 ellipsis:true,
-                valueType:'digit'
+                valueType:'digit',
+                fieldProps:{
+                    style:{
+                        width:'70px'
+                    }
+                }
             }, 
             {
                 title: '操作',
+                width:130,
                 valueType: 'option',
+                fieldProps:{
+                    style:{
+                        gap:'2px !important'
+                    }
+                },
                 render: (text, record, _, action) => [
                   <a
                     key="editable"
@@ -84,7 +96,7 @@ const EditTableModal = ({ record, open, title, onVisibleChange, rowKey = 'id', o
                     删除
                   </a>,
                 ],
-              },
+            },
         ];
 
 

+ 8 - 3
src/pages/baseSetting/costAllocationSet/allocationParamsMap/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-01-05 13:43:06
+ * @LastEditTime: 2024-08-12 10:56:07
  * @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
  */
@@ -79,6 +79,11 @@ export default function AllocationParamsMap() {
             width:120,
             dataIndex: 'responsibilityName',
         },
+        {
+            title: '分摊参数',
+            ellipsis: true,
+            dataIndex: 'shareParamMap',
+        },
         {
             title: '会计科目名称',
             ellipsis: true,
@@ -432,9 +437,9 @@ export default function AllocationParamsMap() {
                     <UpDataActBtn record type='ADD' />
                 </div>
             </div>
-
+            
             <div>
-                <KCIMTable scroll={{x:2000}} columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
+                <KCIMTable  scroll={{x:2000,y:`calc(100vh - 234px)`}} columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
             </div>
         </KCIMPagecontainer>
     )

+ 5 - 3
src/pages/baseSetting/costAllocationSet/costAllocationParamsDeal/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-06-11 11:09:36
+ * @LastEditTime: 2024-07-31 15:01:30
  * @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
  */
@@ -154,7 +154,10 @@ export default function CostAllocationParamsDeal(
             key: '2',
             label: (
                 <a onClick={()=>getHandle().then((isok)=>{
-                    if(isok)tableRef.current?.reload();
+   
+                    if(isok){
+                        tableRef.current?.reload()
+                    };
                 })} style={{ display: ifShowGetBtn ? 'inline-block' : 'none' }}>
                     获取
                 </a>
@@ -250,7 +253,6 @@ export default function CostAllocationParamsDeal(
     };
 
     useEffect(() => {
-        console.log({date,responsibilityCode});
         if (date&&responsibilityCode) {
             set_computeDate(date);
             set_tableDataFilterParams({

+ 21 - 3
src/pages/baseSetting/costAllocationSet/costAllocationParamsSet/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-07-19 10:35:08
+ * @LastEditTime: 2024-09-06 11:01:54
  * @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
  */
@@ -18,7 +18,7 @@ import { createFromIconfontCN } from '@ant-design/icons';
 import { ActionType, ProFormDependency, ProFormInstance, ProFormText, ProFormSelect } from '@ant-design/pro-components';
 import { ModalForm } from '@ant-design/pro-form'
 import { ProColumns } from '@ant-design/pro-table';
-import { Input, message, Popconfirm, Modal } from 'antd';
+import { Input, message, Popconfirm, Modal,Switch } from 'antd';
 import { Key, useEffect, useRef, useState } from 'react';
 
 import 'moment/locale/zh-cn';
@@ -66,7 +66,14 @@ export default function CostAllocationParamsSet() {
         },
         {
             title: '成本分摊参数编号',
+            width:160,
             dataIndex: 'shareParamCode',
+            sorter: (a, b) => {
+                // 比较字符串数字部分大小
+                const codeA = parseInt(a.shareParamCode.slice(1), 10);
+                const codeB = parseInt(b.shareParamCode.slice(1), 10);
+                return codeA - codeB;
+            },
         },
         {
             title: '计算方式',
@@ -75,6 +82,15 @@ export default function CostAllocationParamsSet() {
                 return text == 1 ? '手动填写' : '按对应会计科目计算'
             },
         },
+        {
+            title: '启用',
+            dataIndex: 'status',
+            renderText(number, record) {
+                return <Switch checked={number} size='small' onChange={(bool)=>{
+                    updateTable({...record,status:bool?1:0},'EDIT');
+                }} />
+            },
+        },
         {
             title: '操作',
             key: 'option',
@@ -107,6 +123,8 @@ export default function CostAllocationParamsSet() {
 
     ]
 
+    
+
 
     const getTableData = async (params: any) => {
         const resp = await getCostshareparamList({ ...params });
@@ -305,7 +323,7 @@ export default function CostAllocationParamsSet() {
             </div>
 
             <div>
-                <KCIMTable columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
+                <KCIMTable scroll={{y:`calc(100vh - 234px)`}} columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
             </div>
         </KCIMPagecontainer>
     )

+ 164 - 53
src/pages/baseSetting/costAllocationSet/costAllocationParamsSet/transform.tsx

@@ -1,17 +1,85 @@
 import React, { Key, useEffect, useImperativeHandle, useState } from "react";
-import { Transfer } from 'antd'
+import { Transfer } from 'antd';
 import { TransferItem, TransferProps } from 'antd/es/transfer';
-import { ColumnsType } from 'antd/es/table';
 import { difference } from "lodash";
 import { TableRowSelection } from 'antd/es/table/interface';
 import { KCIMTable } from "@/components/KCIMTable";
 import { ProColumns } from "@ant-design/pro-components";
-import { Tabs} from 'antd';
-
-import { log } from "mathjs";
+import { Tabs } from 'antd';
 import { getAccountingSubjectList } from "../../accountingAccountSet/accountingSubMana/service";
 
 
+function flatten(list: any[]) {
+    let result: any[] = [];
+    list.forEach(item => {
+        result.push(item);
+        if (item.children) {
+            result = result.concat(flatten(item.children));
+        }
+    });
+    return result;
+}
+
+
+function getUniqueSubsetsByProperty(treeData: any[], uniqueProperty: string) {
+    const result: any[] = [];
+    const uniqueSet = new Set();
+
+    function traverse(node: { [x: string]: any; children: string | any[]; }, isRoot = true) {
+        if (!node) return;
+
+        // 获取节点的唯一属性值
+        const uniqueValue = node[uniqueProperty];
+
+        // 如果节点是根节点,不添加到结果集,但处理它的子节点
+        if (!isRoot && !uniqueSet.has(uniqueValue)) {
+            result.push(node);
+            uniqueSet.add(uniqueValue);
+        }
+
+        // 递归处理子节点
+        if (node.children && node.children.length > 0) {
+            for (let child of node.children) {
+                traverse(child, false); // 子节点传递 isRoot = false
+            }
+        }
+    }
+
+    for (let rootNode of treeData) {
+        traverse(rootNode);
+    }
+
+    return result;
+}
+
+
+
+function removeSelectedKeys(nodes: any[], keysToRemove: string[]): any[] {
+    const result = nodes
+        .map(node => {
+            // 检查 id 是否存在
+            if (!node || node.id === undefined || node.id === null) {
+                return node; // 或者返回 null, 取决于你的业务逻辑
+            }
+
+            if (keysToRemove.includes(node.id)) {
+                return null;
+            }
+
+            if (node.children) {
+                node.children = removeSelectedKeys(node.children, keysToRemove);
+                if (node.children.length === 0) {
+                    return null;
+                }
+            }
+
+            return node;
+        })
+        .filter(node => node !== null);
+    return result;
+}
+
+
 
 interface TableTransferProps extends TransferProps<TransferItem> {
     leftColumns: ProColumns[];
@@ -22,77 +90,102 @@ interface TableTransferProps extends TransferProps<TransferItem> {
 }
 
 const TableTransfer = React.forwardRef(({ leftColumns, rightColumns, keyName, record, onSave, ...restProps }: TableTransferProps, ref) => {
-    
     const [_data, _set_data] = useState<any>();
-    const [targetKeys, setTargetKeys] = useState<string[]>(record.accountingIds?[...((record.accountingIds).map((a:string)=>Number(a)))]:[]);
+    const [targetKeys, setTargetKeys] = useState<string[]>(record.accountingIds ? [...(record.accountingIds.map((a: string) => Number(a)))] : []);
     const [datasource, set_datasource] = useState<any[]>([]);
-    const [selectedKeys, setSelectedKeys] = useState<string[]>(record.accountingIds?[...((record.accountingIds).map((a:string)=>Number(a)))]:[]);
+    const [filteredDataSource, setFilteredDataSource] = useState<any[]>([]);
+    const [selectedKeys, setSelectedKeys] = useState<string[]>(record.accountingIds ? [...(record.accountingIds.map((a: string) => Number(a)))] : []);
     const [accountType, set_accountType] = useState(1);
     const [tabs, set_tabs] = useState<any[]>([]);
 
-
-    //获取列表
     const getFuncList = async () => {
-
-        const resp = await getAccountingSubjectList({ accountType:1, pageSize: 500, current: 1 });
-
+        const resp = await getAccountingSubjectList({ accountType: 1, pageSize: 500, current: 1 });
         if (resp) {
-
             set_datasource(resp.list);
             _set_data(resp.list);
         }
-
-    }
+    };
 
     const onChange = (nextTargetKeys: string[]) => {
         setTargetKeys(nextTargetKeys);
+        const clonedDataSource = JSON.parse(JSON.stringify(datasource));
+        const filteredData = removeSelectedKeys(clonedDataSource, nextTargetKeys);
+        setFilteredDataSource(filteredData);
     };
 
     const onSelectChange = (sourceSelectedKeys: string[], targetSelectedKeys: string[]) => {
-        //console.log('sourceSelectedKeys:', sourceSelectedKeys,'targetSelectedKeys:',targetSelectedKeys);
         setSelectedKeys([...sourceSelectedKeys, ...targetSelectedKeys]);
     };
 
+    useEffect(() => {
+        // 过滤出左侧的待选项数据
+        const clonedDataSource = JSON.parse(JSON.stringify(datasource));
+        const filtered = removeSelectedKeys(clonedDataSource, targetKeys);
+        setFilteredDataSource(filtered);
+    }, [datasource, targetKeys]);
+
     useImperativeHandle(ref, () => ({
         save: async () => {
-            const items = datasource.filter(a => targetKeys.includes(a[`${keyName}`]));
-            onSave(targetKeys, items);
+            const items = flatten(datasource).filter(a => targetKeys.includes(a[`${keyName}`]));
+            onSave(targetKeys,getUniqueSubsetsByProperty(items,`${keyName}`));
         }
     }));
 
-
-    const onTabChanged = (key:string) => {
+    const onTabChanged = (key: string) => {
         set_accountType(Number(key));
-    }
+    };
+
+    const handleTreeItemSelect = (key: string, selected: boolean) => {
+        let newSelectedKeys = [...selectedKeys];
+        
+        const updateSelection = (node: TransferItem, isSelected: boolean) => {
+            const keyIndex = newSelectedKeys.indexOf(node[keyName]);
+            if (isSelected && keyIndex === -1) {
+                newSelectedKeys.push(node[keyName]);
+            } else if (!isSelected && keyIndex > -1) {
+                newSelectedKeys.splice(keyIndex, 1);
+            }
+    
+            if (node.children) {
+                node.children.forEach((child: any) => updateSelection(child, isSelected));
+            }
+        };
+    
+        const node = flatten(datasource).find(item => item[keyName] === key);
+    
+        if (node) {
+            updateSelection(node, selected);
+        }
+    
+        // 确保没有重复项
+        newSelectedKeys = Array.from(new Set(newSelectedKeys));
+        setSelectedKeys(newSelectedKeys);
+    };
+    
+    
+    
 
     useEffect(() => {
         getFuncList();
     }, [accountType]);
 
-    
-
     useEffect(() => {
         set_tabs([
-            {
-                label: '收入',
-                key: 1,
-            },
-            {
-                label: '支出',
-                key: 2,
-            },
-        ])
-    }, [])
+            { label: '收入', key: 1 },
+            { label: '支出', key: 2 },
+        ]);
+    }, []);
 
     return (
         <div>
             <Tabs
                 defaultActiveKey={tabs.length > 0 ? tabs[0].key : undefined}
                 items={tabs}
-                key={'key'}
                 onChange={(key) => onTabChanged(key)}
             />
-            <Transfer className='TableTransfer' showSearch
+            <Transfer
+                className='TableTransfer'
+                showSearch
                 titles={['待选项', '已选项']}
                 locale={{
                     itemUnit: '项',
@@ -102,14 +195,11 @@ const TableTransfer = React.forwardRef(({ leftColumns, rightColumns, keyName, re
                 oneWay={false}
                 onChange={onChange}
                 onSelectChange={onSelectChange}
-                dataSource={datasource}
+                dataSource={flatten(datasource)}
                 rowKey={record => record[`${keyName}`]}
                 targetKeys={targetKeys}
                 selectedKeys={selectedKeys}
-                filterOption={(inputValue, item) => {
-                    return item.accountingName!.indexOf(inputValue) !== -1
-
-                }}
+                filterOption={(inputValue, item) => item.accountingName.indexOf(inputValue) !== -1}
             >
                 {({
                     direction,
@@ -119,14 +209,12 @@ const TableTransfer = React.forwardRef(({ leftColumns, rightColumns, keyName, re
                     selectedKeys: listSelectedKeys,
                     disabled: listDisabled,
                 }) => {
-
-                    // console.log({ filteredItems, listSelectedKeys,direction });
                     const columns = direction === 'left' ? leftColumns : rightColumns;
 
                     const rowSelection: TableRowSelection<TransferItem> = {
                         getCheckboxProps: (item) => ({ disabled: listDisabled || item.disabled }),
                         onSelectAll(selected, selectedRows) {
-                            const treeSelectedKeys = selectedRows.map((a) => a[`${keyName}`]);
+                            const treeSelectedKeys = selectedRows.map(a => a[`${keyName}`]);
                             const diffKeys = selected
                                 ? difference(treeSelectedKeys, listSelectedKeys)
                                 : difference(listSelectedKeys, treeSelectedKeys);
@@ -134,26 +222,52 @@ const TableTransfer = React.forwardRef(({ leftColumns, rightColumns, keyName, re
                         },
                         onSelect(item, selected) {
                             onItemSelect(item[`${keyName}`], selected);
+                            handleTreeItemSelect(item[`${keyName}`], selected);
                         },
                         selectedRowKeys: listSelectedKeys,
                     };
 
+                    // 使用 filteredDataSource 作为数据源,确保左侧表格正确显示未选中的数据
+
+                    const flattenAndFilter = (list: any[], targetKeys: string | any[]) => {
+                        let result: any[] = [];
+                        list.forEach((item: { [x: string]: any; children: any; }) => {
+                            if (targetKeys.includes(item[keyName])) {
+                                // 如果父节点已经选中,不再单独加入子节点
+                                result.push(item);
+                            } else if (item.children) {
+                                // 递归处理子节点
+                                const filteredChildren = flattenAndFilter(item.children, targetKeys);
+                                if (filteredChildren.length > 0) {
+                                    result = result.concat(filteredChildren);
+                                }
+                            }
+                        });
+                        return result;
+                    };
+
+                    const dataSourceToUse = direction === 'left'
+                        ? filteredDataSource // 左侧的未选中项
+                        : flattenAndFilter(datasource, targetKeys); // 右侧的已选中项
+
+
                     return (
                         <KCIMTable
                             rowSelection={rowSelection}
                             columns={columns as TransferItem[]}
-                            dataSource={filteredItems}
+                            dataSource={dataSourceToUse}
                             size="small"
                             bordered={false}
                             rowKey={keyName}
-                            scroll={{y:280}}
+                            scroll={{ y: 280 }}
                             pagination={{ showTitle: false, pageSize: 9, showLessItems: false, simple: true, showTotal: () => false }}
                             tableAlertRender={false}
                             style={{ pointerEvents: listDisabled ? 'none' : undefined }}
                             onRow={(row) => ({
                                 onClick: () => {
-                                    if (row.itemDisabled || listDisabled) return;
-                                    onItemSelect(row[`${keyName}`], !listSelectedKeys.includes(row[`${keyName}`]));
+                                    const selected = !listSelectedKeys.includes(row[`${keyName}`]);
+                                    onItemSelect(row[`${keyName}`], selected);
+                                    handleTreeItemSelect(row[`${keyName}`], selected);
                                 },
                             })}
                         />
@@ -161,10 +275,7 @@ const TableTransfer = React.forwardRef(({ leftColumns, rightColumns, keyName, re
                 }}
             </Transfer>
         </div>
-
-    )
+    );
 });
 
-export default TableTransfer
-
-
+export default TableTransfer;

+ 2 - 2
src/pages/baseSetting/costAllocationSet/idleCostSetting/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-26 11:31:57
+ * @LastEditTime: 2024-08-23 10:30:12
  * @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
  */
@@ -409,7 +409,7 @@ export default function IdleCostSetting() {
             </div>
 
             <div>
-                <KCIMTable columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
+                <KCIMTable scroll={{y:`calc(100vh - 234px)`}} columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
             </div>
         </KCIMPagecontainer>
     )

+ 2 - 2
src/pages/baseSetting/costAllocationSet/revenueImputationSet/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-12-21 17:11:20
+ * @LastEditTime: 2024-08-23 10:26:40
  * @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
  */
@@ -362,7 +362,7 @@ export default function AccountingSubMana() {
             </div>
 
             <div>
-                <KCIMTable columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' request={(params) => getTableData(params)} />
+                <KCIMTable scroll={{y:`calc(100vh - 234px)`}} columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' request={(params) => getTableData(params)} />
             </div>
         </KCIMPagecontainer>
     )

+ 64 - 15
src/pages/baseSetting/otherItemSet/departmentCostCalc/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-07-12 15:53:48
+ * @LastEditTime: 2024-09-06 13:57:10
  * @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
  */
@@ -18,7 +18,7 @@ import { createFromIconfontCN } from '@ant-design/icons';
 import { ActionType, ProFormDependency, ProFormInstance, ProFormText, ProFormSelect, ProFormDigit } from '@ant-design/pro-components';
 import { ModalForm } from '@ant-design/pro-form'
 import { ProColumns } from '@ant-design/pro-table';
-import { Modal, message, Drawer, Tabs, Input, DatePicker } from 'antd';
+import { Modal, message, Drawer, Tabs, Input, DatePicker,Popover } from 'antd';
 import { Key, useEffect, useRef, useState } from 'react';
 import * as XLSX from 'xlsx';
 import { saveAs } from 'file-saver';
@@ -37,6 +37,7 @@ import { cleanTree, getStringWidth } from '@/utils/tooljs';
 import { getDicDataBySysId } from '@/services/getDic';
 import { KCIMLeftList } from '@/components/KCIMLeftList';
 import { formatMoneyNumber } from '@/utils/format';
+import { useModel } from '@umijs/max';
 
 
 
@@ -63,6 +64,33 @@ function findAllParents(tree: any[]) {
     return parents; // 返回所有父节点的数组
 }
 
+function countLeafNodes(trees:any[]) {
+    let leafCount = 0;
+
+    // 遍历集合中的每棵树
+    for (let i = 0; i < trees.length; i++) {
+        leafCount += countLeafNodesRecursive(trees[i]);
+    }
+
+    return leafCount;
+}
+
+function countLeafNodesRecursive(node:any) {
+    // 如果当前节点没有子节点,说明它是一个叶子节点
+    if (!node.children || node.children.length === 0) {
+        return 1;
+    }
+
+    let leafCount = 0;
+
+    // 递归计算每个子节点的叶子节点数
+    for (let i = 0; i < node.children.length; i++) {
+        leafCount += countLeafNodesRecursive(node.children[i]);
+    }
+
+    return leafCount;
+}
+
 
 function searchTree(tree: any[], searchTerm: string) {
     // 定义结果数组
@@ -146,7 +174,7 @@ function generateColumns(item: any, titleIndex = 0) {
         title: item.reportName,
         dataIndex: `${item.reportId}`,
         key: `${item.reportId}`,
-        align: 'center',
+        // align: 'center',
 
     };
 
@@ -170,7 +198,8 @@ export default function DepartmentCostCalc() {
     const formRef = useRef<ProFormInstance>();
     const [tabs, set_tabs] = useState<any[]>([]);
 
-    const [computeDate, set_computeDate] = useState<string>(`${new Date().getFullYear()}-${(new Date().getMonth() + 1).toString().padStart(2, '0')}`);
+    const { initialState,setInitialState } = useModel('@@initialState');
+    const [computeDate, set_computeDate] = useState<string>(initialState?initialState.computeDate:'');
     const [responsibleCenters, set_responsibleCenters] = useState<any[]>([]);
     const [currentTabKey, set_currentTabKey] = useState<any | undefined>(undefined);
     const [currentTab, set_currentTab] = useState<any | undefined>(undefined);
@@ -185,20 +214,35 @@ export default function DepartmentCostCalc() {
         {
             title: '报表项目名称',
             dataIndex: 'reportName',
-            width: '50%'
+            width: '50%',
+            renderText(text, record, index, action) {
+                const {description} = record;
+                return description?<Popover content={description}><span style={{cursor:'pointer'}}>{text}</span><IconFont className="hover-icon" style={{fontSize:16,color:'#17181a',paddingLeft:4,position:'relative',top:1}} type={'iconshuoming'} /></Popover>:text
+            },
         },
         {
             title: '金额(元)',
+            align:'right',
             dataIndex: 'amount',
-            renderText(num) {
-                return formatMoneyNumber(num);
+            renderText(num,record) {
+                if (record.children) {
+                    return <React.Fragment></React.Fragment>
+                }else{
+                    return formatMoneyNumber(num);
+                } 
             },
         },
         {
             title: '占比',
+            align:'right',
             dataIndex: 'percent',
-            renderText(num) {
-                return `${((num * 100).toFixed(2)).replace(/(\.\d*?)0+$/, '$1').replace(/\.$/, '')}%`
+            renderText(num,record) {
+                if (record.children) {
+                    return <React.Fragment></React.Fragment>
+                }else{
+                    return `${((num * 100).toFixed(2))}%`
+                } 
+                
             },
         },
     ]
@@ -291,6 +335,7 @@ export default function DepartmentCostCalc() {
     }
 
     const openTableDataDrawer = async () => {
+        set_drawerTableVisible(true);
         const resp = await getReportDataReq(currentTabKey, computeDate);
         if (resp) {
             const { title = [], data = [] } = resp;
@@ -308,8 +353,8 @@ export default function DepartmentCostCalc() {
             set_tableColumns([...defaultColumns, ...tableColumns]);
 
             set_dataSource(dataSource);
-            set_drawerTableVisible(true);
-            console.log({ columns: [...defaultColumns, ...tableColumns], dataSource })
+            
+            // console.log({ columns: [...defaultColumns, ...tableColumns], dataSource })
 
         }
 
@@ -493,11 +538,12 @@ const handleExport = () => {
                 <div className='header'>
                     <div className='title'>{currentTab ? currentTab.label : ''}(单位:元)</div>
                     <div className='btns'>
-                        <span onClick={() => handleExport()}>导出</span>
                         <span onClick={() => set_drawerTableVisible(false)}>关闭</span>
+                        <span className='close'  onClick={() => handleExport()}>导出</span>
+                   
                     </div>
                 </div>
-                {dataSource.length > 0 ? <KCIMTable expandable={{ defaultExpandAllRows: true }} className='departmentCostCalcReportTable' dataSource={dataSource} bordered pagination={false} scroll={{ x: 6000, y: '65vh' }} columns={tableColumns as ProColumns[]} rowKey='responsibilityCode' /> : <></>}
+                <KCIMTable loading={dataSource.length == 0} expandable={{ defaultExpandAllRows: true }} className='departmentCostCalcReportTable' dataSource={dataSource} bordered pagination={false} scroll={{ x:countLeafNodes(tableColumns) * 120, y:`calc(100vh - 198px)` }} columns={tableColumns as ProColumns[]} rowKey='responsibilityCode' /> 
             </Drawer>
 
             <div className='header'>
@@ -506,6 +552,7 @@ const handleExport = () => {
                     <DatePicker
                         onChange={(data, dateString) => {
                             set_computeDate(dateString);
+                            setInitialState((s:any)=>({...s,computeDate: dateString,}))
                             set_tableDataFilterParams({
                                 ...tableDataFilterParams,
                                 computeDate: dateString,
@@ -570,7 +617,9 @@ const handleExport = () => {
                                 <span className='calc' onClick={() => computeProfitHandle()}>计算</span>
                             </div>
                         </div>
-                        <KCIMTable pagination={false} expandable={{
+                        <KCIMTable pagination={false} 
+                        rowClassName={(record) => (record.children ? 'has-children hover-row' : 'hover-row')}
+                        expandable={{
                             defaultExpandAllRows: true, expandedRowKeys: allParentsKeys,
                             onExpand(expanded, record) {
                                 const { id } = record;
@@ -581,7 +630,7 @@ const handleExport = () => {
                                     set_allParentsKeys([...allParentsKeys, id]);
                                 }
                             },
-                        }} columns={columns as ProColumns[]} scroll={{ y: `calc(100vh - 300px)` }} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
+                        }} columns={columns as ProColumns[]} scroll={{ y: `calc(100vh - 302px)` }} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
                     </div>
                 </div>
 

+ 35 - 2
src/pages/baseSetting/otherItemSet/departmentCostCalc/style.less

@@ -25,6 +25,11 @@
         font-size: 14px;
         color: #17181A;
         border: 1px solid #DAE2F2;
+        &.close {
+          color: #fff;
+          background: #3377FF;
+          margin-left: 8px;
+        }
       }
     }
   }
@@ -58,10 +63,10 @@
 
       .left {
         width: 220px;
-        height: calc(734px - 44px);
+        height: calc(100vh - 223px);
 
         border-radius: 4px;
-        padding-top: 16px;
+        padding-top: 8px;
         margin-right: 16px;
         border: 1px solid #DAE2F2;
 
@@ -106,6 +111,34 @@
             }
           }
         }
+        .KCIMTable {
+          .hover-row {
+            .hover-icon {
+              visibility: hidden;
+            }
+               &:hover {
+                .hover-icon {
+                  visibility: visible;
+                }
+               }
+          }
+          .cost-ant-table-header {
+                .cost-ant-table-thead {
+                    .cost-ant-table-cell {
+                        
+                    }
+                }
+          }
+          .cost-ant-table-body {
+            .cost-ant-table-row {
+                &.has-children {
+                     .cost-ant-table-cell-with-append {
+                         font-weight: bold;
+                     }
+                }
+            }
+          }
+        }
       }
     }
   }

+ 33 - 27
src/pages/baseSetting/otherItemSet/reportItemSet/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-06-21 10:32:54
+ * @LastEditTime: 2024-09-06 11:04:30
  * @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
  */
@@ -16,7 +16,7 @@ import { createFromIconfontCN } from '@ant-design/icons';
 
 
 import { ActionType, ProFormDependency, ProFormInstance, ProFormText, ProFormSelect, ProFormDigit } from '@ant-design/pro-components';
-import { ModalForm } from '@ant-design/pro-form'
+import { ModalForm, ProFormTextArea } from '@ant-design/pro-form'
 import { ProColumns } from '@ant-design/pro-table';
 import { Modal, message, Popconfirm, Form, Tabs, Switch } from 'antd';
 import { Key, useEffect, useRef, useState } from 'react';
@@ -156,24 +156,24 @@ export default function ReportItemSet() {
             },
 
         },
-        {
-            title: '报表类型',
-            dataIndex: 'reportType',
-            renderText(num) {
-                switch (num) {
-                    case 0:
-                        return <>损益表</>;
-                    case 1:
-                        return <>完全成本法表</>;
-                    case 2:
-                        return <>变动成本表</>;
-                    case 3:
-                        return <>全院损益表</>;
-                    case 4:
-                        return <>全成本报表</>;
-                }
-            },
-        },
+        // {
+        //     title: '报表类型',
+        //     dataIndex: 'reportType',
+        //     renderText(num) {
+        //         switch (num) {
+        //             case 0:
+        //                 return <>损益表</>;
+        //             case 1:
+        //                 return <>完全成本法表</>;
+        //             case 2:
+        //                 return <>变动成本表</>;
+        //             case 3:
+        //                 return <>全院损益表</>;
+        //             case 4:
+        //                 return <>全成本报表</>;
+        //         }
+        //     },
+        // },
         {
             title: '计算公式',
             width:300,
@@ -212,11 +212,11 @@ export default function ReportItemSet() {
             dataIndex: 'sort',
             width: 80
         },
-        // {
-        //     title: '比率基数',
-        //     width: 80,
-        //     dataIndex: 'ratioBase',
-        // },
+        {
+            title: '说明',
+            dataIndex: 'description',
+            ellipsis:true
+        },
         {
             title: '操作',
             key: 'option',
@@ -382,7 +382,7 @@ export default function ReportItemSet() {
         }
         if (type == 'EDIT') {
             try {
-                const { reportName, sort, calcType = 0, calcFormula = '', isLoss, parentId, id,fraction,costType } = formVal;
+                const { reportName, sort, calcType = 0, calcFormula = '', isLoss, parentId, id,fraction,costType,description } = formVal;
                 const result = {
                     id,
                     parentId,
@@ -394,6 +394,7 @@ export default function ReportItemSet() {
                     fraction,
                     costType,
                     isLoss: isLoss ? 1 : 0,
+                    description
                 };
                 const resp = await editData(result);
                 if (resp) {
@@ -542,6 +543,11 @@ export default function ReportItemSet() {
                                 placeholder="请选择"
                                 rules={[{ required: true, message: '请选择占比计算类型!' }]}
                             />
+                            <ProFormTextArea
+                                label="说明"
+                                placeholder='请输入'
+                                name="description"
+                            />
                         </>
                     )
                 }
@@ -602,7 +608,7 @@ export default function ReportItemSet() {
             </div>
 
             <div>
-                <KCIMTable pagination={false} scroll={{x:1500, y: `calc(100vh - 230px)` }} columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
+                <KCIMTable pagination={false} scroll={{x:1700, y: `calc(100vh - 191px)` }} columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
             </div>
         </KCIMPagecontainer>
     )

+ 2 - 2
src/pages/baseSetting/otherItemSet/visitsAndBedDayCostSetting/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-01-05 13:49:28
+ * @LastEditTime: 2024-08-23 10:22:59
  * @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
  */
@@ -294,7 +294,7 @@ export default function VisitsAndBedDayCostSetting() {
             </div>
 
             <div>
-                <KCIMTable columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
+                <KCIMTable scroll={{ y: `calc(100vh - 191px)`}} columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
             </div>
         </KCIMPagecontainer>
     )

+ 2 - 2
src/pages/baseSetting/otherItemSet/wholeHospCostAndIncomeSet/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-01-05 13:48:46
+ * @LastEditTime: 2024-08-23 10:22:11
  * @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
  */
@@ -201,7 +201,7 @@ export default function WholeHospCostAndIncomeSet() {
             </div>
 
             <div>
-                <KCIMTable columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
+                <KCIMTable scroll={{ y: `calc(100vh - 191px)`}} columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
             </div>
         </KCIMPagecontainer>
     )

+ 38 - 7
src/pages/baseSetting/responsibilityCenterSet/responsibilityCenter/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-06-19 10:51:13
+ * @LastEditTime: 2024-09-06 13:22:08
  * @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
  */
@@ -16,9 +16,9 @@ import { createFromIconfontCN } from '@ant-design/icons';
 import FormItem from 'antd/es/form/FormItem';
 
 import { ActionType, ProFormDependency, ProFormInstance, ProFormText, ProFormSelect } from '@ant-design/pro-components';
-import { ModalForm, ProFormTextArea } from '@ant-design/pro-form'
+import { ModalForm, ProFormDigit, ProFormTextArea } from '@ant-design/pro-form'
 import { ProColumns } from '@ant-design/pro-table';
-import { Input, message, Popconfirm, Tag } from 'antd';
+import { Input, message, Popconfirm,Popover,Switch } from 'antd';
 import { useEffect, useRef, useState } from 'react';
 
 import 'moment/locale/zh-cn';
@@ -87,9 +87,13 @@ export default function ResponsibilityCenter() {
             dataIndex: 'responsibilityName',
             ellipsis: true,
             width: 200,
+            fixed:'left',
             renderText(_, record) {
-                const { isDefault, responsibilityName } = record;
-                return isDefault == 1 ? <Tag>{`${responsibilityName}(是)`}</Tag> : responsibilityName
+                const { isDefault, responsibilityName,isGatherCenter } = record;
+                // return isDefault == 1 ? <Tag>{`${responsibilityName}(是)`}</Tag> : responsibilityName
+                return (isDefault == 1||isGatherCenter == 1)?<Popover>
+                      {responsibilityName}<IconFont type='' />
+                </Popover>:responsibilityName
             },
         },
         {
@@ -169,10 +173,26 @@ export default function ResponsibilityCenter() {
 
             },
         },
+        {
+            title: '序号',
+            ellipsis: true,
+            dataIndex: 'sort',
+        },
+        {
+            title: '启用',
+            dataIndex: 'status',
+            renderText(number, record) {
+                const {isGatherCenter} = record;
+                return isGatherCenter != 1?<Switch checked={number} size='small' onChange={(bool)=>{
+                    updateTable({...record,status:bool?1:0},'EDIT');
+                }} />:<></>
+            },
+        },
         {
             title: '操作',
             key: 'option',
             width: 120,
+            fixed:'right',
             valueType: 'option',
             render: (_: any, record: any) => {
                 const { isGatherCenter } = record;
@@ -293,7 +313,7 @@ export default function ResponsibilityCenter() {
                 formRef={formRef}
                 initialValues={type == 'EDIT' ? {
                     ...record,
-                } : { selectedSharelevel: 0 }}
+                } : { selectedSharelevel: 0,sort:0 }}
                 trigger={
                     type == 'EDIT' ? <a key="edit" >编辑</a> : type == 'ADDCHILD' ? <a className='add'>添加</a> : <span className='add'>新增</span>
                 }
@@ -347,6 +367,7 @@ export default function ResponsibilityCenter() {
                     ]}
                     name="responsibilityCode"
                 />
+                
                 <ProFormDependency name={['isGatherCenter']}>
                     {
                         ({ isGatherCenter }) => {
@@ -477,6 +498,16 @@ export default function ResponsibilityCenter() {
                         }
                     }
                 </ProFormDependency>
+                <ProFormDigit
+                    label="顺序号"
+                    rules={[
+                        {
+                            required: true,
+                            message: '顺序号是必填项',
+                        },
+                    ]}
+                    name="sort"
+                />
 
             </ModalForm>
         )
@@ -531,7 +562,7 @@ export default function ResponsibilityCenter() {
             </div>
 
             <div style={{ marginTop: 16 }}>
-                <KCIMTable columns={columns as ProColumns[]} scroll={{ y: 'calc(100vh - 232px)' }} actionRef={tableRef} rowKey='responsibilityCode' params={tableDataFilterParams} request={(params) => getTableData(params)} />
+                <KCIMTable columns={columns as ProColumns[]} scroll={{x:1500, y: 'calc(100vh - 232px)' }} actionRef={tableRef} rowKey='responsibilityCode' params={tableDataFilterParams} request={(params) => getTableData(params)} />
             </div>
         </KCIMPagecontainer>
     )

+ 30 - 22
src/pages/costAccounting/calcPageTemplate/columns.tsx

@@ -1,8 +1,13 @@
 import { tableColumnsWidObj } from "@/constant";
-import { formatMoneyNumber } from "@/utils/format";
+import { formatMoneyNumber, formatToPercentage } from "@/utils/format";
+import { createFromIconfontCN } from "@ant-design/icons";
 import { ProColumns } from "@ant-design/pro-components";
+import {Popover} from 'antd'
+import React from "react";
 
-
+const IconFont = createFromIconfontCN({
+    scriptUrl: '',
+});
 
 
 export const unitPersonnelCostCalc: ProColumns[] = [
@@ -794,7 +799,6 @@ export const afterCostShareSearch: ProColumns[] = [
     },
     {
         title: '分摊层级',
-        width: tableColumnsWidObj.shareLevel,
         dataIndex: 'levelSort',
     },
     {
@@ -814,7 +818,6 @@ export const afterCostShareSearch: ProColumns[] = [
     {
         title: '会计科目编码',
         dataIndex: 'accountingCode',
-        width: 300
     },
     {
         title: '会计科目名',
@@ -879,32 +882,37 @@ export const departmentCostCalculate: ProColumns[] = [
 
 ];
 export const wholeHospCostCalculate: ProColumns[] = [
-    {
-
-        title: '年份',
-        dataIndex: 'dateYear',
-    },
-    {
-        title: '月份',
-        dataIndex: 'dateMonth',
-    },
-    {
-        title: '报表项目编码',
-        dataIndex: 'reportNum',
-    },
     {
         title: '报表项目名',
         dataIndex: 'reportName',
-    },
-    {
-        title: '责任中心名',
-        dataIndex: 'responsibilityName',
+        renderText(text, record, index, action) {
+            const {description} = record;
+            return description?<Popover content={description}><span style={{cursor:'pointer'}}>{text}</span><IconFont className="hover-icon" style={{fontSize:16,color:'#17181a',paddingLeft:4,position:'relative',top:1}} type={'iconshuoming'} /></Popover>:text
+        },
     },
     {
         title: '金额',
         dataIndex: 'amount',
         renderText(num, record, index, action) {
-            return formatMoneyNumber(num);
+            const {children} = record;
+            return (children&&children.length>0)?<React.Fragment></React.Fragment>:formatMoneyNumber(num);
+        },
+    },
+    {
+        title: '占比',
+        dataIndex: 'percent',
+        renderText(num,record) {
+            const {children} = record;
+            return (children&&children.length>0)?<React.Fragment></React.Fragment>:formatToPercentage(num?num:0);
+        },
+
+    },
+    {
+        title: '说明',
+        dataIndex: 'description',
+        renderText(text,record) {
+            const {children} = record;
+            return (children&&children.length>0)?<React.Fragment></React.Fragment>:text;
         },
     },
 

+ 30 - 9
src/pages/costAccounting/calcPageTemplate/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-06-28 14:29:32
+ * @LastEditTime: 2024-09-06 15:56:24
  * @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
  */
@@ -34,22 +34,37 @@ import ExportProgressModal from '@/pages/reportExport/report/ExportProgressModal
 import exportTableToExcel from '@/utils/tableToExcel';
 
 import { useAccess, useParams } from '@umijs/max'
+import { useModel } from '@umijs/max';
 
 
 const IconFont = createFromIconfontCN({
   scriptUrl: '',
 });
 
-const currentData = `${new Date().getFullYear()}-${(new Date().getMonth() + 1).toString().padStart(2, '0')}`;
-
 const calTypeStr = `ITEM_COST_CALCULATE${(new Date()).getTime()}`;
 
 let currentPage = 0;
 let totalTableData: any[] = [];
 
+
+function transformChildToChildren(data:any[]) {
+  return data.map(item => {
+      let newItem = { ...item };
+
+      // 如果有子项,将 'child' 属性改为 'children'
+      if (newItem.child) {
+          newItem.children = transformChildToChildren(newItem.child);
+          delete newItem.child; // 删除原始的 'child' 属性
+      }
+
+      return newItem;
+  });
+}
+
 export default function calcPageTemplate() {
-  const [computeDate, set_computeDate] = useState(currentData);
-  const [tableDataFilterParams, set_tableDataFilterParams] = useState<any>({ computeDate: currentData });
+  const { initialState,setInitialState } = useModel('@@initialState');
+  const [computeDate, set_computeDate] = useState<string>(initialState?initialState.computeDate:'');
+  const [tableDataFilterParams, set_tableDataFilterParams] = useState<any>({ computeDate });
   const [tableDataSearchKeywords, set_tableDataSearchKeywords] = useState('');
   const tableRef = useRef<ActionType>();
   const [loading, set_loading] = useState(false);
@@ -69,6 +84,7 @@ export default function calcPageTemplate() {
 
 
   const getTableData = async (params: any) => {
+
     const resp = await getCalcPageTableData({ ...params, ...tableDataFilterParams });
     if (resp) {
       try {
@@ -123,6 +139,9 @@ export default function calcPageTemplate() {
         if (params.calcPageKey == 'unitPersonnelCostCalc') {
           data = data ? data.map((a: any) => ({ ...a, children: a.childList })) : []
         }
+        if (params.calcPageKey == 'wholeHospCostCalculate') {
+          data = data ? transformChildToChildren(data) : []
+        }
         if (params.calcPageKey == 'beforeCollectionSearch' || params.calcPageKey == 'beforeCostShareSearch' || params.calcPageKey == 'afterCostShareSearch' || params.calcPageKey == 'afterCollectionSearch') {
           const { totalAmount = 0 } = resp;
           set_totalCount(totalAmount);
@@ -725,7 +744,7 @@ export default function calcPageTemplate() {
     }
 
 
-    set_tableDataFilterParams({ computeDate, calcPageKey });
+    set_tableDataFilterParams({...tableDataFilterParams, computeDate, calcPageKey,reportType:calcPageKey == 'wholeHospCostCalculate'?3:tableDataFilterParams.reportType });
   }, [params]);
 
 
@@ -753,6 +772,7 @@ export default function calcPageTemplate() {
                 <DatePicker
                   onChange={(data, dateString) => {
                     set_computeDate(dateString);
+                    setInitialState((s:any)=>({...s,computeDate: dateString}));
                     set_tableDataFilterParams({
                       ...tableDataFilterParams,
                       computeDate: dateString,
@@ -760,7 +780,7 @@ export default function calcPageTemplate() {
                   }}
                   picker="month"
                   locale={locale}
-                  defaultValue={moment(`${new Date().getFullYear()}-${(new Date().getMonth() + 1).toString().padStart(2, '0')}`, 'YYYY-MM')}
+                  defaultValue={moment(computeDate, 'YYYY-MM')}
                   format="YYYY-MM"
                   placeholder="选择年月"
                 />
@@ -773,7 +793,7 @@ export default function calcPageTemplate() {
           {(params.calcPageKey == 'projectCostCalc' && btnAccessStr?.indexOf('export') != -1) && <a className='export' onClick={() => set_openProcessModal(true)}>导出</a>}
           {ifShowCalcBtn && <a className='calc' onClick={() => calcFunc()}>计算</a>}
           {(params.calcPageKey == 'afterCostShareSearch' || params.calcPageKey == 'afterCollectionSearch') && (<Button loading={loading} size='small' className='reportDataBtn' onClick={() => openDataTable()}>报表数据</Button>)}
-          {(params.calcPageKey == 'departmentOperatingReport' || params.calcPageKey == 'wholeHospOperatingReport' || params.calcPageKey == 'costShareReportTable') && (<span className='reportDataBtn' onClick={() => generateReport()}>生成报表</span>)}
+          {(params.calcPageKey == 'departmentOperatingReport' || params.calcPageKey == 'wholeHospOperatingReport') && (<span className='reportDataBtn' onClick={() => generateReport()}>生成报表</span>)}
         </div>
       </div>
       <div style={{ marginTop: 16 }}>
@@ -782,7 +802,8 @@ export default function calcPageTemplate() {
           columns={columns}
           actionRef={tableRef}
           rowKey="id"
-          scroll={{ x: scrollX, y: `calc(100vh - 230px)` }}
+          rowClassName={params.calcPageKey == 'wholeHospCostCalculate'?((record) => (record.children ? 'has-children hover-row' : 'hover-row')):''}
+          scroll={{ x: scrollX, y:params.calcPageKey == 'afterCostShareSearch'?`calc(100vh - 270px)`: `calc(100vh - 233px)` }}
           params={tableDataFilterParams}
           request={(params) => getTableData(params)}
         />

+ 3 - 3
src/pages/costAccounting/calcPageTemplate/service.ts

@@ -2,7 +2,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2023-03-03 16:31:27
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2024-06-28 14:17:32
+ * @LastEditTime: 2024-09-05 15:53:30
  * @FilePath: /KC-MiddlePlatform/src/pages/platform/setting/pubDicTypeMana/service.ts
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -103,9 +103,9 @@ export const getCalcPageTableData = (params: any) => {
     });
   }
   if(calcPageKey == 'wholeHospCostCalculate'){
-    return request('/costAccount/hospProfitAndLoss/getHospProfits', {
+    return request('/costAccount/hospProfitAndLoss/getHospProfitList', {
       method: 'GET',
-      params:{...next,date:`${next.computeDate}-01`,computeDate:null}
+      params:{...next,computeDate:`${next.computeDate}-01`}
     });
   }
   if(calcPageKey == 'costShareReportTable'){

+ 35 - 5
src/pages/costAccounting/calcPageTemplate/style.less

@@ -1,5 +1,3 @@
-
-
 .calcPageTemplate {
   position: relative;
   padding: 16px;
@@ -28,8 +26,10 @@
     }
 
     .btnGroup {
-      
-      .calc,.reportDataBtn,.export {
+
+      .calc,
+      .reportDataBtn,
+      .export {
         cursor: pointer;
         display: inline-block;
         font-size: 14px;
@@ -45,4 +45,34 @@
     }
 
   }
-}
+
+  .KCIMTable {
+    .hover-row {
+      .hover-icon {
+        visibility: hidden;
+      }
+
+      &:hover {
+        .hover-icon {
+          visibility: visible;
+        }
+      }
+    }
+
+    .cost-ant-table-header {
+      .cost-ant-table-thead {
+        .cost-ant-table-cell {}
+      }
+    }
+
+    .cost-ant-table-body {
+      .cost-ant-table-row {
+        &.has-children {
+          .cost-ant-table-cell-with-append {
+            font-weight: bold;
+          }
+        }
+      }
+    }
+  }
+}

+ 2 - 2
src/pages/costLibraryManagement/basicCostManagement/drugCostManagement/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-01-05 14:36:59
+ * @LastEditTime: 2024-08-16 10:28:49
  * @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
  */
@@ -360,7 +360,7 @@ export default function DrugCostManagement() {
             </div>
 
             <div style={{ marginTop: 16 }}>
-                <KCIMTable columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
+                <KCIMTable columns={columns as ProColumns[]} scroll={{y:`calc(100vh - 235px)`}} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
             </div>
         </KCIMPagecontainer>
     )

+ 2 - 2
src/pages/costLibraryManagement/basicCostManagement/equipmentCostManagement/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-01-05 14:39:16
+ * @LastEditTime: 2024-08-16 10:28:57
  * @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
  */
@@ -356,7 +356,7 @@ export default function EquipmentCostManagement() {
             </div>
 
             <div style={{ marginTop: 16 }}>
-                <KCIMTable columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
+                <KCIMTable scroll={{y:`calc(100vh - 233px)`}} columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
             </div>
         </KCIMPagecontainer>
     )

+ 2 - 2
src/pages/costLibraryManagement/basicCostManagement/materialCostManagement/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-06-28 17:50:21
+ * @LastEditTime: 2024-08-16 10:28:41
  * @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
  */
@@ -394,7 +394,7 @@ export default function MaterialCostManagement() {
             </div>
 
             <div style={{ marginTop: 16 }}>
-                <KCIMTable columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
+                <KCIMTable scroll={{y:`calc(100vh - 233px)`}} columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
             </div>
         </KCIMPagecontainer>
     )

+ 2 - 1
src/pages/costLibraryManagement/basicCostManagement/personnelClassificationMana/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-03-25 16:35:11
+ * @LastEditTime: 2024-08-16 10:29:24
  * @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
  */
@@ -569,6 +569,7 @@ const PersonnelClassificationMana = () => {
                 </div>
                 <div style={{ marginTop: 16 }}>
                     {currentSelectedType && <KCIMTable actionRef={tableRef} columns={tableColumn}
+                        scroll={{y:`calc(100vh - 233px)`}}
                         rowKey='id'
                         request={(params) => getTableData(params)}
                         tableAlertRender={false}

+ 3 - 1
src/pages/costLibraryManagement/basicCostManagement/personnelClassificationMana/style.less

@@ -82,7 +82,7 @@ box-shadow: 0px -8px 16px 0px rgba(64,85,128,0.1);
     border-radius: 4px;
     width: 220px;
     height: calc(100vh - 80px);
-    overflow: scroll;
+    overflow:hidden;
     margin-right: 16px;
     padding: 16px 8px;
     background: #FFFFFF;
@@ -113,6 +113,8 @@ box-shadow: 0px -8px 16px 0px rgba(64,85,128,0.1);
     }
 
     .wrap {
+      height: calc(100% - 30px);
+      overflow-y: scroll;
       margin-top: 16px;
 
       .type {

+ 2 - 2
src/pages/costLibraryManagement/basicCostManagement/spaceCostManagement/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-11-17 10:10:32
+ * @LastEditTime: 2024-08-16 10:29:30
  * @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
  */
@@ -384,7 +384,7 @@ export default function SpaceCostManagement() {
             </div>
 
             <div style={{ marginTop: 16 }}>
-                <KCIMTable pagination={false}  columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
+                <KCIMTable pagination={false} scroll={{y:`calc(100vh - 233px)`}}  columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
             </div>
         </KCIMPagecontainer>
     )

+ 2 - 2
src/pages/costLibraryManagement/diseaseCostManagement/diseaseDiagnosisComparison/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-01-05 14:24:47
+ * @LastEditTime: 2024-08-16 10:38:58
  * @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
  */
@@ -334,7 +334,7 @@ export default function DiseaseDiagnosisComparison() {
             </div>
 
             <div style={{ marginTop: 16 }}>
-                <KCIMTable columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
+                <KCIMTable  scroll={{y:`calc(100vh - 233px)`}} columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
             </div>
         </KCIMPagecontainer>
     )

+ 2 - 2
src/pages/costLibraryManagement/diseaseCostManagement/diseaseMana/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-01-05 14:24:06
+ * @LastEditTime: 2024-08-16 10:39:53
  * @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
  */
@@ -278,7 +278,7 @@ export default function DiseaseMana() {
             </div>
 
             <div style={{ marginTop: 16 }}>
-                <KCIMTable columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
+                <KCIMTable scroll={{y:`calc(100vh - 233px)`}} columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
             </div>
         </KCIMPagecontainer>
     )

+ 2 - 2
src/pages/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana/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-11-28 11:00:07
+ * @LastEditTime: 2024-08-16 10:41:16
  * @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
  */
@@ -564,7 +564,7 @@ const MedicalOrderProjectMana = () => {
                 </div>
                 <div style={{ marginTop: 16 }}>
                     {currentSelectedType && <KCIMTable actionRef={tableRef} columns={column}
-                        scroll={{ y: 500 }}
+                        scroll={{ y:`calc(100vh - 233px)` }}
                         rowKey='id'
                         params={tableDataFilterParams}
                         request={(params) => getTableData(params)}

+ 3 - 2
src/pages/costLibraryManagement/medicalOrderProject/medicalOrderProjectMana/style.less

@@ -82,7 +82,7 @@ box-shadow: 0px -8px 16px 0px rgba(64,85,128,0.1);
     border-radius: 4px;
     width: 220px;
     height: calc(100vh - 80px);
-    overflow: scroll;
+    overflow: hidden;
     margin-right: 16px;
     padding: 16px 8px;
     background: #FFFFFF;
@@ -113,8 +113,9 @@ box-shadow: 0px -8px 16px 0px rgba(64,85,128,0.1);
     }
 
     .wrap {
+      height: calc(100% - 58px);
       margin-top: 16px;
-
+      overflow-y: scroll;
       .type {
         cursor: pointer;
         height: 56px;

+ 2 - 2
src/pages/costLibraryManagement/projectCostManagement/chargeItemsMana/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-07-05 14:20:16
+ * @LastEditTime: 2024-08-16 10:34:01
  * @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
  */
@@ -559,7 +559,7 @@ export default function ChargeItemsMana() {
 
                             <div style={{ marginTop: 16 }}>
                                 <KCIMTable
-                                    scroll={{ x: 1500 }}
+                                    scroll={{ x: 1500,y:`calc(100vh - 271px)` }}
                                     columns={columns as ProColumns[]}
                                     actionRef={tableRef} rowKey='id' params={tableDataFilterParams}
                                     request={(params) => getTableData(params)}

+ 2 - 2
src/pages/costLibraryManagement/projectCostManagement/projectCostShareSet/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-06-12 17:45:12
+ * @LastEditTime: 2024-08-16 10:37:50
  * @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
  */
@@ -420,7 +420,7 @@ export default function AllocationParamsMap() {
             </div>
 
             <div>
-                <KCIMTable columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
+                <KCIMTable  scroll={{y:`calc(100vh - 233px)`}} columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
             </div>
         </KCIMPagecontainer>
     )

+ 2 - 2
src/pages/costLibraryManagement/projectCostManagement/projectShareParamsSet/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-02-22 17:13:33
+ * @LastEditTime: 2024-08-16 10:35:12
  * @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
  */
@@ -300,7 +300,7 @@ export default function ProjectShareParamsSet() {
             </div>
 
             <div style={{ marginTop: 16 }}>
-                <KCIMTable columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
+                <KCIMTable columns={columns as ProColumns[]} scroll={{y:`calc(100vh - 233px)`}} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
             </div>
         </KCIMPagecontainer>
     )

+ 2 - 2
src/pages/costLibraryManagement/projectCostManagement/standardProjectMana/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-01-12 13:53:06
+ * @LastEditTime: 2024-08-16 10:31:19
  * @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
  */
@@ -421,7 +421,7 @@ export default function StandardProjectMana() {
             </div>
 
             <div style={{ marginTop: 16 }}>
-                <KCIMTable scroll={{x:2500}} columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
+                <KCIMTable scroll={{x:2500,y:`calc(100vh - 233px)`}} columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
             </div>
         </KCIMPagecontainer>
     )

+ 2 - 2
src/pages/costLibraryManagement/reportMana/reportColumnMana/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-01-11 15:06:53
+ * @LastEditTime: 2024-08-16 10:41:51
  * @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
  */
@@ -279,7 +279,7 @@ const reportColumnMana = () => {
             </div>
 
             <div style={{ marginTop: 16 }}>
-                <KCIMTable columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
+                <KCIMTable scroll={{y:`calc(100vh - 233px)`}} columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
             </div>
         </KCIMPagecontainer>
     )

+ 1 - 1
src/pages/costLibraryManagement/reportMana/reportListMana/index.tsx

@@ -550,7 +550,7 @@ const reportListMana = () => {
                 </div>
                 <div style={{ marginTop: 16 }}>
                     {currentSelectedType && <KCIMTable actionRef={tableRef} columns={tableColumn}
-                        scroll={{ y: 500 }}
+                        scroll={{y:`calc(100vh - 233px)`}}
                         rowKey='id'
                         dataSource={dataSource}
                         tableAlertRender={false}

+ 2 - 2
src/pages/costLibraryManagement/reportMana/reportNavSet/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-01-05 14:33:46
+ * @LastEditTime: 2024-08-16 10:43:15
  * @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
  */
@@ -352,7 +352,7 @@ export default function ReportNavSet() {
             </div>
 
             <div style={{ marginTop: 16 }}>
-                <KCIMTable columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
+                <KCIMTable scroll={{y:`calc(100vh - 233px)`}} columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params) => getTableData(params)} />
             </div>
         </KCIMPagecontainer>
     )

+ 11 - 5
src/pages/incomeCollectionAction/index.tsx

@@ -2,7 +2,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2024-03-18 15:52:26
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2024-07-18 17:11:41
+ * @LastEditTime: 2024-09-06 14:00:08
  * @FilePath: /CostAccountingSys/src/pages/monthlyInfoCollection/index.tsx
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -23,6 +23,7 @@ import { ActionType, ProColumns } from "@ant-design/pro-components";
 import { getResponsibilityCenterList } from "../baseSetting/responsibilityCenterSet/responsibilityCenter/service";
 import { getIncomeCollectionReq, getTableDataReq } from "./service";
 import { cancelIncomeCollection, getAfterIncomeCollectionTableData, startIncomeCollection } from "../costAccounting/calcPageTemplate/service";
+import { useModel } from "@umijs/max";
 
 const IconFont = createFromIconfontCN({
     scriptUrl: '',
@@ -53,15 +54,19 @@ const tableColumn: ProColumns[] = [
         title: '金额',
         ellipsis: true,
         dataIndex: 'amount',
+        renderText(num) {
+             return formatMoneyNumber(num)
+        },
     },
 ];
-const currentDate = `${new Date().getFullYear()}-${(new Date().getMonth() + 1).toString().padStart(2, '0')}`;
+
 
 const IncomeCollectionAction = () => {
     const tableRef = useRef<ActionType>();
 
-    const [computeDate, set_computeDate] = useState<string>(currentDate);
-    const [tableDataFilterParams, set_tableDataFilterParams] = useState<any | undefined>({ computeDate: currentDate });
+    const { initialState,setInitialState } = useModel('@@initialState');
+    const [computeDate, set_computeDate] = useState<string>(initialState?initialState.computeDate:'');
+    const [tableDataFilterParams, set_tableDataFilterParams] = useState<any | undefined>({ computeDate });
     const [incomeCollectionData,set_incomeCollectionData] = useState<any>(undefined);
     const [loading, set_loading] = useState(false);
 
@@ -268,6 +273,7 @@ const IncomeCollectionAction = () => {
                                 computeDate: dateString,
                                 accountFilter:''
                             });
+                            setInitialState((s:any)=>({...s,computeDate: dateString,}));
                             set_tableDataSearchKeywords('');
                         }}
                         picker="month"
@@ -336,7 +342,7 @@ const IncomeCollectionAction = () => {
                             rowKey='id'
                             request={(params) => getTableData(params)}
                             tableAlertRender={false}
-                            scroll={{ x: scrollX,y:`calc(100vh - 270px)` }}
+                            scroll={{ x: scrollX,y:`calc(100vh - 322px)` }}
                             params={tableDataFilterParams}
                         />
                     </div>

+ 8 - 3
src/pages/monthlyInfoCollection/components/leftAndRighrStructure.tsx

@@ -2,7 +2,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2024-03-19 10:55:39
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2024-06-11 11:36:50
+ * @LastEditTime: 2024-08-16 15:25:58
  * @FilePath: /CostAccountingSys/src/pages/monthlyInfoCollection/components/leftAndRighrStructure.tsx
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -50,6 +50,7 @@ export const LeftAndRighrStructure = (props: LeftAndRighrStructure) => {
     const [tableColumn, set_tableColumn] = useState<ProColumns[]>([]);
     const [tableDataFilterParams, set_tableDataFilterParams] = useState<any | undefined>(undefined);
     const [scrollX, set_scrollX] = useState<number|undefined>(1000);
+    const [scrollY, set_scrollY] = useState<string>(`calc(100vh - 324px)`);
     const [tabSearchKey, set_tabSearchKey] = useState('');
     const [currentLeftTab, set_currentLeftTab] = useState(1);
     const [tableDataSearchKeywords, set_tableDataSearchKeywords] = useState('');
@@ -68,7 +69,7 @@ export const LeftAndRighrStructure = (props: LeftAndRighrStructure) => {
     const getTableData = async (params: any) => {
 
         if (tabKey == '1') {
-            const resp = await getCalcPageTableData({ calcPageKey: 'beforeCollectionSearch', ...tableDataFilterParams, computeDate, type: currentLeftTab, departmentCode: _currentSelectedLeftObj.subText });
+            const resp = await getCalcPageTableData({ calcPageKey: 'beforeCollectionSearch',...params, ...tableDataFilterParams, computeDate, type: currentLeftTab, departmentCode: _currentSelectedLeftObj.subText });
             if (resp) {
                 // set_totalAmount(resp.totalAmount);
                 set_currentResp(resp);
@@ -195,6 +196,7 @@ export const LeftAndRighrStructure = (props: LeftAndRighrStructure) => {
         if (tabKey == '1') {
             set_tableColumn([...beforeCollectionSearch]);
             set_scrollX(1300);
+            set_scrollY(`calc(100vh - 395px)`);
             set_tabSearchKey('name');
             set_tableSearchKey('filter');
             inComeLeftData();
@@ -210,6 +212,7 @@ export const LeftAndRighrStructure = (props: LeftAndRighrStructure) => {
         if (tabKey == '2') {
             set_tableColumn([...beforeCostShareSearch]);
             set_scrollX(undefined);
+            set_scrollY(`calc(100vh - 396px)`);
             set_tabSearchKey('name');
             set_tableSearchKey('filter');
             costLeftData();
@@ -218,6 +221,7 @@ export const LeftAndRighrStructure = (props: LeftAndRighrStructure) => {
 
         if (tabKey == '5') {
             set_scrollX(1300);
+            set_scrollY(`calc(100vh - 345px)`);
             set_tabSearchKey('name');
             set_tableSearchKey('');
             getPatientInfoDepartments();
@@ -282,6 +286,7 @@ export const LeftAndRighrStructure = (props: LeftAndRighrStructure) => {
     }, [reload]);
 
     useEffect(() => {
+        // console.log({tabKey,currentLeftTab});
         if (tabKey == '1') {
             inComeLeftData();
         }
@@ -387,7 +392,7 @@ export const LeftAndRighrStructure = (props: LeftAndRighrStructure) => {
                         rowKey='id'
                         request={(params) => getTableData(params)}
                         tableAlertRender={false}
-                        scroll={{ x: scrollX,y:`calc(100vh - 324px)` }}
+                        scroll={{ x: scrollX,y:scrollY }}
                         params={tableDataFilterParams}
                     />}
                  

+ 65 - 44
src/pages/monthlyInfoCollection/index.tsx

@@ -2,7 +2,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2024-03-18 15:52:26
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2024-06-28 15:03:53
+ * @LastEditTime: 2024-08-16 15:39:20
  * @FilePath: /CostAccountingSys/src/pages/monthlyInfoCollection/index.tsx
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -22,10 +22,12 @@ import EmpCostDataImport from "../monthlyInfoSearch/empCostDataImport";
 import WholeHospIncomeAndCost from "../monthlyInfoSearch/wholeHospIncomeAndCost";
 import TableSelecter from "./tableSelector";
 import { cancelReq, getReq, oneKeyGetDataReq } from "./service";
+import { useModel } from "@umijs/max";
 
 const MonthlyInfoCollection = () => {
 
-    const [computeDate, set_computeDate] = useState<string>(`${new Date().getFullYear()}-${(new Date().getMonth() + 1).toString().padStart(2, '0')}`);
+    const { initialState,setInitialState } = useModel('@@initialState');
+    const [computeDate, set_computeDate] = useState<string>(initialState?initialState.computeDate:'');
     const [tableDataFilterParams, set_tableDataFilterParams] = useState<any | undefined>(undefined);
     const [tabs, set_tabs] = useState<any[]>([]);
     const [currentTabKey, set_currentTabKey] = useState('0');
@@ -44,8 +46,7 @@ const MonthlyInfoCollection = () => {
         const resp = await getDicDataBySysId(systemId, 'DATA_COLLECT_TYPE');
         if (resp) {
             const { dataVoList } = resp;
-            const dataVoListSort = dataVoList.sort((a: any, b: any) => a.sort - b.sort);
-            const tabs = dataVoList.map((a: any) => ({ ...a, label: a.name, key: a.code }));
+            const tabs = dataVoList.map((a: any) => ({ ...a, label: `${a.name}`, key: a.code }));
             const showTabs = tabs.filter((a: any) => a.expandOne == '1')
             set_tabs([{ label: '月度数据导入', key: '0' }, ...showTabs]);
         }
@@ -53,14 +54,34 @@ const MonthlyInfoCollection = () => {
     }
 
     const oneKeyGetHandle = async () => {
-        const resp = await oneKeyGetDataReq({ computeDate });
-        if (resp) {
-            message.success('操作成功!');
-            set_reload(true);
-            setTimeout(() => {
-                set_reload(false);
-            }, 3000)
-        }
+        return new Promise((resolve) => {
+            Modal.confirm({
+                title: '注意',
+                content: '获取操作会覆盖上次获取的数据,确定要继续操作?',
+                onOk: async () => {
+                    try {
+                        const resp = await oneKeyGetDataReq({ computeDate });
+                        if (resp) {
+                            message.success('获取成功!');
+                            set_reload(true);
+                            setTimeout(() => {
+                                set_reload(false);
+                            }, 1000);
+                            resolve(true);
+                        } else {
+                            resolve(false);
+                        }
+                    } catch (error) {
+                        // 请求失败,处理错误
+                        console.error(error);
+                        resolve(false);
+                    }
+                },
+                onCancel() {
+                    resolve(false);
+                },
+            });
+        });
     }
     //撤销请求
     const cancelHandle = async () => {
@@ -77,40 +98,39 @@ const MonthlyInfoCollection = () => {
     }
 
     //获取请求
-    const getHandle = async (): Promise<boolean> => {
-        let timeoutFlag = false;
-        // 创建一个定时器,2秒后设置标志位并开启Modal
-        const timeout = setTimeout(() => {
-            timeoutFlag = true;
-            set_isModalOpen(true);
-        }, 2000);
+    const getHandle = (): Promise<boolean> => {
+        return new Promise((resolve) => {
+            Modal.confirm({
+                title: '注意',
+                content: '获取操作会覆盖上次获取的数据,确定要继续操作?',
+                onOk: async () => {
+                    try {
+                        const resp = await getReq(computeDate, Number(currentTabKey));
     
-        try {
-            const resp = await getReq(computeDate, Number(currentTabKey));
-            // 请求成功,清除定时器并关闭Modal
-            clearTimeout(timeout);
-    
-            if (resp) {
-                if (timeoutFlag) {
-                    set_isModalOpen(false);
-                }
-                message.success('获取成功!');
-                set_reload(true);
-                setTimeout(() => {
-                    set_reload(false);
-                }, 1000);
-                return true;
-            }
-            set_isModalOpen(false);
-            return false;
-        } catch (error) {
-            // 请求失败,清除定时器并处理错误
-            clearTimeout(timeout);
-            console.error(error);
-            return false;
-        }
+                        if (resp) {
+                            message.success('获取成功!');
+                            set_reload(true);
+                            setTimeout(() => {
+                                set_reload(false);
+                            }, 1000);
+                            resolve(true);
+                        } else {
+                            resolve(false);
+                        }
+                    } catch (error) {
+                        // 请求失败,处理错误
+                        console.error(error);
+                        resolve(false);
+                    }
+                },
+                onCancel() {
+                    resolve(false);
+                },
+            });
+        });
     };
     
+
     useEffect(() => {
         const needTab = tabs.filter((a) => a.key == currentTabKey);
         set_currentSelectedTab(needTab[0]);
@@ -146,6 +166,7 @@ const MonthlyInfoCollection = () => {
                     <DatePicker
                         onChange={(data, dateString) => {
                             set_computeDate(dateString);
+                            setInitialState((s:any)=>({...s,computeDate: dateString}));
                             set_tableDataFilterParams({
                                 ...tableDataFilterParams,
                                 computeDate: dateString,
@@ -180,7 +201,7 @@ const MonthlyInfoCollection = () => {
                     {currentTabKey == '4' && <EmpCostDataImport cancelHandle={cancelHandle} getHandle={getHandle} date={computeDate} btnPerm={currentSelectedTab ? currentSelectedTab.expandTwo : '0|0'} />}
                     {currentTabKey == '7' && <WholeHospIncomeAndCost cancelHandle={cancelHandle} getHandle={getHandle} date={computeDate} btnPerm={currentSelectedTab ? currentSelectedTab.expandTwo : '0|0'} />}
                 </div>
-                
+
             </div>
         </KCIMPagecontainer>
     )

+ 3 - 3
src/pages/monthlyInfoSearch/patientInfoImport/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-06-11 11:31:45
+ * @LastEditTime: 2024-08-16 15:35:09
  * @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
  */
@@ -289,7 +289,7 @@ export default function PatientInfoImport(
         type: type
       });
     }
-    console.log({type});
+
     if(type == 3){
       set_columns(columnsTwo);
     }else{
@@ -386,7 +386,7 @@ export default function PatientInfoImport(
           columns={columns}
           actionRef={tableRef}
           rowKey="id"
-          scroll={{ x: type == 3?4000:2000,y:`calc(100vh - 305px)` }}
+          scroll={{ x: type == 3?4000:2000,y:`calc(100vh - 346px)` }}
           params={tableDataFilterParams}
           request={(params) => getTableData(params)}
         />

+ 1 - 1
src/pages/monthlyInfoSearch/patientInfoImport/style.less

@@ -36,7 +36,7 @@
 
 .patientInfoImport {
   position: relative;
-  padding: 16px;
+  // padding: 16px;
   background: #FFFFFF;
   border-radius: 4px;
 

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

@@ -2,7 +2,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2022-12-14 14:14:32
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2024-07-17 15:33:14
+ * @LastEditTime: 2024-07-24 17:25:11
  * @FilePath: /BudgetManaSystem/src/pages/noAccess/index.tsx
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -21,7 +21,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>
     </KCIMPagecontainer>
   );

+ 10 - 9
src/pages/reportExport/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-06-28 16:00:46
+ * @LastEditTime: 2024-08-15 14:19:33
  * @FilePath: /BudgetManaSystem/src/pages/budgetMana/oneBatch/index.tsx
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -33,6 +33,7 @@ import { getStringWidth } from '@/utils/tooljs';
 
 import ExportProgressModal from './ExportProgressModal';
 import { getParamsDataBySysId } from '@/services/getDic';
+import { useModel } from '@umijs/max';
 
 
 const IconFont = createFromIconfontCN({
@@ -51,8 +52,6 @@ let currentPage = 0;
 let maxFetchCount = 0;
 
 
-// const {search} = locatio
-const currentTimeStr = `${new Date().getFullYear()}-${(new Date().getMonth() + 1).toString().padStart(2, '0')}`;
 
 const ReportExport = () => {
 
@@ -63,7 +62,8 @@ const ReportExport = () => {
 
   const [tableScrollX, set_tableScrollX] = useState<number>(1000);
 
-  const [currentComputeDate, set_currentComputeDate] = useState<string | undefined>(currentTimeStr);
+  const { initialState,setInitialState } = useModel('@@initialState');
+  const [currentComputeDate, set_currentComputeDate] = useState<string | undefined>(initialState?initialState.computeDate:undefined);
 
   const [breadCrumbList, set_breadCrumbList] = useState<any[]>([]);
 
@@ -79,12 +79,10 @@ const ReportExport = () => {
 
   const [reportName, set_reportName] = useState('');
 
-  const [exportData, set_exportData] = useState([]);
+  const [pageSize, set_pageSize] = useState(20);
   const [openProcessModal, set_openProcessModal] = useState(false);
 
 
-
-
   const reportJumphandle = (reportData: any) => {
 
     let parameter: { [key: string]: any } = {};
@@ -131,8 +129,10 @@ const ReportExport = () => {
 
     const { systemId } = JSON.parse(localStorage.getItem('currentSelectedTab') as string)
     const paramsData = await getParamsDataBySysId(systemId, '1806523783696224256');
+    const pageSize = paramsData.value?Number(paramsData.value):100;
+    set_pageSize(pageSize);    
+    const { parameter, current, reportCode } = params;
     
-    const { parameter, pageSize = paramsData.value?Number(paramsData.value):100, current, reportCode } = params;
     searchKeys = [];
     let resp: any = undefined;
 
@@ -454,6 +454,7 @@ const ReportExport = () => {
           <DatePicker
             onChange={(data, dateString) => {
               set_currentComputeDate(dateString);
+              setInitialState((s:any)=>({...s,computeDate:dateString}))
             }}
             allowClear={false}
             picker='month'
@@ -494,7 +495,7 @@ const ReportExport = () => {
             // loading={loading}
             scroll={{ x: tableScrollX, y: tableH }}
             // dataSource={tableData}
-            pagination={{ pageSizeOptions: [10, 20, 50, 100, 1000], showSizeChanger: true }}
+            pagination={{ pageSizeOptions: [10, 20, 50, 100, 1000], showSizeChanger: true,pageSize }}
             request={(params, sort, filter) => getTableData(params)}
           />}
         </div>

+ 19 - 16
src/pages/specialDataImport/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-06-05 17:52:06
+ * @LastEditTime: 2024-08-16 10:02: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
  */
@@ -18,7 +18,7 @@ import { ProColumns } from '@ant-design/pro-table';
 import { Input, message, Popconfirm, DatePicker } from 'antd';
 import { useEffect, useRef, useState } from 'react'
 
-import {afterImport, getData, getSpecialImportTable, tableDataImport } from './service';
+import { afterImport, getData, getSpecialImportTable, tableDataImport } from './service';
 import FormItem from 'antd/es/form/FormItem';
 
 import './style.less';
@@ -30,6 +30,7 @@ import { getComputeDate } from '@/pages/Home/service';
 import KCIMUpload from '@/components/KCIMUpload';
 import KCIMPagecontainer from '@/components/KCIMPageContainer';
 import { KCIMTable } from '@/components/KCIMTable';
+import { useModel } from '@umijs/max';
 
 
 const IconFont = createFromIconfontCN({
@@ -43,7 +44,8 @@ export default function DicClassfication() {
 
     const [tableDataFilterParams, set_tableDataFilterParams] = useState<any | undefined>();
     const [tableDataSearchKeywords, set_tableDataSearchKeywords] = useState<string>('');
-    const [currentComputeDate, set_currentComputeDate] = useState<string>(currentDate);
+    const { initialState, setInitialState } = useModel('@@initialState');
+    const [currentComputeDate, set_currentComputeDate] = useState<string | undefined>(initialState ? initialState.computeDate : undefined);
     const tableRef = useRef<ActionType>();
 
 
@@ -87,11 +89,11 @@ export default function DicClassfication() {
             render: (_: any, record: any) => {
                 return [
                     <Popconfirm
-                        title={`是否${record.importStatus == 1?'复原导入':'撤销导入'}?`}
+                        title={`是否${record.importStatus == 1 ? '复原导入' : '撤销导入'}?`}
                         key="del"
                         onConfirm={() => afterImportHandle(record)}
                     >
-                        <a>{record.importStatus == 1?'复原导入':'撤销导入'}</a>
+                        <a>{record.importStatus == 1 ? '复原导入' : '撤销导入'}</a>
                     </Popconfirm>
                 ]
             },
@@ -100,19 +102,19 @@ export default function DicClassfication() {
     ];
 
 
-    const afterImportHandle =async (record:any) => {
-         const {importStatus} = record;
-         const resp = await afterImport(record.id,importStatus?'RECOVERY':'CANCEL');
-         if(resp){
+    const afterImportHandle = async (record: any) => {
+        const { importStatus } = record;
+        const resp = await afterImport(record.id, importStatus ? 'RECOVERY' : 'CANCEL');
+        if (resp) {
             message.success('操作成功!');
             tableRef.current?.reload();
-         }
+        }
     }
 
 
     const getTableData = async (params: any) => {
         const { computeDate } = params;
-        const resp = await getData({ ...params, computeDate: computeDate?computeDate:currentComputeDate });
+        const resp = await getData({ ...params, computeDate: computeDate ? computeDate : currentComputeDate });
         if (resp) {
             return {
                 data: resp.list,
@@ -129,7 +131,7 @@ export default function DicClassfication() {
     const importData = () => {
 
         function downloadTemplate(): void {
-           
+
         }
 
         return (
@@ -174,7 +176,7 @@ export default function DicClassfication() {
                     request={async () => {
                         const resp = await getSpecialImportTable();
                         if (resp) {
-                            
+
                             return resp.map((a: any) => ({
                                 label: a.name,
                                 value: a.code
@@ -201,7 +203,8 @@ export default function DicClassfication() {
                             <span>所属年月:</span>
                             <DatePicker
                                 onChange={(data, dateString) => {
-                                    set_tableDataFilterParams({ ...tableDataFilterParams, computeDate: dateString })
+                                    set_tableDataFilterParams({ ...tableDataFilterParams, computeDate: dateString });
+                                    setInitialState((s:any)=>({...s,currentComputeDate:dateString}));
                                 }}
                                 picker='month'
                                 locale={locale}
@@ -228,7 +231,7 @@ export default function DicClassfication() {
                             }}
                             fieldProps={{
                                 onChange(value, option) {
-                                    set_tableDataFilterParams({ ...tableDataFilterParams,tableName: value })
+                                    set_tableDataFilterParams({ ...tableDataFilterParams, tableName: value })
                                 },
                             }}
                         />
@@ -239,7 +242,7 @@ export default function DicClassfication() {
                 </div>
             </div>
             <div style={{ marginTop: 16 }}>
-                {currentComputeDate && <KCIMTable columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params, sort, filter) => getTableData(params)} />}
+                {currentComputeDate && <KCIMTable scroll={{ y: `calc(100vh - 230px)` }} columns={columns as ProColumns[]} actionRef={tableRef} rowKey='id' params={tableDataFilterParams} request={(params, sort, filter) => getTableData(params)} />}
             </div>
         </KCIMPagecontainer>
     )

+ 8 - 1
src/services/auth.ts

@@ -2,7 +2,7 @@
  * @Author: code4eat awesomedema@gmail.com
  * @Date: 2023-01-30 16:53:33
  * @LastEditors: code4eat awesomedema@gmail.com
- * @LastEditTime: 2023-10-23 15:23:24
+ * @LastEditTime: 2024-09-05 15:32:37
  * @FilePath: /BudgetManaSystem/src/services/oah.ts
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -40,6 +40,13 @@ export async function getTargetDic(dictType: string) {
   });
 }
 
+//获取最后一次的核算年月
+export async function getLastComputeDate() {
+  return request('/costAccount/costdepartmentprofit/getLastComputeDate', {
+    method: 'GET',
+  });
+}
+
 //获取平台菜单
 export const getPlatformMenu = (systemId?:Key) => {
     return request('/centerSys/user/getMenuNav', {

+ 20 - 4
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-11-07 16:00:41
+ * @LastEditTime: 2024-09-06 15:31:56
  * @FilePath: /BudgetManaSystem/src/utils/format.ts
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -12,9 +12,25 @@ export function trim(str: string) {
 }
 
 //金额数字转换
-export function formatMoneyNumber(num:number) {
+export function formatMoneyNumber(num: number) {
   if (typeof num !== 'number' || isNaN(num)) {
     return num;
-  } 
-  return new Intl.NumberFormat('en-US', { minimumFractionDigits: 0, maximumFractionDigits: 2 }).format(num);
+  }
+  return new Intl.NumberFormat('en-US', {
+    minimumFractionDigits: 2,
+    maximumFractionDigits: 2,
+  }).format(num);
 }
+
+
+export function formatToPercentage(num: number) {
+  if (typeof num !== 'number' || isNaN(num)) {
+    return num;
+  }
+  return new Intl.NumberFormat('en-US', {
+    style: 'percent',
+    minimumFractionDigits: 2,
+    maximumFractionDigits: 2,
+  }).format(num);
+}
+

二进制
static/indexBg.png


二进制
static/indexBgCenter.png


部分文件因为文件数量过多而无法显示