columns.tsx 77 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149
  1. import { tableColumnsWidObj } from "@/constant";
  2. import { formatMoneyNumber, formatToPercentage } from "@/utils/format";
  3. import { createFromIconfontCN } from "@ant-design/icons";
  4. import { ProColumns } from "@ant-design/pro-components";
  5. import { Popover } from 'antd'
  6. import React from "react";
  7. const IconFont = createFromIconfontCN({
  8. scriptUrl: '',
  9. });
  10. export const unitPersonnelCostCalc: ProColumns[] = [
  11. {
  12. title: '人事分类名称',
  13. dataIndex: 'name',
  14. },
  15. {
  16. title: '实际编制人数',
  17. dataIndex: 'empNum',
  18. },
  19. {
  20. title: '实际总工时',
  21. dataIndex: 'actualHour',
  22. },
  23. {
  24. title: '预计总工时',
  25. dataIndex: 'expectHour',
  26. },
  27. {
  28. title: '总成本',
  29. dataIndex: 'totalCost',
  30. renderText(num, record, index, action) {
  31. return formatMoneyNumber(num);
  32. },
  33. },
  34. {
  35. title: '人均成本',
  36. dataIndex: 'avgCost',
  37. renderText(num, record, index, action) {
  38. return formatMoneyNumber(num);
  39. },
  40. },
  41. {
  42. title: '每分钟成本',
  43. dataIndex: 'minuteCost',
  44. renderText(num, record, index, action) {
  45. return formatMoneyNumber(num);
  46. },
  47. },
  48. ];
  49. export const chargeItemCostCalc: ProColumns[] = [
  50. {
  51. title: '收费项目编码',
  52. dataIndex: 'code',
  53. },
  54. {
  55. title: '收费项目名称',
  56. dataIndex: 'name',
  57. width: '20%'
  58. },
  59. {
  60. title: '项目类别',
  61. dataIndex: 'itemType',
  62. },
  63. {
  64. title: '药品收入',
  65. dataIndex: 'drugIncome',
  66. renderText(num, record, index, action) {
  67. return formatMoneyNumber(num);
  68. },
  69. },
  70. {
  71. title: '材料收入',
  72. dataIndex: 'materialIncome',
  73. renderText(num, record, index, action) {
  74. return formatMoneyNumber(num);
  75. },
  76. },
  77. {
  78. title: '项目收入',
  79. dataIndex: 'itemIncome',
  80. renderText(num, record, index, action) {
  81. return formatMoneyNumber(num);
  82. },
  83. },
  84. {
  85. title: '药品成本',
  86. dataIndex: 'drugCost',
  87. renderText(num, record, index, action) {
  88. return formatMoneyNumber(num);
  89. },
  90. },
  91. {
  92. title: '材料成本',
  93. dataIndex: 'materialCost',
  94. renderText(num, record, index, action) {
  95. return formatMoneyNumber(num);
  96. },
  97. },
  98. {
  99. title: '项目成本',
  100. dataIndex: 'itemCost',
  101. renderText(num, record, index, action) {
  102. return formatMoneyNumber(num);
  103. },
  104. },
  105. {
  106. title: '人力成本',
  107. dataIndex: 'empCost',
  108. renderText(num, record, index, action) {
  109. return formatMoneyNumber(num);
  110. },
  111. },
  112. {
  113. title: '设备成本',
  114. dataIndex: 'equipmentCost',
  115. renderText(num, record, index, action) {
  116. return formatMoneyNumber(num);
  117. },
  118. },
  119. {
  120. title: '空间成本',
  121. dataIndex: 'spaceCost',
  122. renderText(num, record, index, action) {
  123. return formatMoneyNumber(num);
  124. },
  125. },
  126. ];
  127. export const patientCostCalc: ProColumns[] = [
  128. {
  129. title: '住院号/门诊号',
  130. dataIndex: 'visitNo',
  131. },
  132. {
  133. title: '病人ID',
  134. dataIndex: 'patientNo',
  135. },
  136. {
  137. title: '患者姓名',
  138. dataIndex: 'name',
  139. },
  140. {
  141. title: '科室代码',
  142. dataIndex: 'departmentCode',
  143. },
  144. {
  145. title: '科室名称',
  146. dataIndex: 'departmentName',
  147. },
  148. {
  149. title: '人力成本',
  150. dataIndex: 'empCost',
  151. align:'right',
  152. renderText(num, record, index, action) {
  153. return formatMoneyNumber(num);
  154. },
  155. },
  156. {
  157. title: '设备成本',
  158. align:'right',
  159. dataIndex: 'equipmentCost',
  160. renderText(num, record, index, action) {
  161. return formatMoneyNumber(num);
  162. },
  163. },
  164. {
  165. title: '空间成本',
  166. align:'right',
  167. dataIndex: 'spaceCost',
  168. renderText(num, record, index, action) {
  169. return formatMoneyNumber(num);
  170. },
  171. },
  172. {
  173. title: '项目成本',
  174. align:'right',
  175. dataIndex: 'itemCost',
  176. renderText(num, record, index, action) {
  177. return formatMoneyNumber(num);
  178. },
  179. },
  180. {
  181. title: '药品成本',
  182. align:'right',
  183. dataIndex: 'drugCost',
  184. renderText(num, record, index, action) {
  185. return formatMoneyNumber(num);
  186. },
  187. },
  188. {
  189. title: '材料成本',
  190. align:'right',
  191. dataIndex: 'materialCost',
  192. renderText(num, record, index, action) {
  193. return formatMoneyNumber(num);
  194. },
  195. },
  196. {
  197. title: '项目收入',
  198. align:'right',
  199. dataIndex: 'itemIncome',
  200. renderText(num, record, index, action) {
  201. return formatMoneyNumber(num);
  202. },
  203. },
  204. {
  205. title: '药品收入',
  206. align:'right',
  207. dataIndex: 'drugIncome',
  208. renderText(num, record, index, action) {
  209. return formatMoneyNumber(num);
  210. },
  211. },
  212. {
  213. title: '材料收入',
  214. align:'right',
  215. dataIndex: 'materialIncome',
  216. renderText(num, record, index, action) {
  217. return formatMoneyNumber(num);
  218. },
  219. },
  220. ];
  221. export const diseaseCostCalculation: ProColumns[] = [
  222. {
  223. title: '病种代码',
  224. dataIndex: 'code',
  225. },
  226. {
  227. title: '病种名称',
  228. dataIndex: 'name',
  229. },
  230. {
  231. title: '科室代码',
  232. dataIndex: 'departmentCode',
  233. },
  234. {
  235. title: '科室名称',
  236. dataIndex: 'departmentName',
  237. },
  238. {
  239. title: '人力成本',
  240. dataIndex: 'empCost',
  241. renderText(num, record, index, action) {
  242. return formatMoneyNumber(num);
  243. },
  244. },
  245. {
  246. title: '设备成本',
  247. dataIndex: 'equipmentCost',
  248. renderText(num, record, index, action) {
  249. return formatMoneyNumber(num);
  250. },
  251. },
  252. {
  253. title: '空间成本',
  254. dataIndex: 'spaceCost',
  255. renderText(num, record, index, action) {
  256. return formatMoneyNumber(num);
  257. },
  258. },
  259. {
  260. title: '项目成本',
  261. dataIndex: 'itemCost',
  262. renderText(num, record, index, action) {
  263. return formatMoneyNumber(num);
  264. },
  265. },
  266. {
  267. title: '药品成本',
  268. dataIndex: 'drugCost',
  269. renderText(num, record, index, action) {
  270. return formatMoneyNumber(num);
  271. },
  272. },
  273. {
  274. title: '材料成本',
  275. dataIndex: 'materialCost',
  276. renderText(num, record, index, action) {
  277. return formatMoneyNumber(num);
  278. },
  279. },
  280. {
  281. title: '项目收入',
  282. dataIndex: 'itemIncome',
  283. renderText(num, record, index, action) {
  284. return formatMoneyNumber(num);
  285. },
  286. },
  287. {
  288. title: '药品收入',
  289. dataIndex: 'drugIncome',
  290. renderText(num, record, index, action) {
  291. return formatMoneyNumber(num);
  292. },
  293. },
  294. {
  295. title: '材料收入',
  296. dataIndex: 'materialIncome',
  297. renderText(num, record, index, action) {
  298. return formatMoneyNumber(num);
  299. },
  300. }
  301. ];
  302. export const DRG_DIPCostCalc: ProColumns[] = [
  303. {
  304. title: '分组代码',
  305. dataIndex: 'code',
  306. },
  307. {
  308. title: '分组名称',
  309. width: '18%',
  310. dataIndex: 'name',
  311. },
  312. {
  313. title: '科室代码',
  314. dataIndex: 'departmentCode',
  315. },
  316. {
  317. title: '科室名称',
  318. dataIndex: 'departmentName',
  319. },
  320. {
  321. title: '人力成本',
  322. dataIndex: 'empCost',
  323. renderText(num, record, index, action) {
  324. return formatMoneyNumber(num);
  325. },
  326. },
  327. {
  328. title: '设备成本',
  329. dataIndex: 'equipmentCost',
  330. renderText(num, record, index, action) {
  331. return formatMoneyNumber(num);
  332. },
  333. },
  334. {
  335. title: '空间成本',
  336. dataIndex: 'spaceCost',
  337. renderText(num, record, index, action) {
  338. return formatMoneyNumber(num);
  339. },
  340. },
  341. {
  342. title: '项目成本',
  343. dataIndex: 'itemCost',
  344. renderText(num, record, index, action) {
  345. return formatMoneyNumber(num);
  346. },
  347. },
  348. {
  349. title: '药品成本',
  350. dataIndex: 'drugCost',
  351. renderText(num, record, index, action) {
  352. return formatMoneyNumber(num);
  353. },
  354. },
  355. {
  356. title: '材料成本',
  357. dataIndex: 'materialCost',
  358. renderText(num, record, index, action) {
  359. return formatMoneyNumber(num);
  360. },
  361. },
  362. {
  363. title: '项目收入',
  364. dataIndex: 'itemIncome',
  365. renderText(num, record, index, action) {
  366. return formatMoneyNumber(num);
  367. },
  368. },
  369. {
  370. title: '药品收入',
  371. dataIndex: 'drugIncome',
  372. renderText(num, record, index, action) {
  373. return formatMoneyNumber(num);
  374. },
  375. },
  376. {
  377. title: '材料收入',
  378. dataIndex: 'materialIncome',
  379. renderText(num, record, index, action) {
  380. return formatMoneyNumber(num);
  381. },
  382. }
  383. ];
  384. export const clinicalPathway: ProColumns[] = [
  385. {
  386. title: '路径代码',
  387. dataIndex: 'code',
  388. },
  389. {
  390. title: '路径名称',
  391. width: '20%',
  392. dataIndex: 'name',
  393. },
  394. {
  395. title: '科室代码',
  396. dataIndex: 'departmentCode',
  397. },
  398. {
  399. title: '科室名称',
  400. dataIndex: 'departmentName',
  401. },
  402. {
  403. title: '人力成本',
  404. dataIndex: 'empCost',
  405. renderText(num, record, index, action) {
  406. return formatMoneyNumber(num);
  407. },
  408. },
  409. {
  410. title: '设备成本',
  411. dataIndex: 'equipmentCost',
  412. renderText(num, record, index, action) {
  413. return formatMoneyNumber(num);
  414. },
  415. },
  416. {
  417. title: '空间成本',
  418. dataIndex: 'spaceCost',
  419. renderText(num, record, index, action) {
  420. return formatMoneyNumber(num);
  421. },
  422. },
  423. {
  424. title: '项目成本',
  425. dataIndex: 'itemCost',
  426. renderText(num, record, index, action) {
  427. return formatMoneyNumber(num);
  428. },
  429. },
  430. {
  431. title: '药品成本',
  432. dataIndex: 'drugCost',
  433. renderText(num, record, index, action) {
  434. return formatMoneyNumber(num);
  435. },
  436. },
  437. {
  438. title: '材料成本',
  439. dataIndex: 'materialCost',
  440. renderText(num, record, index, action) {
  441. return formatMoneyNumber(num);
  442. },
  443. },
  444. {
  445. title: '项目收入',
  446. dataIndex: 'itemIncome',
  447. renderText(num, record, index, action) {
  448. return formatMoneyNumber(num);
  449. },
  450. },
  451. {
  452. title: '药品收入',
  453. dataIndex: 'drugIncome',
  454. renderText(num, record, index, action) {
  455. return formatMoneyNumber(num);
  456. },
  457. },
  458. {
  459. title: '材料收入',
  460. dataIndex: 'materialIncome',
  461. renderText(num, record, index, action) {
  462. return formatMoneyNumber(num);
  463. },
  464. }
  465. ];
  466. export const medicalOrderItem: ProColumns[] = [
  467. {
  468. title: '医嘱项目编码',
  469. dataIndex: 'code',
  470. },
  471. {
  472. title: '医嘱项目名称',
  473. dataIndex: 'name',
  474. width: '18%'
  475. },
  476. {
  477. title: '科室代码',
  478. dataIndex: 'departmentCode',
  479. },
  480. {
  481. title: '科室名称',
  482. dataIndex: 'departmentName',
  483. },
  484. {
  485. title: '项目成本',
  486. dataIndex: 'itemCost',
  487. renderText(num, record, index, action) {
  488. return formatMoneyNumber(num);
  489. },
  490. },
  491. {
  492. title: '药品成本',
  493. dataIndex: 'drugCost',
  494. renderText(num, record, index, action) {
  495. return formatMoneyNumber(num);
  496. },
  497. },
  498. {
  499. title: '材料成本',
  500. dataIndex: 'materialCost',
  501. renderText(num, record, index, action) {
  502. return formatMoneyNumber(num);
  503. },
  504. },
  505. {
  506. title: '项目收入',
  507. dataIndex: 'itemIncome',
  508. renderText(num, record, index, action) {
  509. return formatMoneyNumber(num);
  510. },
  511. },
  512. {
  513. title: '药品收入',
  514. dataIndex: 'drugIncome',
  515. renderText(num, record, index, action) {
  516. return formatMoneyNumber(num);
  517. },
  518. },
  519. {
  520. title: '材料收入',
  521. dataIndex: 'materialIncome',
  522. renderText(num, record, index, action) {
  523. return formatMoneyNumber(num);
  524. },
  525. },
  526. {
  527. title: '人力成本',
  528. dataIndex: 'empCost',
  529. renderText(num, record, index, action) {
  530. return formatMoneyNumber(num);
  531. },
  532. },
  533. {
  534. title: '设备成本',
  535. dataIndex: 'equipmentCost',
  536. renderText(num, record, index, action) {
  537. return formatMoneyNumber(num);
  538. },
  539. },
  540. {
  541. title: '空间成本',
  542. dataIndex: 'spaceCost',
  543. renderText(num, record, index, action) {
  544. return formatMoneyNumber(num);
  545. },
  546. },
  547. ];
  548. export const medicalMaterialCostCalc: ProColumns[] = [
  549. {
  550. title: '责任中心代码',
  551. dataIndex: 'responsibilityCode',
  552. },
  553. {
  554. title: '责任中心名称',
  555. dataIndex: 'responsibilityName',
  556. width: '10%'
  557. },
  558. {
  559. title: '收费项目编码',
  560. dataIndex: 'code',
  561. },
  562. {
  563. title: '收费项目名称',
  564. dataIndex: 'name',
  565. width: '30%'
  566. },
  567. {
  568. title: '项目类别',
  569. dataIndex: 'itemType',
  570. },
  571. {
  572. title: '药品收入',
  573. align:'right',
  574. dataIndex: 'drugIncome',
  575. renderText(num, record, index, action) {
  576. return formatMoneyNumber(num);
  577. },
  578. },
  579. {
  580. title: '材料收入',
  581. align:'right',
  582. dataIndex: 'materialIncome',
  583. renderText(num, record, index, action) {
  584. return formatMoneyNumber(num);
  585. },
  586. },
  587. {
  588. title: '药品成本',
  589. dataIndex: 'drugCost',
  590. align:'right',
  591. renderText(num, record, index, action) {
  592. return formatMoneyNumber(num);
  593. },
  594. },
  595. {
  596. title: '材料成本',
  597. align:'right',
  598. dataIndex: 'materialCost',
  599. renderText(num, record, index, action) {
  600. return formatMoneyNumber(num);
  601. },
  602. },
  603. ];
  604. export const beforeCollectionSearch: ProColumns[] = [
  605. {
  606. title: '收入项目',
  607. dataIndex: 'productCodeName',
  608. },
  609. {
  610. title: '会计科目',
  611. dataIndex: 'accountCodeName',
  612. },
  613. {
  614. title: '金额(元)',
  615. dataIndex: 'amount',
  616. width: 130,
  617. align:'center',
  618. renderText(num, record, index, action) {
  619. return <div style={{paddingRight:30,textAlign:'right'}}>{formatMoneyNumber(num)}</div>
  620. }
  621. },
  622. {
  623. title: '开单科室',
  624. dataIndex: 'openDepartmentCodeName',
  625. },
  626. {
  627. title: '开单责任中心',
  628. dataIndex: 'openResponsibilityCodeName',
  629. },
  630. {
  631. title: '执行科室',
  632. dataIndex: 'startDepartmentCodeName',
  633. },
  634. {
  635. title: '执行责任中心',
  636. dataIndex: 'startResponsibilityCodeName',
  637. },
  638. ];
  639. export const incomeCollection: ProColumns[] = [
  640. {
  641. title: '年份',
  642. dataIndex: 'year',
  643. },
  644. {
  645. title: '月份',
  646. dataIndex: 'month',
  647. },
  648. {
  649. title: '金额',
  650. dataIndex: 'amount',
  651. renderText(num, record, index, action) {
  652. return formatMoneyNumber(num);
  653. },
  654. },
  655. ];
  656. export const afterCollectionSearch: ProColumns[] = [
  657. {
  658. title: '年份',
  659. dataIndex: 'year',
  660. width: tableColumnsWidObj.year
  661. },
  662. {
  663. title: '月份',
  664. dataIndex: 'month',
  665. width: tableColumnsWidObj.month
  666. },
  667. {
  668. title: '科室编码',
  669. dataIndex: 'departmentCode',
  670. },
  671. {
  672. title: '科室名称',
  673. width: tableColumnsWidObj.departmentName,
  674. dataIndex: 'departmentName',
  675. },
  676. {
  677. title: '责任中心编码',
  678. width: tableColumnsWidObj.responsibilityCenterCode,
  679. dataIndex: 'responsibilityCode',
  680. },
  681. {
  682. title: '责任中心名称',
  683. width: tableColumnsWidObj.responsibilityCenter,
  684. dataIndex: 'responsibilityName',
  685. },
  686. {
  687. title: '会计科目编码',
  688. dataIndex: 'accountingCode',
  689. },
  690. {
  691. title: '会计科目名',
  692. dataIndex: 'accountingName',
  693. },
  694. {
  695. title: '成本项目编码',
  696. dataIndex: 'productCode',
  697. },
  698. {
  699. title: '成本项目名',
  700. dataIndex: 'productName',
  701. },
  702. {
  703. title: '金额',
  704. dataIndex: 'amount',
  705. renderText(num, record, index, action) {
  706. return formatMoneyNumber(num);
  707. },
  708. },
  709. ];
  710. export const beforeCostShareSearch: ProColumns[] = [
  711. {
  712. title: '成本项目',
  713. width: '20%',
  714. dataIndex: 'productName',
  715. renderText(num, record, index, action) {
  716. const { productCode, productName } = record;
  717. return `[${productCode}]${productName}`
  718. },
  719. },
  720. {
  721. title: '会计科目',
  722. width: '20%',
  723. dataIndex: 'accountName',
  724. renderText(num, record, index, action) {
  725. const { accountCode, accountName } = record;
  726. return `[${accountCode}]${accountName}`
  727. },
  728. },
  729. {
  730. title: '金额(元)',
  731. width: '20%',
  732. align:'center',
  733. dataIndex: 'amount',
  734. renderText(num, record, index, action) {
  735. return <div style={{textAlign:'right',paddingRight:'30%'}}>{formatMoneyNumber(num)}</div>
  736. },
  737. },
  738. {
  739. title: '科室名称',
  740. width: '20%',
  741. dataIndex: 'departName',
  742. renderText(num, record, index, action) {
  743. const { departCode, departName } = record;
  744. return `[${departCode}]${departName}`
  745. },
  746. },
  747. {
  748. title: '责任中心名',
  749. dataIndex: 'responsibilityName',
  750. width: '20%',
  751. renderText(num, record, index, action) {
  752. const { responsibilityCode, responsibilityName } = record;
  753. return `[${responsibilityCode}]${responsibilityName}`
  754. },
  755. },
  756. ];
  757. export const costShare: ProColumns[] = [
  758. {
  759. title: '年份',
  760. align:'left',
  761. dataIndex: 'year',
  762. },
  763. {
  764. title: '月份',
  765. align:'center',
  766. dataIndex: 'month',
  767. },
  768. {
  769. title: '金额',
  770. align:'right',
  771. dataIndex: 'amount',
  772. renderText(num, record, index, action) {
  773. return <div style={{textAlign:'right'}}>{formatMoneyNumber(num)}</div>
  774. },
  775. },
  776. {
  777. title: '是否分摊',
  778. align:'right',
  779. dataIndex: 'isAllocation',
  780. render: bool => bool ? '已分摊' : '未分摊'
  781. },
  782. ];
  783. export const afterCostShareSearch: ProColumns[] = [
  784. // {
  785. // title: '年份',
  786. // dataIndex: 'dateYear',
  787. // width: tableColumnsWidObj.year
  788. // },
  789. // {
  790. // title: '月份',
  791. // dataIndex: 'dateMonth',
  792. // width: tableColumnsWidObj.month
  793. // },
  794. {
  795. width:90,
  796. title: '分摊层级',
  797. dataIndex: 'levelSort',
  798. },
  799. {
  800. title: '分摊层级名',
  801. dataIndex: 'levelName',
  802. },
  803. {
  804. title: '责任中心编码',
  805. width: tableColumnsWidObj.responsibilityCenterCode,
  806. dataIndex: 'responsibilityCode',
  807. },
  808. {
  809. title: '责任中心名',
  810. width: tableColumnsWidObj.responsibilityCenter,
  811. dataIndex: 'responsibilityName',
  812. },
  813. {
  814. title: '会计科目编码',
  815. dataIndex: 'accountingCode',
  816. },
  817. {
  818. title: '会计科目名',
  819. width:220,
  820. dataIndex: 'accountingName',
  821. },
  822. {
  823. title: '金额',
  824. dataIndex: 'amount',
  825. align:'right',
  826. renderText(num, record, index, action) {
  827. const { decimalPlace, permil } = record;
  828. const shouldUseThousandSeparator = permil === 1;
  829. return formatMoneyNumber(num, { decimalPlaces: decimalPlace, useThousandSeparator: shouldUseThousandSeparator });
  830. },
  831. },
  832. ];
  833. export const departmentCostCalculate: ProColumns[] = [
  834. {
  835. title: '责任中心',
  836. dataIndex: 'responsibilityCode',
  837. },
  838. {
  839. title: '年份',
  840. dataIndex: 'year',
  841. },
  842. {
  843. title: '月份',
  844. dataIndex: 'month',
  845. },
  846. {
  847. title: '报表项目编码',
  848. width: '10%',
  849. dataIndex: 'reportNum',
  850. },
  851. {
  852. title: '报表项目名',
  853. dataIndex: 'reportName',
  854. },
  855. {
  856. title: '责任中心名',
  857. dataIndex: 'responsibilityName',
  858. },
  859. {
  860. title: '责任中心编码',
  861. dataIndex: 'responsibilityCode',
  862. },
  863. {
  864. title: '金额',
  865. width: '10%',
  866. dataIndex: 'amount',
  867. renderText(num, record, index, action) {
  868. return formatMoneyNumber(num);
  869. },
  870. },
  871. {
  872. title: '占比',
  873. dataIndex: 'percentName',
  874. },
  875. ];
  876. export const wholeHospCostCalculate: ProColumns[] = [
  877. {
  878. title: '报表项目',
  879. dataIndex: 'reportName',
  880. renderText(text, record, index, action) {
  881. const { description } = record;
  882. return description ? <Popover content={()=><div dangerouslySetInnerHTML={{__html: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
  883. },
  884. },
  885. {
  886. title: '金额',
  887. width:200,
  888. align:'right',
  889. dataIndex: 'amount',
  890. renderText(num, record, index, action) {
  891. const { decimalPlace, permil, dataType, children, calcType } = record;
  892. // 有 children 且 calcType 为 0 时返回空
  893. if (children && children.length > 0 && calcType === '0') {
  894. return <React.Fragment></React.Fragment>;
  895. }
  896. // 根据 dataType 处理数据
  897. if (dataType === 2) {
  898. // 百分比类型
  899. if (typeof num === 'number' && !isNaN(num)) {
  900. return `${(num * 100).toFixed(decimalPlace || 2)}%`;
  901. }
  902. return num;
  903. } else {
  904. // 数值类型
  905. const formatOptions = {
  906. decimalPlaces: decimalPlace !== undefined ? decimalPlace : 2,
  907. useThousandSeparator: permil === 1
  908. };
  909. return formatMoneyNumber(num, formatOptions);
  910. }
  911. },
  912. },
  913. {
  914. title: '占比',
  915. width:100,
  916. align:'right',
  917. dataIndex: 'percent',
  918. renderText(num, record) {
  919. const { children, calcType } = record;
  920. // 有 children 时返回 null,否则格式化百分比
  921. return (children && children.length > 0 && calcType == '0') ? <React.Fragment></React.Fragment> : formatToPercentage(num);
  922. },
  923. },
  924. // {
  925. // title: '说明',
  926. // dataIndex: 'description',
  927. // renderText(text,record) {
  928. // const {children} = record;
  929. // return (children&&children.length>0)?<React.Fragment></React.Fragment>:text;
  930. // },
  931. // },
  932. ];
  933. export const costShareReportTable: ProColumns[] = [
  934. {
  935. title: '年份',
  936. dataIndex: 'year',
  937. },
  938. {
  939. title: '月份',
  940. dataIndex: 'month',
  941. },
  942. {
  943. title: '分摊报表名称',
  944. dataIndex: 'shareReportName',
  945. },
  946. {
  947. title: '分摊层级',
  948. dataIndex: 'shareLevel',
  949. },
  950. {
  951. title: '分摊时间',
  952. dataIndex: 'shareTime',
  953. },
  954. ];
  955. // 医院科室直接成本表(医疗成本)
  956. export const deptDirectMedicalCost: ProColumns[] = [
  957. {
  958. title: '科室名称',
  959. dataIndex: 'responsibilityName',
  960. width: 180,
  961. fixed: 'left' as any,
  962. },
  963. {
  964. title: '人员经费(1)',
  965. dataIndex: 'personnelExpense',
  966. align: 'right',
  967. renderText(num, record) {
  968. const { decimalPlace } = record || {};
  969. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
  970. },
  971. },
  972. {
  973. title: '卫生材料费(2)',
  974. dataIndex: 'healthMaterialFee',
  975. align: 'right',
  976. renderText(num, record) {
  977. const { decimalPlace } = record || {};
  978. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
  979. },
  980. },
  981. {
  982. title: '药品费(3)',
  983. dataIndex: 'drugFee',
  984. align: 'right',
  985. renderText(num, record) {
  986. const { decimalPlace } = record || {};
  987. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
  988. },
  989. },
  990. {
  991. title: '固定资产折旧费(4)',
  992. dataIndex: 'fixedAssetDepreciation',
  993. align: 'right',
  994. renderText(num, record) {
  995. const { decimalPlace } = record || {};
  996. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
  997. },
  998. },
  999. {
  1000. title: '无形资产摊销费(5)',
  1001. dataIndex: 'intangibleAssetAmortization',
  1002. align: 'right',
  1003. renderText(num, record) {
  1004. const { decimalPlace } = record || {};
  1005. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
  1006. },
  1007. },
  1008. {
  1009. title: '提取医疗风险基金(6)',
  1010. dataIndex: 'medicalRiskFundExtraction',
  1011. align: 'right',
  1012. renderText(num, record) {
  1013. const { decimalPlace } = record || {};
  1014. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
  1015. },
  1016. },
  1017. {
  1018. title: '其他医疗费用(7)',
  1019. dataIndex: 'otherMedicalExpenses',
  1020. align: 'right',
  1021. renderText(num, record) {
  1022. const { decimalPlace } = record || {};
  1023. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
  1024. },
  1025. },
  1026. {
  1027. title: '合计(8)=(1)+(2)+(3)+(4)+(5)+(6)+(7)',
  1028. dataIndex: 'total',
  1029. width: 220,
  1030. fixed: 'right' as any,
  1031. align: 'right',
  1032. renderText(num, record) {
  1033. const { decimalPlace, permil } = record || {};
  1034. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true });
  1035. },
  1036. },
  1037. ];
  1038. // 医院科室直接成本表(全成本)
  1039. export const deptFullDirectCost: ProColumns[] = [
  1040. {
  1041. title: '科室名称',
  1042. dataIndex: 'responsibilityName',
  1043. width: 180,
  1044. fixed: 'left' as any,
  1045. },
  1046. {
  1047. title: '医疗成本合计(1)',
  1048. dataIndex: 'medicalCostTotal',
  1049. align: 'right',
  1050. renderText(num, record) {
  1051. const { decimalPlace } = record || {};
  1052. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
  1053. },
  1054. },
  1055. {
  1056. title: '财政项目拨款经费形成的各项费用(2)',
  1057. dataIndex: 'financialProjectFunds',
  1058. align: 'right',
  1059. renderText(num, record) {
  1060. const { decimalPlace } = record || {};
  1061. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
  1062. },
  1063. },
  1064. {
  1065. title: '非同级财政拨款项目经费形成的各项费用(3)',
  1066. dataIndex: 'nonPeerFinancialFunds',
  1067. align: 'right',
  1068. renderText(num, record) {
  1069. const { decimalPlace } = record || {};
  1070. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
  1071. },
  1072. },
  1073. {
  1074. title: '医疗全成本合计(4)=(1)+(2)+(3)',
  1075. dataIndex: 'medicalTotalCost',
  1076. align: 'right',
  1077. renderText(num, record) {
  1078. const { decimalPlace } = record || {};
  1079. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
  1080. },
  1081. },
  1082. {
  1083. title: '科教经费形成的各项费用(5)',
  1084. dataIndex: 'educationalExpenses',
  1085. align: 'right',
  1086. renderText(num, record) {
  1087. const { decimalPlace } = record || {};
  1088. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
  1089. },
  1090. },
  1091. {
  1092. title: '资产处置费用、上缴上级费用、对附属单位补助费用、其他费用等(6)',
  1093. dataIndex: 'assetDisposalFees',
  1094. align: 'right',
  1095. renderText(num, record) {
  1096. const { decimalPlace } = record || {};
  1097. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
  1098. },
  1099. },
  1100. {
  1101. title: '医院全成本(7)=(4)+(5)+(6)',
  1102. dataIndex: 'hospitalTotalCost',
  1103. width: 240,
  1104. fixed: 'right' as any,
  1105. align: 'right',
  1106. renderText(num, record) {
  1107. const { decimalPlace, permil } = record || {};
  1108. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true });
  1109. },
  1110. },
  1111. ];
  1112. // 医院科室成本分摊汇总表
  1113. export const deptCostAllocationSummary: ProColumns[] = [
  1114. {
  1115. title: '科室名称',
  1116. dataIndex: 'responsibilityName',
  1117. width: 180,
  1118. fixed: 'left' as any,
  1119. },
  1120. {
  1121. title: '医疗成本(1)=(2)+(3)',
  1122. dataIndex: 'medicalCost',
  1123. align: 'right',
  1124. renderText(num, record) {
  1125. const { decimalPlace } = record || {};
  1126. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
  1127. },
  1128. },
  1129. {
  1130. title: '直接成本(2)',
  1131. dataIndex: 'directCost',
  1132. align: 'right',
  1133. renderText(num, record) {
  1134. const { decimalPlace } = record || {};
  1135. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
  1136. },
  1137. },
  1138. {
  1139. title: '间接成本',
  1140. children: [
  1141. { title: '小计(3)=(4)+(5)+(6)', dataIndex: 'subtotal', align: 'right', renderText: (n: any, r: any) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1142. { title: '行政后勤分摊(4)', dataIndex: 'allocatedAdminCost', align: 'right', renderText: (n: any, r: any) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1143. { title: '医疗辅助分摊(5)', dataIndex: 'allocatedSupportCost', align: 'right', renderText: (n: any, r: any) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1144. { title: '医疗技术分摊(6)', dataIndex: 'allocatedTechCost', align: 'right', renderText: (n: any, r: any) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1145. ] as any,
  1146. },
  1147. ];
  1148. // 医院诊次成本构成表
  1149. export const hospitalVisitCostComposition: ProColumns[] = [
  1150. {
  1151. title: '成本项目',
  1152. dataIndex: 'costItem',
  1153. width: 220,
  1154. fixed: 'left' as any,
  1155. },
  1156. {
  1157. title: '每诊次成本',
  1158. children: [
  1159. {
  1160. title: '医疗成本',
  1161. dataIndex: 'medicalCost',
  1162. align: 'right',
  1163. renderText(num: any, record: any) {
  1164. const { decimalPlace, permil } = record || {};
  1165. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1166. },
  1167. },
  1168. {
  1169. title: '医疗全成本',
  1170. dataIndex: 'medicalFullCost',
  1171. align: 'right',
  1172. renderText(num: any, record: any) {
  1173. const { decimalPlace, permil } = record || {};
  1174. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1175. },
  1176. },
  1177. {
  1178. title: '医院全成本',
  1179. dataIndex: 'hospitalFullCost',
  1180. align: 'right',
  1181. renderText(num: any, record: any) {
  1182. const { decimalPlace, permil } = record || {};
  1183. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1184. },
  1185. },
  1186. ] as any,
  1187. },
  1188. ];
  1189. // 医院科室诊次成本表
  1190. export const hospitalDeptVisitCost: ProColumns[] = [
  1191. {
  1192. title: '科室编码',
  1193. dataIndex: 'responsibilityCode',
  1194. width: 140,
  1195. fixed: 'left' as any,
  1196. },
  1197. {
  1198. title: '科室名称',
  1199. dataIndex: 'responsibilityName',
  1200. width: 180,
  1201. fixed: 'left' as any,
  1202. },
  1203. {
  1204. title: '每诊次成本',
  1205. children: [
  1206. {
  1207. title: '服务量',
  1208. dataIndex: 'serviceCount',
  1209. align: 'right',
  1210. },
  1211. {
  1212. title: '医疗成本',
  1213. dataIndex: 'medicalCost',
  1214. align: 'right',
  1215. renderText(num: any, record: any) {
  1216. const { decimalPlace, permil } = record || {};
  1217. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1218. },
  1219. },
  1220. {
  1221. title: '医疗全成本',
  1222. dataIndex: 'medicalFullCost',
  1223. align: 'right',
  1224. renderText(num: any, record: any) {
  1225. const { decimalPlace, permil } = record || {};
  1226. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1227. },
  1228. },
  1229. {
  1230. title: '医院全成本',
  1231. dataIndex: 'hospitalFullCost',
  1232. align: 'right',
  1233. renderText(num: any, record: any) {
  1234. const { decimalPlace, permil } = record || {};
  1235. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1236. },
  1237. },
  1238. ] as any,
  1239. },
  1240. ];
  1241. // 医院床日成本构成表
  1242. export const hospitalBedDayCostComposition: ProColumns[] = [
  1243. {
  1244. title: '成本项目',
  1245. dataIndex: 'costItem',
  1246. width: 220,
  1247. fixed: 'left' as any,
  1248. },
  1249. {
  1250. title: '每床日成本',
  1251. children: [
  1252. {
  1253. title: '医疗成本',
  1254. dataIndex: 'medicalCost',
  1255. align: 'right',
  1256. renderText(num: any, record: any) {
  1257. const { decimalPlace, permil } = record || {};
  1258. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1259. },
  1260. },
  1261. {
  1262. title: '医疗全成本',
  1263. dataIndex: 'medicalFullCost',
  1264. align: 'right',
  1265. renderText(num: any, record: any) {
  1266. const { decimalPlace, permil } = record || {};
  1267. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1268. },
  1269. },
  1270. {
  1271. title: '医院全成本',
  1272. dataIndex: 'hospitalFullCost',
  1273. align: 'right',
  1274. renderText(num: any, record: any) {
  1275. const { decimalPlace, permil } = record || {};
  1276. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1277. },
  1278. },
  1279. ] as any,
  1280. },
  1281. ];
  1282. // 医院医疗服务项目成本汇总表
  1283. export const hospitalServiceProjectCost: ProColumns[] = [
  1284. {
  1285. title: '成本项目',
  1286. dataIndex: 'itemName',
  1287. width: 260,
  1288. fixed: 'left' as any,
  1289. renderText: (_: any, record: any) => {
  1290. const { itemCode, itemName } = record || {};
  1291. return itemCode ? `[${itemCode}]${itemName || ''}` : (itemName || '');
  1292. },
  1293. },
  1294. {
  1295. title: '医疗成本',
  1296. dataIndex: 'medicalCost',
  1297. align: 'right',
  1298. renderText(num: any, record: any) {
  1299. const { decimalPlace, permil } = record || {};
  1300. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1301. },
  1302. },
  1303. {
  1304. title: '医疗全成本',
  1305. dataIndex: 'medicalFullCost',
  1306. align: 'right',
  1307. renderText(num: any, record: any) {
  1308. const { decimalPlace, permil } = record || {};
  1309. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1310. },
  1311. },
  1312. {
  1313. title: '医院全成本',
  1314. dataIndex: 'hospitalFullCost',
  1315. align: 'right',
  1316. renderText(num: any, record: any) {
  1317. const { decimalPlace, permil } = record || {};
  1318. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1319. },
  1320. },
  1321. ];
  1322. // 医院医疗服务项目成本明细表
  1323. export const medicalServiceCostDetail: ProColumns[] = [
  1324. {
  1325. title: '项目编码',
  1326. dataIndex: 'itemCode',
  1327. width: 140,
  1328. fixed: 'left' as any,
  1329. },
  1330. {
  1331. title: '项目名称',
  1332. dataIndex: 'itemName',
  1333. width: 220,
  1334. fixed: 'left' as any,
  1335. },
  1336. {
  1337. title: '服务量',
  1338. dataIndex: 'serviceVolume',
  1339. align: 'right',
  1340. },
  1341. {
  1342. title: '每项目成本',
  1343. children: [
  1344. {
  1345. title: '医疗成本',
  1346. dataIndex: 'medicalCost',
  1347. align: 'right',
  1348. renderText(num: any, record: any) {
  1349. const { decimalPlace, permil } = record || {};
  1350. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1351. },
  1352. },
  1353. {
  1354. title: '医疗全成本',
  1355. dataIndex: 'medicalFullCost',
  1356. align: 'right',
  1357. renderText(num: any, record: any) {
  1358. const { decimalPlace, permil } = record || {};
  1359. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1360. },
  1361. },
  1362. {
  1363. title: '医院全成本',
  1364. dataIndex: 'hospitalFullCost',
  1365. align: 'right',
  1366. renderText(num: any, record: any) {
  1367. const { decimalPlace, permil } = record || {};
  1368. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1369. },
  1370. },
  1371. ] as any,
  1372. },
  1373. ];
  1374. // 医院病种成本构成明细表
  1375. export const diseaseCostCompositionDetail: ProColumns[] = [
  1376. {
  1377. title: '病种编码',
  1378. dataIndex: 'itemCode',
  1379. width: 140,
  1380. fixed: 'left' as any,
  1381. },
  1382. {
  1383. title: '病种名称',
  1384. dataIndex: 'itemName',
  1385. width: 220,
  1386. fixed: 'left' as any,
  1387. },
  1388. {
  1389. title: '病种成本',
  1390. children: [
  1391. {
  1392. title: '金额',
  1393. dataIndex: 'totalCost',
  1394. align: 'right',
  1395. renderText(num: any, record: any) {
  1396. const { decimalPlace, permil } = record || {};
  1397. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1398. },
  1399. },
  1400. ] as any,
  1401. },
  1402. {
  1403. title: '人员经费',
  1404. children: [
  1405. {
  1406. title: '金额',
  1407. dataIndex: 'personnelExpense',
  1408. align: 'right',
  1409. renderText(num: any, record: any) {
  1410. const { decimalPlace, permil } = record || {};
  1411. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1412. },
  1413. },
  1414. {
  1415. title: '占比',
  1416. dataIndex: 'personnelExpenseRatio',
  1417. align: 'right',
  1418. renderText: (n: any) => formatToPercentage(n),
  1419. },
  1420. ] as any,
  1421. },
  1422. {
  1423. title: '卫生材料费',
  1424. children: [
  1425. {
  1426. title: '金额',
  1427. dataIndex: 'medicalMaterialExpense',
  1428. align: 'right',
  1429. renderText(num: any, record: any) {
  1430. const { decimalPlace, permil } = record || {};
  1431. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1432. },
  1433. },
  1434. {
  1435. title: '占比',
  1436. dataIndex: 'medicalMaterialExpenseRatio',
  1437. align: 'right',
  1438. renderText: (n: any) => formatToPercentage(n),
  1439. },
  1440. ] as any,
  1441. },
  1442. {
  1443. title: '药品费',
  1444. children: [
  1445. {
  1446. title: '金额',
  1447. dataIndex: 'drugExpense',
  1448. align: 'right',
  1449. renderText(num: any, record: any) {
  1450. const { decimalPlace, permil } = record || {};
  1451. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1452. },
  1453. },
  1454. {
  1455. title: '占比',
  1456. dataIndex: 'drugExpenseRatio',
  1457. align: 'right',
  1458. renderText: (n: any) => formatToPercentage(n),
  1459. },
  1460. ] as any,
  1461. },
  1462. {
  1463. title: '固定资产折旧费',
  1464. children: [
  1465. {
  1466. title: '金额',
  1467. dataIndex: 'fixedAssetDepreciation',
  1468. align: 'right',
  1469. renderText(num: any, record: any) {
  1470. const { decimalPlace, permil } = record || {};
  1471. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1472. },
  1473. },
  1474. {
  1475. title: '占比',
  1476. dataIndex: 'fixedAssetDepreciationRatio',
  1477. align: 'right',
  1478. renderText: (n: any) => formatToPercentage(n),
  1479. },
  1480. ] as any,
  1481. },
  1482. {
  1483. title: '无形资产摊销费',
  1484. children: [
  1485. {
  1486. title: '金额',
  1487. dataIndex: 'intangibleAssetAmortization',
  1488. align: 'right',
  1489. renderText(num: any, record: any) {
  1490. const { decimalPlace, permil } = record || {};
  1491. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1492. },
  1493. },
  1494. {
  1495. title: '占比',
  1496. dataIndex: 'intangibleAssetAmortizationRatio',
  1497. align: 'right',
  1498. renderText: (n: any) => formatToPercentage(n),
  1499. },
  1500. ] as any,
  1501. },
  1502. {
  1503. title: '提取医疗风险基金',
  1504. children: [
  1505. {
  1506. title: '金额',
  1507. dataIndex: 'medicalRiskFund',
  1508. align: 'right',
  1509. renderText(num: any, record: any) {
  1510. const { decimalPlace, permil } = record || {};
  1511. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1512. },
  1513. },
  1514. {
  1515. title: '占比',
  1516. dataIndex: 'medicalRiskFundRatio',
  1517. align: 'right',
  1518. renderText: (n: any) => formatToPercentage(n),
  1519. },
  1520. ] as any,
  1521. },
  1522. {
  1523. title: '其他医疗费用',
  1524. children: [
  1525. {
  1526. title: '金额',
  1527. dataIndex: 'otherMedicalExpenses',
  1528. align: 'right',
  1529. renderText(num: any, record: any) {
  1530. const { decimalPlace, permil } = record || {};
  1531. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1532. },
  1533. },
  1534. {
  1535. title: '占比',
  1536. dataIndex: 'otherMedicalExpensesRatio',
  1537. align: 'right',
  1538. renderText: (n: any) => formatToPercentage(n),
  1539. },
  1540. ] as any,
  1541. },
  1542. ];
  1543. // 医院病种成本明细表
  1544. export const diseaseCostDetail: ProColumns[] = [
  1545. {
  1546. title: '病种编码',
  1547. dataIndex: 'itemCode',
  1548. width: 140,
  1549. fixed: 'left' as any,
  1550. },
  1551. {
  1552. title: '病种名称',
  1553. dataIndex: 'itemName',
  1554. width: 220,
  1555. fixed: 'left' as any,
  1556. },
  1557. {
  1558. title: '服务量',
  1559. dataIndex: 'serviceVolume',
  1560. align: 'right',
  1561. },
  1562. {
  1563. title: '每病种成本',
  1564. children: [
  1565. {
  1566. title: '医疗成本',
  1567. dataIndex: 'medicalCost',
  1568. align: 'right',
  1569. renderText(num: any, record: any) {
  1570. const { decimalPlace, permil } = record || {};
  1571. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1572. },
  1573. },
  1574. {
  1575. title: '医疗全成本',
  1576. dataIndex: 'medicalFullCost',
  1577. align: 'right',
  1578. renderText(num: any, record: any) {
  1579. const { decimalPlace, permil } = record || {};
  1580. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1581. },
  1582. },
  1583. {
  1584. title: '医院全成本',
  1585. dataIndex: 'hospitalFullCost',
  1586. align: 'right',
  1587. renderText(num: any, record: any) {
  1588. const { decimalPlace, permil } = record || {};
  1589. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1590. },
  1591. },
  1592. ] as any,
  1593. },
  1594. ];
  1595. // 医院DRG成本明细表
  1596. export const drgCostDetail: ProColumns[] = [
  1597. {
  1598. title: 'DRG编码',
  1599. dataIndex: 'itemCode',
  1600. width: 140,
  1601. fixed: 'left' as any,
  1602. },
  1603. {
  1604. title: 'DRG名称',
  1605. dataIndex: 'itemName',
  1606. width: 320,
  1607. fixed: 'left' as any,
  1608. },
  1609. {
  1610. title: '服务量',
  1611. dataIndex: 'serviceVolume',
  1612. align: 'right',
  1613. },
  1614. {
  1615. title: '每DRG成本',
  1616. children: [
  1617. {
  1618. title: '医疗成本',
  1619. dataIndex: 'medicalCost',
  1620. align: 'right',
  1621. renderText(num: any, record: any) {
  1622. const { decimalPlace, permil } = record || {};
  1623. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1624. },
  1625. },
  1626. {
  1627. title: '医疗全成本',
  1628. dataIndex: 'medicalFullCost',
  1629. align: 'right',
  1630. renderText(num: any, record: any) {
  1631. const { decimalPlace, permil } = record || {};
  1632. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1633. },
  1634. },
  1635. {
  1636. title: '医院全成本',
  1637. dataIndex: 'hospitalFullCost',
  1638. align: 'right',
  1639. renderText(num: any, record: any) {
  1640. const { decimalPlace, permil } = record || {};
  1641. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1642. },
  1643. },
  1644. ] as any,
  1645. },
  1646. ];
  1647. // 医院DRG成本构成明细表
  1648. export const drgCostCompositionDetail: ProColumns[] = [
  1649. {
  1650. title: 'DRG编码',
  1651. dataIndex: 'itemCode',
  1652. width: 140,
  1653. fixed: 'left' as any,
  1654. },
  1655. {
  1656. title: 'DRG名称',
  1657. dataIndex: 'itemName',
  1658. width: 320,
  1659. fixed: 'left' as any,
  1660. },
  1661. {
  1662. title: '病种成本',
  1663. dataIndex: 'totalCost',
  1664. align: 'right',
  1665. renderText(num: any, record: any) {
  1666. const { decimalPlace, permil } = record || {};
  1667. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1668. },
  1669. },
  1670. {
  1671. title: '人员经费',
  1672. children: [
  1673. {
  1674. title: '金额',
  1675. dataIndex: 'personnelExpense',
  1676. align: 'right',
  1677. renderText(num: any, record: any) {
  1678. const { decimalPlace, permil } = record || {};
  1679. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1680. },
  1681. },
  1682. {
  1683. title: '占比',
  1684. dataIndex: 'personnelExpenseRatio',
  1685. align: 'right',
  1686. renderText: (n: any) => formatToPercentage(n),
  1687. },
  1688. ] as any,
  1689. },
  1690. {
  1691. title: '卫生材料费',
  1692. children: [
  1693. {
  1694. title: '金额',
  1695. dataIndex: 'medicalMaterialExpense',
  1696. align: 'right',
  1697. renderText(num: any, record: any) {
  1698. const { decimalPlace, permil } = record || {};
  1699. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1700. },
  1701. },
  1702. {
  1703. title: '占比',
  1704. dataIndex: 'medicalMaterialExpenseRatio',
  1705. align: 'right',
  1706. renderText: (n: any) => formatToPercentage(n),
  1707. },
  1708. ] as any,
  1709. },
  1710. {
  1711. title: '药品费',
  1712. children: [
  1713. {
  1714. title: '金额',
  1715. dataIndex: 'drugExpense',
  1716. align: 'right',
  1717. renderText(num: any, record: any) {
  1718. const { decimalPlace, permil } = record || {};
  1719. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1720. },
  1721. },
  1722. {
  1723. title: '占比',
  1724. dataIndex: 'drugExpenseRatio',
  1725. align: 'right',
  1726. renderText: (n: any) => formatToPercentage(n),
  1727. },
  1728. ] as any,
  1729. },
  1730. {
  1731. title: '固定资产折旧费',
  1732. children: [
  1733. {
  1734. title: '金额',
  1735. dataIndex: 'fixedAssetDepreciation',
  1736. align: 'right',
  1737. renderText(num: any, record: any) {
  1738. const { decimalPlace, permil } = record || {};
  1739. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1740. },
  1741. },
  1742. {
  1743. title: '占比',
  1744. dataIndex: 'fixedAssetDepreciationRatio',
  1745. align: 'right',
  1746. renderText: (n: any) => formatToPercentage(n),
  1747. },
  1748. ] as any,
  1749. },
  1750. {
  1751. title: '无形资产摊销费',
  1752. children: [
  1753. {
  1754. title: '金额',
  1755. dataIndex: 'intangibleAssetAmortization',
  1756. align: 'right',
  1757. renderText(num: any, record: any) {
  1758. const { decimalPlace, permil } = record || {};
  1759. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1760. },
  1761. },
  1762. {
  1763. title: '占比',
  1764. dataIndex: 'intangibleAssetAmortizationRatio',
  1765. align: 'right',
  1766. renderText: (n: any) => formatToPercentage(n),
  1767. },
  1768. ] as any,
  1769. },
  1770. {
  1771. title: '提取医疗风险基金',
  1772. children: [
  1773. {
  1774. title: '金额',
  1775. dataIndex: 'medicalRiskFund',
  1776. align: 'right',
  1777. renderText(num: any, record: any) {
  1778. const { decimalPlace, permil } = record || {};
  1779. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1780. },
  1781. },
  1782. {
  1783. title: '占比',
  1784. dataIndex: 'medicalRiskFundRatio',
  1785. align: 'right',
  1786. renderText: (n: any) => formatToPercentage(n),
  1787. },
  1788. ] as any,
  1789. },
  1790. {
  1791. title: '其他医疗费用',
  1792. children: [
  1793. {
  1794. title: '金额',
  1795. dataIndex: 'otherMedicalExpenses',
  1796. align: 'right',
  1797. renderText(num: any, record: any) {
  1798. const { decimalPlace, permil } = record || {};
  1799. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1800. },
  1801. },
  1802. {
  1803. title: '占比',
  1804. dataIndex: 'otherMedicalExpensesRatio',
  1805. align: 'right',
  1806. renderText: (n: any) => formatToPercentage(n),
  1807. },
  1808. ] as any,
  1809. },
  1810. ];
  1811. // 医院科室床日成本表
  1812. export const hospitalDeptBedDayCost: ProColumns[] = [
  1813. {
  1814. title: '科室编码',
  1815. dataIndex: 'responsibilityCode',
  1816. width: 140,
  1817. fixed: 'left' as any,
  1818. },
  1819. {
  1820. title: '科室名称',
  1821. dataIndex: 'responsibilityName',
  1822. width: 180,
  1823. fixed: 'left' as any,
  1824. },
  1825. {
  1826. title: '服务量',
  1827. dataIndex: 'serviceCount',
  1828. align: 'right',
  1829. },
  1830. {
  1831. title: '每床日成本',
  1832. children: [
  1833. {
  1834. title: '医疗成本',
  1835. dataIndex: 'medicalCost',
  1836. align: 'right',
  1837. renderText(num: any, record: any) {
  1838. const { decimalPlace, permil } = record || {};
  1839. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1840. },
  1841. },
  1842. {
  1843. title: '医疗全成本',
  1844. dataIndex: 'medicalFullCost',
  1845. align: 'right',
  1846. renderText(num: any, record: any) {
  1847. const { decimalPlace, permil } = record || {};
  1848. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1849. },
  1850. },
  1851. {
  1852. title: '医院全成本',
  1853. dataIndex: 'hospitalFullCost',
  1854. align: 'right',
  1855. renderText(num: any, record: any) {
  1856. const { decimalPlace, permil } = record || {};
  1857. return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
  1858. },
  1859. },
  1860. ] as any,
  1861. },
  1862. ];
  1863. // 临床服务类科室全成本(医疗成本)
  1864. export const clinicalDeptMedicalCost: ProColumns[] = [
  1865. {
  1866. title: '科室名称',
  1867. dataIndex: 'responsibilityName',
  1868. width: 180,
  1869. fixed: 'left' as any,
  1870. },
  1871. {
  1872. title: '人员经费(1)',
  1873. children: [
  1874. { title: '直接成本', dataIndex: 'personnelDirectCost', align: 'right', renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1875. { title: '间接成本', dataIndex: 'personnelIndirectCost', align: 'right', renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1876. { title: '全成本', dataIndex: 'personnelTotalCost', align: 'right', renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1877. ] as any,
  1878. },
  1879. {
  1880. title: '卫生材料费(2)',
  1881. children: [
  1882. { title: '直接成本', dataIndex: 'healthMaterialDirectCost', align: 'right', renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1883. { title: '间接成本', dataIndex: 'healthMaterialIndirectCost', align: 'right', renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1884. { title: '全成本', dataIndex: 'healthMaterialTotalCost', align: 'right', renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1885. ] as any,
  1886. },
  1887. {
  1888. title: '药品费(3)',
  1889. children: [
  1890. { title: '直接成本', dataIndex: 'medicineDirectCost', align: 'right', renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1891. { title: '间接成本', dataIndex: 'medicineIndirectCost', align: 'right', renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1892. { title: '全成本', dataIndex: 'medicineTotalCost', align: 'right', renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1893. ] as any,
  1894. },
  1895. {
  1896. title: '固定资产折旧费(4)',
  1897. children: [
  1898. { title: '直接成本', dataIndex: 'fixedAssetDepreciationDirect', align: 'right', renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1899. { title: '间接成本', dataIndex: 'fixedAssetDepreciationIndirect', align: 'right', renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1900. { title: '全成本', dataIndex: 'fixedAssetDepreciationTotal', align: 'right', renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1901. ] as any,
  1902. },
  1903. {
  1904. title: '无形资产摊销费(5)',
  1905. children: [
  1906. { title: '直接成本', dataIndex: 'intangibleAssetAmortizationDirect', align: 'right', renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1907. { title: '间接成本', dataIndex: 'intangibleAssetAmortizationIndirect', align: 'right', renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1908. { title: '全成本', dataIndex: 'intangibleAssetAmortizationTotal', align: 'right', renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1909. ] as any,
  1910. },
  1911. {
  1912. title: '提取医疗风险基金(6)',
  1913. children: [
  1914. { title: '直接成本', dataIndex: 'medicalRiskReserveDirect', align: 'right', renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1915. { title: '间接成本', dataIndex: 'medicalRiskReserveIndirect', align: 'right', renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1916. { title: '全成本', dataIndex: 'medicalRiskReserveTotalCost', align: 'right', renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1917. ] as any,
  1918. },
  1919. {
  1920. title: '其他医疗费用(7)',
  1921. children: [
  1922. { title: '直接成本', dataIndex: 'otherMedicalExpensesDirect', align: 'right', renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1923. { title: '间接成本', dataIndex: 'otherMedicalExpensesIndirect', align: 'right', renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1924. { title: '全成本', dataIndex: 'otherMedicalExpensesTotalCost', align: 'right', renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1925. ] as any,
  1926. },
  1927. {
  1928. title: '合计(8)=(1)+(2)+(3)+(4)+(5)+(6)+(7)',
  1929. children: [
  1930. { title: '直接成本', dataIndex: 'totalDirectCost', align: 'right', width: 130, fixed: 'right' as any, renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1931. { title: '间接成本', dataIndex: 'totalIndirectCost', align: 'right', width: 130, fixed: 'right' as any, renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1932. { title: '全成本', dataIndex: 'totalCost', align: 'right', width: 150, fixed: 'right' as any, renderText: (n: string | number | null | undefined, r: { decimalPlace: number | undefined; }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1933. ] as any,
  1934. },
  1935. ];
  1936. // 临床服务类科室全成本(全成本)
  1937. export const clinicalDeptFullCost: ProColumns[] = [
  1938. {
  1939. title: '科室名称',
  1940. dataIndex: 'responsibilityName',
  1941. width: 180,
  1942. fixed: 'left' as any,
  1943. },
  1944. {
  1945. title: '医疗成本合计(1)',
  1946. children: [
  1947. { title: '直接成本', dataIndex: 'medicalCostTotalDirect', align: 'right', width: 130, renderText: (n: string | number | null | undefined, r: { decimalPlace?: number }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1948. { title: '间接成本', dataIndex: 'medicalCostTotalIndirect', align: 'right', width: 130, renderText: (n: string | number | null | undefined, r: { decimalPlace?: number }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1949. { title: '全成本', dataIndex: 'medicalCostTotal', align: 'right', width: 150, renderText: (n: string | number | null | undefined, r: { decimalPlace?: number }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1950. ] as any,
  1951. },
  1952. {
  1953. title: '财政项目拨款经费形成的各项费用(2)',
  1954. children: [
  1955. { title: '直接成本', dataIndex: 'financialProjectFundsDirect', align: 'right', width: 130, renderText: (n: string | number | null | undefined, r: { decimalPlace?: number }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1956. { title: '间接成本', dataIndex: 'financialProjectFundsIndirect', align: 'right', width: 130, renderText: (n: string | number | null | undefined, r: { decimalPlace?: number }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1957. { title: '全成本', dataIndex: 'financialProjectFunds', align: 'right', width: 150, renderText: (n: string | number | null | undefined, r: { decimalPlace?: number }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1958. ] as any,
  1959. },
  1960. {
  1961. title: '费统计财政拨款项目经费形成的各项费用(3)',
  1962. children: [
  1963. { title: '直接成本', dataIndex: 'nonPeerFinancialFundsDirect', align: 'right', width: 130, renderText: (n: string | number | null | undefined, r: { decimalPlace?: number }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1964. { title: '间接成本', dataIndex: 'nonPeerFinancialFundsIndirect', align: 'right', width: 130, renderText: (n: string | number | null | undefined, r: { decimalPlace?: number }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1965. { title: '全成本', dataIndex: 'nonPeerFinancialFunds', align: 'right', width: 150, renderText: (n: string | number | null | undefined, r: { decimalPlace?: number }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1966. ] as any,
  1967. },
  1968. {
  1969. title: '医疗全成本合计(4)=(1)+(2)+(3)',
  1970. children: [
  1971. { title: '直接成本', dataIndex: 'medicalTotalCostDirect', align: 'right', width: 130, renderText: (n: string | number | null | undefined, r: { decimalPlace?: number }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1972. { title: '间接成本', dataIndex: 'medicalTotalCostIndirect', align: 'right', width: 130, renderText: (n: string | number | null | undefined, r: { decimalPlace?: number }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1973. { title: '全成本', dataIndex: 'medicalTotalCost', align: 'right', width: 150, renderText: (n: string | number | null | undefined, r: { decimalPlace?: number }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1974. ] as any,
  1975. },
  1976. {
  1977. title: '科教经费形成的各项费用(5)',
  1978. children: [
  1979. { title: '直接成本', dataIndex: 'educationalExpensesDirect', align: 'right', width: 130, renderText: (n: string | number | null | undefined, r: { decimalPlace?: number }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1980. { title: '间接成本', dataIndex: 'educationalExpensesIndirect', align: 'right', width: 130, renderText: (n: string | number | null | undefined, r: { decimalPlace?: number }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1981. { title: '全成本', dataIndex: 'educationalExpenses', align: 'right', width: 150, renderText: (n: string | number | null | undefined, r: { decimalPlace?: number }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1982. ] as any,
  1983. },
  1984. {
  1985. title: '资产处置费、上缴上级费用、对附属单位补助费用、其他费用等(6)',
  1986. children: [
  1987. { title: '直接成本', dataIndex: 'assetDisposalFeesDirect', align: 'right', width: 130, renderText: (n: string | number | null | undefined, r: { decimalPlace?: number }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1988. { title: '间接成本', dataIndex: 'assetDisposalFeesIndirect', align: 'right', width: 130, renderText: (n: string | number | null | undefined, r: { decimalPlace?: number }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1989. { title: '全成本', dataIndex: 'assetDisposalFees', align: 'right', width: 150, renderText: (n: string | number | null | undefined, r: { decimalPlace?: number }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1990. ] as any,
  1991. },
  1992. {
  1993. title: '医院全成本(7)=(4)+(5)+(6)',
  1994. children: [
  1995. { title: '直接成本', dataIndex: 'hospitalTotalCostDirect', align: 'right', width: 130, fixed: 'right' as any, renderText: (n: string | number | null | undefined, r: { decimalPlace?: number }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1996. { title: '间接成本', dataIndex: 'hospitalTotalCostIndirect', align: 'right', width: 130, fixed: 'right' as any, renderText: (n: string | number | null | undefined, r: { decimalPlace?: number }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1997. { title: '全成本', dataIndex: 'hospitalTotalCost', align: 'right', width: 160, fixed: 'right' as any, renderText: (n: string | number | null | undefined, r: { decimalPlace?: number }) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
  1998. ] as any,
  1999. },
  2000. ];
  2001. export const departmentOperatingReport: ProColumns[] = [
  2002. {
  2003. title: '年份',
  2004. width: 100,
  2005. dataIndex: 'dateYear',
  2006. },
  2007. {
  2008. title: '月份',
  2009. width: 100,
  2010. dataIndex: 'dateMonth',
  2011. },
  2012. {
  2013. title: '报表类型',
  2014. width: 100,
  2015. dataIndex: 'fileType',
  2016. },
  2017. {
  2018. title: '报表名称',
  2019. dataIndex: 'fileName',
  2020. },
  2021. {
  2022. title: '更新时间',
  2023. width: 180,
  2024. dataIndex: 'updateTime',
  2025. },
  2026. ];
  2027. export const wholeHospOperatingReport: ProColumns[] = [
  2028. {
  2029. title: '年份',
  2030. width: 100,
  2031. dataIndex: 'dateYear',
  2032. },
  2033. {
  2034. title: '月份',
  2035. width: 100,
  2036. dataIndex: 'dateMonth',
  2037. },
  2038. {
  2039. title: '报表类型',
  2040. width: 120,
  2041. dataIndex: 'fileType',
  2042. },
  2043. {
  2044. title: '报表名称',
  2045. dataIndex: 'fileName',
  2046. }
  2047. ];
  2048. export const projectShareParamsCalc: ProColumns[] = [];
  2049. // export const projectCostCalc: ProColumns[] = [
  2050. // {
  2051. // title: '责任中心编码',
  2052. // dataIndex: 'responsibilityCode',
  2053. // width:tableColumnsWidObj.responsibilityCenterCode
  2054. // },
  2055. // {
  2056. // title: '责任中心名称',
  2057. // dataIndex: 'responsibilityName',
  2058. // width:tableColumnsWidObj.responsibilityCenter
  2059. // },
  2060. // {
  2061. // title: '收费项目编码',
  2062. // dataIndex: 'code',
  2063. // },
  2064. // {
  2065. // title: '收费项目名称',
  2066. // dataIndex: 'name',
  2067. // },
  2068. // {
  2069. // title: '项目分类',
  2070. // dataIndex: 'itemTypeName',
  2071. // },
  2072. // {
  2073. // title: '项目成本',
  2074. // dataIndex: 'itemCost',
  2075. // },
  2076. // {
  2077. // title: '人事成本',
  2078. // dataIndex: 'empCost',
  2079. // },
  2080. // {
  2081. // title: '设备成本',
  2082. // dataIndex: 'equipmentCost',
  2083. // },
  2084. // {
  2085. // title: '空间成本',
  2086. // dataIndex: 'spaceCost',
  2087. // },
  2088. // {
  2089. // title: '公共费用分摊',
  2090. // dataIndex: 'publicShareCost',
  2091. // },
  2092. // {
  2093. // title: '管理费用分摊',
  2094. // dataIndex: 'managerShareCost',
  2095. // }
  2096. // ];