chenyc
2025-06-13 52c88b72d655c40f5c883e496c777906211caa2f
1757 患者档案新增查看内容
1个文件已修改
92 ■■■■ 已修改文件
src/views/home/components/patient_file.vue 92 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/home/components/patient_file.vue
@@ -8,7 +8,7 @@
                    </el-icon> <span> &nbsp; 服务套餐</span>
                </div>
                <div>
                    <el-form  :inline="true" class="demo-form-inline">
                    <el-form  :inline="true" class="demo-form-inline" size="small">
                        <el-form-item label="基础服务:">
                            <el-radio-group class="elradiozdi" :disabled="state.formdispl" v-model="state.taochan.基础服务">
                                <el-radio value="是">是</el-radio>
@@ -111,30 +111,66 @@
                <div class="clearfix">
                    <el-icon size="16" color="#409efc">
                        <CreditCard />
                    </el-icon> <span> &nbsp; 最新生化数据</span>
                    </el-icon> <span> &nbsp; 最新生化数据 <span style="color: #606266; font-size: 80%;font-weight: 200;">(90天以内的)</span></span>
                </div>
                <el-scrollbar :height="(tableHeight-520)+'px'">
                <el-scrollbar :height="(tableHeight-820)+'px'">
                    <div>
                        <el-row :gutter="10" v-if="state.listData.length">
                            <el-col :xs="8" :sm="8" :md="6" :lg="6" :xl="4" v-for="(item, key) in state.listData"
                                :key="key">
                                <div class="itemLis" v-if="item?.item_result">
                                    <div class="title">
                                    <!-- <div class="title">
                                        {{ key }}
                                    </div>
                                    </div> -->
                                    <div class="itemRes">
                                        <div class="itemResDtile">
                                            <div style="text-align: center;width: 100%;">
                                                {{ item?.item_name }}
                                            </div>
                                            <div>
                                                {{ item?.item_result }}<span class="tdate">{{ item?.item_result_unit
                                              <span style="font-weight: 600;" :style="{ color:item.item_result_flag==='d'?'#409EFF':'#F56C6C'}">{{ item?.item_result }}</span>
                                             <span class="tdate">{{ item?.item_result_unit
                                                    }}</span>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="tdate">
                                        {{ item?.sample_date_str }}
                                    </div>
                                </div>
                            </el-col>
                        </el-row>
                    </div>
                </el-scrollbar>
            </el-card>
            <el-card class="box-card" style="margin-top:10px;">
                <div class="clearfix">
                    <el-icon size="16" color="#409efc">
                        <CreditCard />
                    </el-icon> <span> &nbsp; 最近营养筛查评估 <span style="color: #606266; font-size: 80%;font-weight: 200;">(90天以内的)</span></span>
                </div>
                <el-scrollbar :height="(tableHeight-820)+'px'">
                    <div>
                        <el-row :gutter="10" v-if="state.营养筛查历史表.length">
                            <el-col :xs="8" :sm="8" :md="6" :lg="6" :xl="4" v-for="(item, key) in state.营养筛查历史表"
                                :key="key">
                                <div class="itemLis">
                                    <div class="title">
                                        {{ item?.结果.表名 }}
                                    </div>
                                    <div class="itemRes">
                                        <div class="itemResDtile">
                                            <div>
                                              <span style="font-weight: 600;" :style="{ color:item?.结果.结果.color}">{{ item?.结果.结果.label }}</span>
                                                <span class="tdate"> 得分:{{ item?.结果.结果.value}}</span>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="tdate">
                                        {{ item?.surveryTime }}
                                    </div>
                                </div>
@@ -170,6 +206,7 @@
import { useUserInfo } from '/@/stores/userInfo';
import { computed, onMounted, reactive } from 'vue';
import { getPatData, getLisResults, update ,updateNurtion,listNurtion,AddNurtion,getDryWeightList} from '/@/api/Patients';
import {list} from '/@/api/tiaochabiao/index'
import { userInfo } from 'os';
import { Search ,Edit,Check} from '@element-plus/icons-vue'
import dayjs from 'dayjs';
@@ -208,7 +245,9 @@
        出院诊断:'',
        '透析龄(月)':''
    },
    listData: <any>{}
    // 最近检验数据
    listData: <any>{},
    营养筛查历史表:<any>[]
})
const tableHe = computed(() => {
    return props.tableHeight - 130
@@ -311,7 +350,7 @@
    const pam2 = {
        clientCode: userInfos.value.clientCode,
        patCode: patientsInfo.value.code,
        date1: dayjs().add(-30, 'day').format('YYYY-MM-DD'),
        date1: dayjs().add(-90, 'day').format('YYYY-MM-DD'),
        date2: dayjs().format('YYYY-MM-DD'),
    }
    const pas3={
@@ -319,17 +358,40 @@
        size: 0,
        wherecondition:`patient_code='${patientsInfo.value.code}'`,
    }
    const pasm={
        page: 0,
        size: 0,
        wherecondition:`survery_form_type=1 and patient_code='${patientsInfo.value.code}'`,
        ordercondition: 'survery_time desc'
    }
    pasm.wherecondition+=` and survery_time BETWEEN '${dayjs().add(-90, 'day').format('YYYY-MM-DD')} 00:00:00' AND '${dayjs().format('YYYY-MM-DD')} 23:59:59'`
    try {
        state.loading = true
        getGtzList()
        const [res1, res2,res3] = await Promise.all([
        const [res1, res2,res3,res4] = await Promise.all([
            getPatData(pam),
            getLisResults(pam2),
            listNurtion(pas3)
            listNurtion(pas3),
            list(pasm) //查询评估表
        ])
        state.patientData = res1.data
        state.listData=[]
        console.log('赋值患者信息',state.patientData)
        state.listData = res2.data
        // 赛选异常的值
        res2.data.forEach(e=>{
            if(e.item_result_flag!=='z'){
                state.listData.push(e)
            }
        })
        state.营养筛查历史表=[]
        state.营养筛查历史表=res4.data.list.map(e=>{
            e.结果=JSON.parse(e.surveryJsonBody)
            return e
        })
        console.log(state.营养筛查历史表)
        console.log('--------------------')
        // state.listData = res2.data
        if(res3.data?.list.length>=1){
            const row=res3.data.list[0]
            console.log('taochanshuju----',row)
@@ -382,15 +444,11 @@
        }
    })
}
onMounted(() => {
    // console.log(dayjs().add(-7, 'day').format('YYYY-MM-DD'),'---shan')
})
const formatResKeys = (obj: Object) => {
    return Object.keys(obj).filter((k) => k !== '标本日期');
};
const formatResKeysDate = (obj: Object) => {
    return Object.keys(obj).filter((k) => k === '标本日期');
};
// 第二步:暴露方法
defineExpose({ getData })