|
@@ -989,6 +989,1067 @@ export const costShareReportTable: ProColumns[] = [
|
|
|
},
|
|
|
];
|
|
|
|
|
|
+// 医院科室直接成本表(医疗成本)
|
|
|
+export const deptDirectMedicalCost: ProColumns[] = [
|
|
|
+ {
|
|
|
+ title: '科室名称',
|
|
|
+ dataIndex: 'responsibilityName',
|
|
|
+ width: 180,
|
|
|
+ fixed: 'left' as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '人员经费(1)',
|
|
|
+ dataIndex: 'personnelExpense',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num, record) {
|
|
|
+ const { decimalPlace } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '卫生材料费(2)',
|
|
|
+ dataIndex: 'healthMaterialFee',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num, record) {
|
|
|
+ const { decimalPlace } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '药品费(3)',
|
|
|
+ dataIndex: 'drugFee',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num, record) {
|
|
|
+ const { decimalPlace } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '固定资产折旧费(4)',
|
|
|
+ dataIndex: 'fixedAssetDepreciation',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num, record) {
|
|
|
+ const { decimalPlace } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '无形资产摊销费(5)',
|
|
|
+ dataIndex: 'intangibleAssetAmortization',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num, record) {
|
|
|
+ const { decimalPlace } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '提取医疗风险基金(6)',
|
|
|
+ dataIndex: 'medicalRiskFundExtraction',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num, record) {
|
|
|
+ const { decimalPlace } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '其他医疗费用(7)',
|
|
|
+ dataIndex: 'otherMedicalExpenses',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num, record) {
|
|
|
+ const { decimalPlace } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '合计(8)=(1)+(2)+(3)+(4)+(5)+(6)+(7)',
|
|
|
+ dataIndex: 'total',
|
|
|
+ width: 220,
|
|
|
+ fixed: 'right' as any,
|
|
|
+ align: 'right',
|
|
|
+ renderText(num, record) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+];
|
|
|
+
|
|
|
+// 医院科室直接成本表(全成本)
|
|
|
+export const deptFullDirectCost: ProColumns[] = [
|
|
|
+ {
|
|
|
+ title: '科室名称',
|
|
|
+ dataIndex: 'responsibilityName',
|
|
|
+ width: 180,
|
|
|
+ fixed: 'left' as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医疗成本合计(1)',
|
|
|
+ dataIndex: 'medicalCostTotal',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num, record) {
|
|
|
+ const { decimalPlace } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '财政项目拨款经费形成的各项费用(2)',
|
|
|
+ dataIndex: 'financialProjectFunds',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num, record) {
|
|
|
+ const { decimalPlace } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '非同级财政拨款项目经费形成的各项费用(3)',
|
|
|
+ dataIndex: 'nonPeerFinancialFunds',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num, record) {
|
|
|
+ const { decimalPlace } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医疗全成本合计(4)=(1)+(2)+(3)',
|
|
|
+ dataIndex: 'medicalTotalCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num, record) {
|
|
|
+ const { decimalPlace } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '科教经费形成的各项费用(5)',
|
|
|
+ dataIndex: 'educationalExpenses',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num, record) {
|
|
|
+ const { decimalPlace } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '资产处置费用、上缴上级费用、对附属单位补助费用、其他费用等(6)',
|
|
|
+ dataIndex: 'assetDisposalFees',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num, record) {
|
|
|
+ const { decimalPlace } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医院全成本(7)=(4)+(5)+(6)',
|
|
|
+ dataIndex: 'hospitalTotalCost',
|
|
|
+ width: 240,
|
|
|
+ fixed: 'right' as any,
|
|
|
+ align: 'right',
|
|
|
+ renderText(num, record) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+];
|
|
|
+
|
|
|
+// 医院科室成本分摊汇总表
|
|
|
+export const deptCostAllocationSummary: ProColumns[] = [
|
|
|
+ {
|
|
|
+ title: '科室名称',
|
|
|
+ dataIndex: 'responsibilityName',
|
|
|
+ width: 180,
|
|
|
+ fixed: 'left' as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医疗成本(1)=(2)+(3)',
|
|
|
+ dataIndex: 'medicalCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num, record) {
|
|
|
+ const { decimalPlace } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '直接成本(2)',
|
|
|
+ dataIndex: 'directCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num, record) {
|
|
|
+ const { decimalPlace } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '间接成本',
|
|
|
+ children: [
|
|
|
+ { 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 }) },
|
|
|
+ { title: '行政后勤分摊(4)', dataIndex: 'allocatedAdminCost', align: 'right', renderText: (n: any, r: any) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
|
|
|
+ { title: '医疗辅助分摊(5)', dataIndex: 'allocatedSupportCost', align: 'right', renderText: (n: any, r: any) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
|
|
|
+ { title: '医疗技术分摊(6)', dataIndex: 'allocatedTechCost', align: 'right', renderText: (n: any, r: any) => formatMoneyNumber(n, { decimalPlaces: (typeof r?.decimalPlace === 'number') ? r.decimalPlace : 2, useThousandSeparator: true }) },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+];
|
|
|
+
|
|
|
+// 医院诊次成本构成表
|
|
|
+export const hospitalVisitCostComposition: ProColumns[] = [
|
|
|
+ {
|
|
|
+ title: '成本项目',
|
|
|
+ dataIndex: 'costItem',
|
|
|
+ width: 220,
|
|
|
+ fixed: 'left' as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '每诊次成本',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ title: '医疗成本',
|
|
|
+ dataIndex: 'medicalCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医疗全成本',
|
|
|
+ dataIndex: 'medicalFullCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医院全成本',
|
|
|
+ dataIndex: 'hospitalFullCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+];
|
|
|
+
|
|
|
+// 医院科室诊次成本表
|
|
|
+export const hospitalDeptVisitCost: ProColumns[] = [
|
|
|
+ {
|
|
|
+ title: '科室编码',
|
|
|
+ dataIndex: 'responsibilityCode',
|
|
|
+ width: 140,
|
|
|
+ fixed: 'left' as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '科室名称',
|
|
|
+ dataIndex: 'responsibilityName',
|
|
|
+ width: 180,
|
|
|
+ fixed: 'left' as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '每诊次成本',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ title: '服务量',
|
|
|
+ dataIndex: 'serviceCount',
|
|
|
+ align: 'right',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医疗成本',
|
|
|
+ dataIndex: 'medicalCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医疗全成本',
|
|
|
+ dataIndex: 'medicalFullCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医院全成本',
|
|
|
+ dataIndex: 'hospitalFullCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+];
|
|
|
+
|
|
|
+// 医院床日成本构成表
|
|
|
+export const hospitalBedDayCostComposition: ProColumns[] = [
|
|
|
+ {
|
|
|
+ title: '成本项目',
|
|
|
+ dataIndex: 'costItem',
|
|
|
+ width: 220,
|
|
|
+ fixed: 'left' as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '每床日成本',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ title: '医疗成本',
|
|
|
+ dataIndex: 'medicalCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医疗全成本',
|
|
|
+ dataIndex: 'medicalFullCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医院全成本',
|
|
|
+ dataIndex: 'hospitalFullCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+];
|
|
|
+
|
|
|
+// 医院医疗服务项目成本汇总表
|
|
|
+export const hospitalServiceProjectCost: ProColumns[] = [
|
|
|
+ {
|
|
|
+ title: '成本项目',
|
|
|
+ dataIndex: 'itemName',
|
|
|
+ width: 260,
|
|
|
+ fixed: 'left' as any,
|
|
|
+ renderText: (_: any, record: any) => {
|
|
|
+ const { itemCode, itemName } = record || {};
|
|
|
+ return itemCode ? `[${itemCode}]${itemName || ''}` : (itemName || '');
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医疗成本',
|
|
|
+ dataIndex: 'medicalCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医疗全成本',
|
|
|
+ dataIndex: 'medicalFullCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医院全成本',
|
|
|
+ dataIndex: 'hospitalFullCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+];
|
|
|
+
|
|
|
+// 医院医疗服务项目成本明细表
|
|
|
+export const medicalServiceCostDetail: ProColumns[] = [
|
|
|
+ {
|
|
|
+ title: '项目编码',
|
|
|
+ dataIndex: 'itemCode',
|
|
|
+ width: 140,
|
|
|
+ fixed: 'left' as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '项目名称',
|
|
|
+ dataIndex: 'itemName',
|
|
|
+ width: 220,
|
|
|
+ fixed: 'left' as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '服务量',
|
|
|
+ dataIndex: 'serviceVolume',
|
|
|
+ align: 'right',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '每项目成本',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ title: '医疗成本',
|
|
|
+ dataIndex: 'medicalCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医疗全成本',
|
|
|
+ dataIndex: 'medicalFullCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医院全成本',
|
|
|
+ dataIndex: 'hospitalFullCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+];
|
|
|
+
|
|
|
+// 医院病种成本构成明细表
|
|
|
+export const diseaseCostCompositionDetail: ProColumns[] = [
|
|
|
+ {
|
|
|
+ title: '病种编码',
|
|
|
+ dataIndex: 'itemCode',
|
|
|
+ width: 140,
|
|
|
+ fixed: 'left' as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '病种名称',
|
|
|
+ dataIndex: 'itemName',
|
|
|
+ width: 220,
|
|
|
+ fixed: 'left' as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '病种成本',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ title: '金额',
|
|
|
+ dataIndex: 'totalCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '人员经费',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ title: '金额',
|
|
|
+ dataIndex: 'personnelExpense',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '占比',
|
|
|
+ dataIndex: 'personnelExpenseRatio',
|
|
|
+ align: 'right',
|
|
|
+ renderText: (n: any) => formatToPercentage(n),
|
|
|
+ },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '卫生材料费',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ title: '金额',
|
|
|
+ dataIndex: 'medicalMaterialExpense',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '占比',
|
|
|
+ dataIndex: 'medicalMaterialExpenseRatio',
|
|
|
+ align: 'right',
|
|
|
+ renderText: (n: any) => formatToPercentage(n),
|
|
|
+ },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '药品费',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ title: '金额',
|
|
|
+ dataIndex: 'drugExpense',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '占比',
|
|
|
+ dataIndex: 'drugExpenseRatio',
|
|
|
+ align: 'right',
|
|
|
+ renderText: (n: any) => formatToPercentage(n),
|
|
|
+ },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '固定资产折旧费',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ title: '金额',
|
|
|
+ dataIndex: 'fixedAssetDepreciation',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '占比',
|
|
|
+ dataIndex: 'fixedAssetDepreciationRatio',
|
|
|
+ align: 'right',
|
|
|
+ renderText: (n: any) => formatToPercentage(n),
|
|
|
+ },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '无形资产摊销费',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ title: '金额',
|
|
|
+ dataIndex: 'intangibleAssetAmortization',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '占比',
|
|
|
+ dataIndex: 'intangibleAssetAmortizationRatio',
|
|
|
+ align: 'right',
|
|
|
+ renderText: (n: any) => formatToPercentage(n),
|
|
|
+ },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '提取医疗风险基金',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ title: '金额',
|
|
|
+ dataIndex: 'medicalRiskFund',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '占比',
|
|
|
+ dataIndex: 'medicalRiskFundRatio',
|
|
|
+ align: 'right',
|
|
|
+ renderText: (n: any) => formatToPercentage(n),
|
|
|
+ },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '其他医疗费用',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ title: '金额',
|
|
|
+ dataIndex: 'otherMedicalExpenses',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '占比',
|
|
|
+ dataIndex: 'otherMedicalExpensesRatio',
|
|
|
+ align: 'right',
|
|
|
+ renderText: (n: any) => formatToPercentage(n),
|
|
|
+ },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+];
|
|
|
+
|
|
|
+// 医院病种成本明细表
|
|
|
+export const diseaseCostDetail: ProColumns[] = [
|
|
|
+ {
|
|
|
+ title: '病种编码',
|
|
|
+ dataIndex: 'itemCode',
|
|
|
+ width: 140,
|
|
|
+ fixed: 'left' as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '病种名称',
|
|
|
+ dataIndex: 'itemName',
|
|
|
+ width: 220,
|
|
|
+ fixed: 'left' as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '服务量',
|
|
|
+ dataIndex: 'serviceVolume',
|
|
|
+ align: 'right',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '每病种成本',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ title: '医疗成本',
|
|
|
+ dataIndex: 'medicalCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医疗全成本',
|
|
|
+ dataIndex: 'medicalFullCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医院全成本',
|
|
|
+ dataIndex: 'hospitalFullCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+];
|
|
|
+
|
|
|
+// 医院DRG成本明细表
|
|
|
+export const drgCostDetail: ProColumns[] = [
|
|
|
+ {
|
|
|
+ title: 'DRG编码',
|
|
|
+ dataIndex: 'itemCode',
|
|
|
+ width: 140,
|
|
|
+ fixed: 'left' as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: 'DRG名称',
|
|
|
+ dataIndex: 'itemName',
|
|
|
+ width: 320,
|
|
|
+ fixed: 'left' as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '服务量',
|
|
|
+ dataIndex: 'serviceVolume',
|
|
|
+ align: 'right',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '每DRG成本',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ title: '医疗成本',
|
|
|
+ dataIndex: 'medicalCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医疗全成本',
|
|
|
+ dataIndex: 'medicalFullCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医院全成本',
|
|
|
+ dataIndex: 'hospitalFullCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+];
|
|
|
+
|
|
|
+// 医院DRG成本构成明细表
|
|
|
+export const drgCostCompositionDetail: ProColumns[] = [
|
|
|
+ {
|
|
|
+ title: 'DRG编码',
|
|
|
+ dataIndex: 'itemCode',
|
|
|
+ width: 140,
|
|
|
+ fixed: 'left' as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: 'DRG名称',
|
|
|
+ dataIndex: 'itemName',
|
|
|
+ width: 320,
|
|
|
+ fixed: 'left' as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '病种成本',
|
|
|
+ dataIndex: 'totalCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '人员经费',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ title: '金额',
|
|
|
+ dataIndex: 'personnelExpense',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '占比',
|
|
|
+ dataIndex: 'personnelExpenseRatio',
|
|
|
+ align: 'right',
|
|
|
+ renderText: (n: any) => formatToPercentage(n),
|
|
|
+ },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '卫生材料费',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ title: '金额',
|
|
|
+ dataIndex: 'medicalMaterialExpense',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '占比',
|
|
|
+ dataIndex: 'medicalMaterialExpenseRatio',
|
|
|
+ align: 'right',
|
|
|
+ renderText: (n: any) => formatToPercentage(n),
|
|
|
+ },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '药品费',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ title: '金额',
|
|
|
+ dataIndex: 'drugExpense',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '占比',
|
|
|
+ dataIndex: 'drugExpenseRatio',
|
|
|
+ align: 'right',
|
|
|
+ renderText: (n: any) => formatToPercentage(n),
|
|
|
+ },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '固定资产折旧费',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ title: '金额',
|
|
|
+ dataIndex: 'fixedAssetDepreciation',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '占比',
|
|
|
+ dataIndex: 'fixedAssetDepreciationRatio',
|
|
|
+ align: 'right',
|
|
|
+ renderText: (n: any) => formatToPercentage(n),
|
|
|
+ },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '无形资产摊销费',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ title: '金额',
|
|
|
+ dataIndex: 'intangibleAssetAmortization',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '占比',
|
|
|
+ dataIndex: 'intangibleAssetAmortizationRatio',
|
|
|
+ align: 'right',
|
|
|
+ renderText: (n: any) => formatToPercentage(n),
|
|
|
+ },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '提取医疗风险基金',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ title: '金额',
|
|
|
+ dataIndex: 'medicalRiskFund',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '占比',
|
|
|
+ dataIndex: 'medicalRiskFundRatio',
|
|
|
+ align: 'right',
|
|
|
+ renderText: (n: any) => formatToPercentage(n),
|
|
|
+ },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '其他医疗费用',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ title: '金额',
|
|
|
+ dataIndex: 'otherMedicalExpenses',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '占比',
|
|
|
+ dataIndex: 'otherMedicalExpensesRatio',
|
|
|
+ align: 'right',
|
|
|
+ renderText: (n: any) => formatToPercentage(n),
|
|
|
+ },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+];
|
|
|
+
|
|
|
+// 医院科室床日成本表
|
|
|
+export const hospitalDeptBedDayCost: ProColumns[] = [
|
|
|
+ {
|
|
|
+ title: '科室编码',
|
|
|
+ dataIndex: 'responsibilityCode',
|
|
|
+ width: 140,
|
|
|
+ fixed: 'left' as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '科室名称',
|
|
|
+ dataIndex: 'responsibilityName',
|
|
|
+ width: 180,
|
|
|
+ fixed: 'left' as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '服务量',
|
|
|
+ dataIndex: 'serviceCount',
|
|
|
+ align: 'right',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '每床日成本',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ title: '医疗成本',
|
|
|
+ dataIndex: 'medicalCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医疗全成本',
|
|
|
+ dataIndex: 'medicalFullCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医院全成本',
|
|
|
+ dataIndex: 'hospitalFullCost',
|
|
|
+ align: 'right',
|
|
|
+ renderText(num: any, record: any) {
|
|
|
+ const { decimalPlace, permil } = record || {};
|
|
|
+ return formatMoneyNumber(num, { decimalPlaces: (typeof decimalPlace === 'number') ? decimalPlace : 2, useThousandSeparator: permil === 1 || permil === true || true });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+];
|
|
|
+
|
|
|
+// 临床服务类科室全成本(医疗成本)
|
|
|
+export const clinicalDeptMedicalCost: ProColumns[] = [
|
|
|
+ {
|
|
|
+ title: '科室名称',
|
|
|
+ dataIndex: 'responsibilityName',
|
|
|
+ width: 180,
|
|
|
+ fixed: 'left' as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '人员经费(1)',
|
|
|
+ children: [
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '卫生材料费(2)',
|
|
|
+ children: [
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '药品费(3)',
|
|
|
+ children: [
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '固定资产折旧费(4)',
|
|
|
+ children: [
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '无形资产摊销费(5)',
|
|
|
+ children: [
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '提取医疗风险基金(6)',
|
|
|
+ children: [
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '其他医疗费用(7)',
|
|
|
+ children: [
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '合计(8)=(1)+(2)+(3)+(4)+(5)+(6)+(7)',
|
|
|
+ children: [
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+];
|
|
|
+
|
|
|
+// 临床服务类科室全成本(全成本)
|
|
|
+export const clinicalDeptFullCost: ProColumns[] = [
|
|
|
+ {
|
|
|
+ title: '科室名称',
|
|
|
+ dataIndex: 'responsibilityName',
|
|
|
+ width: 180,
|
|
|
+ fixed: 'left' as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医疗成本合计(1)',
|
|
|
+ children: [
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '财政项目拨款经费形成的各项费用(2)',
|
|
|
+ children: [
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '费统计财政拨款项目经费形成的各项费用(3)',
|
|
|
+ children: [
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医疗全成本合计(4)=(1)+(2)+(3)',
|
|
|
+ children: [
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '科教经费形成的各项费用(5)',
|
|
|
+ children: [
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '资产处置费、上缴上级费用、对附属单位补助费用、其他费用等(6)',
|
|
|
+ children: [
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '医院全成本(7)=(4)+(5)+(6)',
|
|
|
+ children: [
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ { 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 }) },
|
|
|
+ ] as any,
|
|
|
+ },
|
|
|
+];
|
|
|
+
|
|
|
export const departmentOperatingReport: ProColumns[] = [
|
|
|
{
|
|
|
title: '年份',
|