chenyc
2025-06-03 1963f1d3a5a3e1cbf867f3ebcbd839d70cab7b99
src/views/home/components/jilubiao/index.vue
@@ -94,7 +94,7 @@
                                    <br/>胃肠功能评估
                                </td>
                                <td :rowspan="state.from1Datas.length*1">食物过敏源</td>
                                <td>{{state.from1Datas[index]?.初次调查日期}}</td>
                                <td>{{state.from1Datas[index]?.初次调查日期?.substring(0,11)}}</td>
                                <td colspan="2">
                                    {{state.from1Datas[index]?.食物过敏源调查?.过敏食物.type.join()}}
                                </td>
@@ -104,7 +104,7 @@
                                <td>{{state.from1Datas[index]?.记录者}}</td>
                            </tr>
                            <tr v-else>
                                <td>{{state.from1Datas[index].初次调查日期}}</td>
                                <td>{{state.from1Datas[index].初次调查日期?.substring(0,11)}}</td>
                                <td colspan="2">
                                    {{state.from1Datas[index]?.食物过敏源调查?.过敏食物.type.join()}}
                                </td>
@@ -118,7 +118,7 @@
                        <template v-for="(row,index) in state.from1Datas" :key="index">
                            <tr v-if="index===0">
                                <td :rowspan="state.from1Datas.length*1">胃肠功能评估</td>
                                <td>{{state.from1Datas[index].初次调查日期}}</td>
                                <td>{{state.from1Datas[index].初次调查日期?.substring(0,11)}}</td>
                                <td colspan="2" >
                                    <span v-if="state.from1Datas[index]?.胃肠症状体现?.便秘.type==='是'">便秘,</span>
                                    <span v-if="state.from1Datas[index]?.胃肠症状体现?.存在恶心呕吐.type==='是'">存在恶心呕吐, </span>
@@ -132,7 +132,7 @@
                                <td>{{state.from1Datas[index]?.记录者}}</td>
                            </tr>
                            <tr v-else>
                                <td>{{state.from1Datas[index].初次调查日期}}</td>
                                <td>{{state.from1Datas[index].初次调查日期?.substring(0,11)}}</td>
                                <td colspan="2" >
                                    <span v-if="state.from1Datas[index]?.胃肠症状体现?.便秘.type==='是'">便秘,</span>
                                    <span v-if="state.from1Datas[index]?.胃肠症状体现?.存在恶心呕吐.type==='是'">存在恶心呕吐, </span>
@@ -317,7 +317,7 @@
                                </tr>
                                <tr>
                                    <td>饮食及行为建议</td>
                                    <td>2003-06-34</td>
                                    <td>{{row?.初次调查日期?.substring(0,11)}}</td>
                                    <td colspan="2">
                                        {{row?.生活习惯指导建议}}
                                        {{row?.饮食指导建议}}
@@ -379,7 +379,7 @@
                        <template v-for="(row,index) in state.from4Datas" :key="index">
                            <!-- <template > -->
                                <tr>
                                    <td :rowspan="state.from4Datas.length">日常随访</td>
                                    <td v-if="index===0" :rowspan="state.from4Datas.length">日常随访</td>
                                    <td >随访记录</td>
                                    <td>{{row?.初次调查日期?.substring(0,11)}}</td>
                                    <td colspan="2">
@@ -422,6 +422,205 @@
                            <td></td>
                            <td>系统</td>
                        </tr>
                        <!-- 生化检验评估 -->
                        <tr>
                            <td rowspan="4" class="lisclass">
                                肝功
                            </td>
                            <td class="lisclass">血清白蛋白</td>
                            <td class="lisclass">{{getLisItemTime('白蛋白')}}</td>
                            <td class="lisclass" colspan="2">
                                {{getLisItem('白蛋白')}}
                            </td>
                            <td class="lisclass"></td>
                            <td class="lisclass">系统</td>
                        </tr>
                        <tr>
                            <td class="lisclass">前白蛋白</td>
                            <td class="lisclass">{{getLisItemTime('前白蛋白')}}</td>
                            <td class="lisclass" colspan="2">
                                {{getLisItem('前白蛋白')}}
                            </td>
                            <td class="lisclass"></td>
                            <td class="lisclass">系统</td>
                        </tr>
                        <tr>
                            <td class="lisclass">总白蛋白</td>
                            <td class="lisclass">{{getLisItemTime('总蛋白')}}</td>
                            <td class="lisclass" colspan="2">
                                {{getLisItem('总蛋白')}}
                            </td>
                            <td class="lisclass"></td>
                            <td class="lisclass">系统</td>
                        </tr>
                        <tr>
                            <td class="lisclass">其他指标</td>
                            <td class="lisclass"></td>
                            <td class="lisclass" colspan="2">
                            </td>
                            <td class="lisclass"></td>
                            <td class="lisclass">系统</td>
                        </tr>
                        <tr>
                            <td rowspan="3" class="lisclass">
                                电解质
                            </td>
                            <td class="lisclass">血磷</td>
                            <td class="lisclass">{{getLisItemTime('无机磷')}}</td>
                            <td class="lisclass" colspan="2">
                                {{getLisItem('无机磷')}}
                            </td>
                            <td class="lisclass"></td>
                            <td class="lisclass">系统</td>
                        </tr>
                        <tr>
                            <td class="lisclass">血钙</td>
                            <td class="lisclass">{{getLisItemTime('血钙')}}</td>
                            <td class="lisclass" colspan="2">
                                {{getLisItem('钙')}}
                            </td>
                            <td class="lisclass"></td>
                            <td class="lisclass">系统</td>
                        </tr>
                        <tr>
                            <td class="lisclass">钙磷乘积</td>
                            <td class="lisclass">{{getLisItemTime('钙磷乘积')}}</td>
                            <td class="lisclass" colspan="2">
                                {{getLisItem('钙磷乘积')}}
                            </td>
                            <td class="lisclass"></td>
                            <td class="lisclass">系统</td>
                        </tr>
                        <tr>
                            <td  class="lisclass">
                                全段甲状旁腺激素
                            </td>
                            <td class="lisclass">iPTH</td>
                            <td class="lisclass">{{getLisItemTime('甲状旁腺激素')}}</td>
                            <td class="lisclass" colspan="2">
                                {{getLisItem('甲状旁腺激素')}}
                            </td>
                            <td class="lisclass"></td>
                            <td class="lisclass">系统</td>
                        </tr>
                        <tr>
                            <td  class="lisclass">
                                血常规
                            </td>
                            <td class="lisclass">血红蛋白</td>
                            <td class="lisclass">{{getLisItemTime('血红蛋白')}}</td>
                            <td class="lisclass" colspan="2">
                                {{getLisItem('血红蛋白')}}
                            </td>
                            <td class="lisclass"></td>
                            <td class="lisclass">系统</td>
                        </tr>
                        <tr>
                            <td rowspan="3" class="lisclass">
                                铁三项
                            </td>
                            <td class="lisclass">血清铁</td>
                            <td class="lisclass">{{getLisItemTime('血清铁')}}</td>
                            <td class="lisclass" colspan="2">
                                {{getLisItem('血清铁')}}
                            </td>
                            <td class="lisclass"></td>
                            <td class="lisclass">系统</td>
                        </tr>
                        <tr>
                            <td class="lisclass">总铁结合力</td>
                            <td class="lisclass">{{getLisItemTime('总铁结合力')}}</td>
                            <td class="lisclass" colspan="2">
                                {{getLisItem('总铁结合力')}}
                            </td>
                            <td class="lisclass"></td>
                            <td class="lisclass">系统</td>
                        </tr>
                        <tr>
                            <td class="lisclass">转铁蛋白饱和度</td>
                            <td class="lisclass">{{getLisItemTime('转铁蛋白饱和度')}}</td>
                            <td class="lisclass" colspan="2">
                                {{getLisItem('转铁蛋白饱和度')}}
                            </td>
                            <td class="lisclass"></td>
                            <td class="lisclass">系统</td>
                        </tr>
                        <tr>
                            <td rowspan="4" class="lisclass">
                                肾功
                            </td>
                            <td class="lisclass">B 2微球蛋白</td>
                            <td class="lisclass">{{getLisItemTime('β2微球蛋白')}}</td>
                            <td class="lisclass" colspan="2">
                                {{getLisItem('β2微球蛋白')}}
                            </td>
                            <td class="lisclass"></td>
                            <td class="lisclass">系统</td>
                        </tr>
                        <tr>
                            <td class="lisclass">肌酐</td>
                            <td class="lisclass">{{getLisItemTime('肌酐')}}</td>
                            <td class="lisclass" colspan="2">
                                {{getLisItem('肌酐')}}
                            </td>
                            <td class="lisclass"></td>
                            <td class="lisclass">系统</td>
                        </tr>
                        <tr>
                            <td class="lisclass">尿酸</td>
                            <td class="lisclass">{{getLisItemTime('尿酸')}}</td>
                            <td class="lisclass" colspan="2">
                                {{getLisItem('尿酸')}}
                            </td>
                            <td class="lisclass"></td>
                            <td class="lisclass">系统</td>
                        </tr>
                        <tr>
                            <td class="lisclass">尿素氮</td>
                            <td class="lisclass">{{getLisItemTime('透析前尿素氮')}}</td>
                            <td class="lisclass" colspan="2">
                                {{getLisItem('透析前尿素氮')}}
                                {{getLisItem('尿素')}}
                                {{getLisItem('透析后尿素氮')}}
                            </td>
                            <td class="lisclass"></td>
                            <td class="lisclass">系统</td>
                        </tr>
                        <tr>
                            <td rowspan="3" class="lisclass">
                                其他
                            </td>
                            <td class="lisclass">血糖</td>
                            <td class="lisclass"></td>
                            <td class="lisclass" colspan="2">
                            </td>
                            <td class="lisclass"></td>
                            <td class="lisclass">系统</td>
                        </tr>
                        <tr>
                            <td class="lisclass">血压</td>
                            <td class="lisclass"></td>
                            <td class="lisclass" colspan="2">
                            </td>
                            <td class="lisclass"></td>
                            <td class="lisclass">系统</td>
                        </tr>
                        <tr>
                            <td class="lisclass">血脂</td>
                            <td class="lisclass"></td>
                            <td class="lisclass" colspan="2">
                            </td>
                            <td class="lisclass"></td>
                            <td class="lisclass">系统</td>
                        </tr>
                        
                         
                    </table>
@@ -437,10 +636,11 @@
<script setup lang="ts">
import { storeToRefs } from 'pinia';
import { usePatientsInfo } from '/@/stores/patientsInfo';
import { computed, reactive } from 'vue';
import { computed, reactive, ref } from 'vue';
import { ElMessage } from 'element-plus';
import { getPatData } from '/@/api/Patients';
import { list } from '/@/api/tiaochabiao';
import { list,getLatestReportByPat } from '/@/api/tiaochabiao';
import {formatDate} from '/@/utils/formatTime'
const storesPat = usePatientsInfo();
const { patientsInfo } = storeToRefs(storesPat);
const props = defineProps(['tableHeight'])
@@ -484,10 +684,36 @@
    // 随访记录
    from4Datas:<any>[],
    loading: false,
    // 检验结果
    lisRes:<any>[]
})
const tableHe = computed(() => {
    return props.tableHeight - 130
})
const getLisItem=(itemName:string)=>{
    if(itemName){
      const x= state.lisRes.findIndex((e:any)=>e.item_system_name===itemName)
      if(x>=0){
        return state.lisRes[x].item_result
      }else{
        return ''
      }
    }else{
        return ''
    }
}
const getLisItemTime=(itemName:string)=>{
    if(itemName){
      const x= state.lisRes.findIndex((e:any)=>e.item_system_name===itemName)
      if(x>=0){
        return state.lisRes[x].sample_date_str
      }else{
        return ''
      }
    }else{
        return ''
    }
}
const BMI = computed(() => {
    if (state.patientData.干体重 && state.patientData.身高) {
        return (Number(state.patientData.干体重) / (Number(state.patientData.身高) / 100 * Number(state.patientData.身高) / 100)).toFixed(2)
@@ -512,13 +738,19 @@
        state.from2Datas[2].list=[]
        state.from2Datas[3].list=[]
        state.from2Datas[4].list=[]
        const [res1,fromData1,fromData2,fromData3,fromData4] = await Promise.all([
        const [res1,fromData1,fromData2,fromData3,fromData4,from5Datas] = await Promise.all([
            getPatData(pam),
            getFrom1(),
            getFrom2(),
            getFrom3(),
            getFrom4()
            getFrom4(),
            getLatestReportByPatPage()
        ])
        if(from5Datas.data){
            console.log('检验数据------')
            console.log(from5Datas.data)
            state.lisRes=from5Datas.data
        }
        state.patientData = res1.data
        const from1 = fromData1
        if (from1.data.list.length >= 1) {
@@ -527,6 +759,8 @@
            });
           
        }
        console.log('食物过敏的------------------')
        console.log(state.from1Datas)
        if(fromData2.data.list.length>0){
           
            fromData2.data.list.forEach((element:any)=>{
@@ -623,6 +857,21 @@
    const yinyangbiaodan1 = await list(pasm)
    return yinyangbiaodan1
}
const getLatestReportByPatPage=async()=>{
    // 创建一个新的日期对象,默认为当前日期
    let currentDate = new Date();
    // 获取当前年份
    let currentYear = currentDate.getFullYear();
    // 设置为上一年
    currentDate.setFullYear(currentYear - 1);
    const ps={
        patCode:patientsInfo.value.code,
        date1:formatDate(currentDate,'YYYY-mm-dd'),
        date2:formatDate(new Date(),'YYYY-mm-dd'),
    }
    const res=await getLatestReportByPat(ps)
    return res
}
// 第二步:暴露方法
defineExpose({ getData })
</script>
@@ -674,4 +923,7 @@
//   background: #FFF; /* 背景颜色可以根据需要调整 */
//   z-index: 1000; /* 确保悬浮文本在页面的最上层 */
// }
.lisclass{
    background: rgb(235.9, 245.3, 255)
}
</style>