<template>
    <div class="container">
        <div class="main-content">
            <!-- 左侧卡片 -->
            <LeftCard @gotoTop="goHistoryPrescription" :patientInfo="patientInfo"
                @nutritionProductsChange="handleNutritionProductsChange" />
            <!-- 右侧卡片 -->
            <RightCard :nutritionProducts="currentNutritionProducts" />
        </div>
    </div>
</template>

<script setup lang="ts">
import { ref } from 'vue';
import LeftCard from './components/LeftCard.vue';
import RightCard from './components/RightCard.vue';

const { patientInfo } = defineProps<{ patientInfo: any }>();
// 解决bug核心
const emit = defineEmits(['change']);

// 当前营养产品列表
const currentNutritionProducts = ref<Array<{
    id?: string | number,
    name: string,
    productCode: string,
    type: string,
    protein?: number,
    fat?: number,
    carbohydrate?: number,
    calorie?: number,
    dosePerTime?: number,
    quantity?: number,
    // 微量元素信息
    ca?: number,  // 钙
    p?: number,   // 磷
    k?: number,   // 钾
    na?: number,  // 钠
    mg?: number,  // 镁
    cl?: number,  // 氯
    fe?: number,  // 铁
    zn?: number,  // 锌
    se?: number,  // 硒
    cu?: number,  // 铜
    mn?: number,  // 锰
    i?: number,   // 碘
    f?: number,   // 氟
    cr?: number,  // 铬
    mo?: number,  // 钼
    // 氨基酸信息
    isoleucine?: number,          // 异亮氨酸
    tryptophan?: number,          // 色氨酸
    sulfurAminoAcid?: string | number,     // 含硫氨基酸
    histidine?: string | number,           // 组氨酸
    aromaticAminoAcid?: string | number,   // 芳香族氨基酸
    glutamicAcid?: string | number,        // 谷氨酸
    threonine?: number,           // 苏氨酸
    serine?: number,              // 丝氨酸
    arginine?: number,            // 精氨酸
    lysine?: number,              // 赖氨酸
    asparticAcid?: string | number,        // 天冬氨酸
    cysteine?: number,            // 胱氨酸
    proline?: number,             // 脯氨酸
    tyrosine?: number,            // 酪氨酸
    leucine?: number,             // 亮氨酸
    valine?: number,              // 缬氨酸
    methionine?: number,          // 蛋氨酸
    alanine?: number,             // 丙氨酸
    phenylalanine?: number,       // 苯丙氨酸
    glycine?: number,             // 甘氨酸
    // 脂肪酸信息
    fattyAcid?: string | number,           // 脂肪酸
    saturatedFattyAcid?: string | number,  // 饱和脂肪酸
    monounsaturatedFattyAcid?: string | number,  // 单不饱和脂肪酸
    polyunsaturatedFattyAcid?: string | number,  // 多不饱和脂肪酸
    // 维生素信息
    vitaminA?: number,            // 维生素A
    vitaminACarotene?: number,    // 维生素A(胡萝卜素)
    vitaminAAlcohol?: number,     // 维生素A醇
    vitaminD?: number,            // 维生素D
    vitaminE?: number,            // 维生素E
    vitaminETocopherol?: number,  // 维生素E（生育酚）
    vitaminK?: number,            // 维生素K
    vitaminBOne?: number,         // 维生素B1
    vitaminBTwo?: number,         // 维生素B2
    vitaminBSix?: number,         // 维生素B6
    vitaminBTwelve?: number,      // 维生素B12
    niacin?: number,              // 烟酸（尼克酸）
    vitaminC?: number,            // 维生素C
    folicAcid?: string | number,  // 叶酸
    choline?: number,             // 胆碱
    biotin?: number,              // 生物素
    pantothenicAcid?: string | number,     // 泛酸
    // 其他营养信息
    cholesterol?: number,         // 胆固醇
    bloodGlucoseIndex?: number,   // 血糖生成指数
    insolubleDietaryFiber?: number,        // 不可溶性膳食纤维
    dietaryFiber?: number,        // 膳食纤维
    ash?: number,                 // 灰分
    solubleDietaryFiber?: number, // 可溶性膳食纤维
    osmoticPressure?: number,     // 渗透压
    moisture?: number             // 水分
}>>([]);

const goHistoryPrescription = () => {
    emit('change', 'enteralNutritionHistory');
};

// 处理营养产品变化
const handleNutritionProductsChange = (products: Array<{
    id?: string | number,
    name: string,
    productCode: string,
    type: string,
    protein?: number,
    fat?: number,
    carbohydrate?: number,
    calorie?: number,
    dosePerTime?: number,
    quantity?: number,
    // 微量元素信息
    ca?: number,  // 钙
    p?: number,   // 磷
    k?: number,   // 钾
    na?: number,  // 钠
    mg?: number,  // 镁
    cl?: number,  // 氯
    fe?: number,  // 铁
    zn?: number,  // 锌
    se?: number,  // 硒
    cu?: number,  // 铜
    mn?: number,  // 锰
    i?: number,   // 碘
    f?: number,   // 氟
    cr?: number,  // 铬
    mo?: number,  // 钼
    // 氨基酸信息
    isoleucine?: number,          // 异亮氨酸
    tryptophan?: number,          // 色氨酸
    sulfurAminoAcid?: string | number,     // 含硫氨基酸
    histidine?: string | number,           // 组氨酸
    aromaticAminoAcid?: string | number,   // 芳香族氨基酸
    glutamicAcid?: string | number,        // 谷氨酸
    threonine?: number,           // 苏氨酸
    serine?: number,              // 丝氨酸
    arginine?: number,            // 精氨酸
    lysine?: number,              // 赖氨酸
    asparticAcid?: string | number,        // 天冬氨酸
    cysteine?: number,            // 胱氨酸
    proline?: number,             // 脯氨酸
    tyrosine?: number,            // 酪氨酸
    leucine?: number,             // 亮氨酸
    valine?: number,              // 缬氨酸
    methionine?: number,          // 蛋氨酸
    alanine?: number,             // 丙氨酸
    phenylalanine?: number,       // 苯丙氨酸
    glycine?: number,             // 甘氨酸
    // 脂肪酸信息
    fattyAcid?: string | number,           // 脂肪酸
    saturatedFattyAcid?: string | number,  // 饱和脂肪酸
    monounsaturatedFattyAcid?: string | number,  // 单不饱和脂肪酸
    polyunsaturatedFattyAcid?: string | number,  // 多不饱和脂肪酸
    // 维生素信息
    vitaminA?: number,            // 维生素A
    vitaminACarotene?: number,    // 维生素A(胡萝卜素)
    vitaminAAlcohol?: number,     // 维生素A醇
    vitaminD?: number,            // 维生素D
    vitaminE?: number,            // 维生素E
    vitaminETocopherol?: number,  // 维生素E（生育酚）
    vitaminK?: number,            // 维生素K
    vitaminBOne?: number,         // 维生素B1
    vitaminBTwo?: number,         // 维生素B2
    vitaminBSix?: number,         // 维生素B6
    vitaminBTwelve?: number,      // 维生素B12
    niacin?: number,              // 烟酸（尼克酸）
    vitaminC?: number,            // 维生素C
    folicAcid?: string | number,  // 叶酸
    choline?: number,             // 胆碱
    biotin?: number,              // 生物素
    pantothenicAcid?: string | number,     // 泛酸
    // 其他营养信息
    cholesterol?: number,         // 胆固醇
    bloodGlucoseIndex?: number,   // 血糖生成指数
    insolubleDietaryFiber?: number,        // 不可溶性膳食纤维
    dietaryFiber?: number,        // 膳食纤维
    ash?: number,                 // 灰分
    solubleDietaryFiber?: number, // 可溶性膳食纤维
    osmoticPressure?: number,     // 渗透压
    moisture?: number             // 水分
}>) => {
    currentNutritionProducts.value = products;
    console.log('父组件接收到营养产品变化:', products);
};
</script>

<style lang="scss" scoped>
.container {
    min-height: 100vh;
    background: #f5f7fa;
}

.main-content {
    display: flex;
    gap: 20px;
    min-height: calc(100vh - 40px);
}
</style>
