From 81ced3885266779c3a3813a0e4687962375b1d62 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期一, 09 六月 2025 19:16:43 +0800
Subject: [PATCH] gx
---
src/views/home/components/lis_.ui.vue | 221 ++++++++++++-------------------------------------------
1 files changed, 48 insertions(+), 173 deletions(-)
diff --git a/src/views/home/components/lis_.ui.vue b/src/views/home/components/lis_.ui.vue
index 7c5684e..5df7c16 100644
--- a/src/views/home/components/lis_.ui.vue
+++ b/src/views/home/components/lis_.ui.vue
@@ -1,31 +1,6 @@
<template>
<div class="inspection_project_report_container">
<el-row>
- <el-col :span="24" class="card_box card_box_search">
- <el-form :model="searchForm" inline size="small">
- <!-- <el-form-item label="收费项目">
- <el-select v-model="searchForm.feeItemName" filterable placeholder="收费项目" :loading="feeItemNameLoading" @change="feeItemChange">
- <el-option v-for="(item, index) in feeItemOptions" :key="index" :label="item" :value="item" />
- </el-select>
- </el-form-item> -->
- <!-- <el-form-item label="患者">
- <el-select v-model="searchForm.patCode" filterable placeholder="患者" :loading="patLoading">
- <el-option v-for="(item, index) in patOptions" :key="index" :label="item.patientName" :value="item.code" />
- </el-select>
- </el-form-item> -->
- <el-form-item>
- <el-button type="primary" :loading="loading" @click="searchFun">
- <el-icon><RefreshRight /></el-icon>
- 刷新
- </el-button>
- <!-- <el-button type="success" :loading="loading" @click="addFun">
- <el-icon><Plus /></el-icon>
- 新增检验数据
- </el-button> -->
- </el-form-item>
- <el-form-item></el-form-item>
- </el-form>
- </el-col>
<el-col :span="24" v-loading="loading">
<el-row :gutter="15">
<el-col :span="4">
@@ -41,8 +16,7 @@
:row-class-name="feeItemTableRowClassName"
@row-click="feeItemRowClick"
>
- <!-- <el-table-column label="序号" type="index" width="100" /> -->
- <el-table-column label="收费项目">
+ <el-table-column label="检验项目">
<template #default="scope">
{{ scope.row }}
</template>
@@ -51,150 +25,24 @@
</el-col>
</el-row>
</el-col>
- <el-col :span="20" class="card_box" v-loading="loading">
- <el-empty v-if="tableData.length <= 0" description="暂无检验数据" />
-
- <div class="result_box" v-if="tableHeight > 0" :style="{ height: (tableHeight-10) + 'px' }">
- <el-descriptions
- v-for="item in tableData"
- :key="item.reportCode"
- class="fee_item_box"
- :title="formatDescriptionsTitle(item.sampleDate)"
- :column="4"
- size="small"
- border
- >
- <!-- <template #extra>
- <el-button type="primary" size="small" :loading="false" @click="editRow(item)">编辑</el-button>
- <el-button type="danger" size="small" :loading="false" @click="delRow(item)">删除</el-button>
- </template> -->
- <el-descriptions-item v-for="(td, index) in item.results" :key="index">
- <template #label>
- <div class="cell-item">
- {{ td.itemName }}
- </div>
- </template>
- <el-popover placement="right" :width="220" trigger="click">
- <template #reference>
- <span class="item_res_text" :style="{ color: formatResultColor(td.resultFlag) }"
- >{{ td.itemResult }} {{ td.itemResultUnit ? `(${td.itemResultUnit})` : '' }}</span
- >
- </template>
- <div>
- <el-button type="success" size="mini" @click="editItem(td, item)">编辑</el-button>
- <el-button type="danger" size="mini" @click="delItem(td)">删除</el-button>
- </div>
- </el-popover>
- </el-descriptions-item>
- </el-descriptions>
- </div>
+ <el-col :span="20" class="patTabel" v-loading="loading" >
+ <el-table stripe border :data="tableData" class="patient_table" :row-class-name="feeItemTableRowClassName">
+ <el-table-column min-width="110" fixed prop="itemType" label="检验日期">
+ <template #default="scope">
+ {{scope.row.sampleDate.substring(0,11)}}
+ </template>
+ </el-table-column>
+ <el-table-column min-width="100" v-for="(col,index) in tableCols" :key="index" >
+ <template #header> {{col.name}}<br/>{{`${col.参考值 || ''}${col.单位 || ''}`}}</template>
+ <template #default="scope">
+ <span v-html="funJg(col,scope.row)"></span>
+ </template>
+ </el-table-column>
+ </el-table>
</el-col>
</el-row>
</el-col>
</el-row>
- <!-- 修改单项的dialog -->
- <el-dialog v-model="isEditItemDialogShow" title="编辑" center width="400px">
- <el-form ref="editItemFormRef" :model="editItemForm" size="small" :rules="editItemFormRules">
- <el-form-item label="检验日期">
- <el-date-picker v-model="editItemForm.sampleDate" type="date" style="width: 100%" placeholder="检验日期" :clearable="false" />
- </el-form-item>
- <el-form-item label="检验项目">
- <el-input disabled v-model="editItemForm.itemName"></el-input>
- </el-form-item>
- <el-form-item label="检验结果" prop="itemResult">
- <el-input v-model="editItemForm.itemResult" @change="(e) => itemInpChangeyz(e, editItemForm)" placeholder="检验结果" clearable>
- <template #append>
- <span v-if="editItemForm.itemResultUnit">{{ editItemForm.itemResultUnit }}</span>
- </template>
- </el-input>
- </el-form-item>
- </el-form>
- <template #footer>
- <el-button size="small" :loading="loading" @click="isEditItemDialogShow = false">取消</el-button>
- <el-button type="primary" size="small" :loading="loading" @click="editItemSubmit(editItemFormRef)">保存</el-button>
- </template>
- </el-dialog>
- <!-- 修改多项 -->
- <el-dialog v-model="isManyFeeShow" title="编辑" center width="800px" :close-on-click-modal="false">
- <el-form ref="editManyFeeFormRef" :model="editManyFeeForm" size="small" label-width="150px" label-position="right">
- <el-row :gutter="10">
- <el-col :span="12" class="m_b_20">
- <el-form-item label="检验日期">
- <el-date-picker v-model="editManyFeeForm.sampleDate" type="date" style="width: 100%" placeholder="检验日期" :clearable="false" />
- </el-form-item>
- </el-col>
- <el-col :span="12" class="m_b_20">
- <el-form-item label="收费项目">
- <el-input v-model="searchForm.feeItemName" disabled></el-input>
- </el-form-item>
- </el-col>
- <el-col v-for="(item, index) in editManyFeeForm.children" :key="item.code" :span="12" class="m_b_20">
- <el-form-item :label="item.itemName">
- <el-input
- v-model="item.itemResult"
- :disabled="item.itemSystemName === '转铁蛋白饱和度' || disabledItem.includes(item.itemSystemName)"
- @change="(e) => itemInpChangeyz(e, item)"
- @input="(e) => itemInpChange2(e, item)"
- >
- <template #append>
- <span v-if="item.itemResultUnit">{{ item.itemResultUnit }}</span>
- </template>
- </el-input>
- </el-form-item>
- </el-col>
- <el-col :span="24" v-if="searchForm.feeItemName === 'KT/V检查'">
- <el-form-item label=" ">
- <el-button type="success" size="small" :loading="loading || addLoading" @click="calculatorKtvAndUrrByUpdate">计算URR K/TV</el-button>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <template #footer>
- <el-button size="small" :loading="loading" @click="isManyFeeShow = false">取消</el-button>
- <el-button type="primary" size="small" :loading="loading" @click="editManySubmit(editManyFeeFormRef)">保存</el-button>
- </template>
- </el-dialog>
- <!-- 新增 -->
- <el-dialog v-model="isShowAddFeeShow" title="新增检验数据" center width="800px" :close-on-click-modal="false">
- <el-form :model="addFeeForm" v-loading="addLoading" size="small" label-width="150px" label-position="right">
- <el-row :gutter="10">
- <el-col :span="12" class="m_b_20">
- <el-form-item label="检验日期">
- <el-date-picker v-model="addFeeForm.sampleDate" type="date" style="width: 100%" placeholder="检验日期" :clearable="false" />
- </el-form-item>
- </el-col>
- <el-col :span="12" class="m_b_20">
- <el-form-item label="收费项目">
- <el-select v-model="addFeeForm.feeItemName" filterable placeholder="收费项目" @change="feeItemChangeByAdd">
- <el-option v-for="(item, index) in feeItemOptions" :key="index" :label="item" :value="item" />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col v-for="(item, index) in addFeeForm.details" :key="index" :span="12" class="m_b_20">
- <el-form-item :label="item.testItem">
- <el-input
- v-model="item.testValue"
- :disabled="disabledItem.includes(item.stName)"
- :placeholder="item.placeholder"
- @change="(e) => itemInpChangeyz(e, item)"
- @input="(e) => itemInpChange(e, item)"
- >
- <template #append>{{ item.testItemUnit }}</template>
- </el-input>
- </el-form-item>
- </el-col>
- <el-col :span="24" v-if="addFeeForm.feeItemName === 'KT/V检查'">
- <el-form-item label=" ">
- <el-button type="success" size="small" :loading="loading || addLoading" @click="calculatorKtvAndUrr">计算URR K/TV</el-button>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <template #footer>
- <el-button size="small" :loading="loading || addLoading" @click="isShowAddFeeShow = false">取消</el-button>
- <el-button type="primary" size="small" :loading="loading || addLoading" @click="addSubmit">保存</el-button>
- </template>
- </el-dialog>
</div>
</template>
@@ -264,7 +112,7 @@
});
}
} else {
- ElMessage.warning('请选择患者');
+ // ElMessage.warning('请选择患者');
}
}
);
@@ -300,7 +148,7 @@
* 查询
*/
const searchFun = async () => {
- if (!searchForm.value.patCode) return ElMessage.warning('请选择患者');
+ if (!searchForm.value.patCode) return true
if (!searchForm.value.feeItemName) return ElMessage.warning('请选择收费项目');
loading.value = true;
try {
@@ -310,7 +158,8 @@
isFilterTestItem: 1,
};
const { data } = await listReportsByPatientApi(params);
- tableCols.value = data.cols;
+ // tableCols.value = data.cols;
+ tableCols.value=[...data.cols.filter(e => e.排序 !== null).sort((a, b) => a.排序 - b.排序), ...data.cols.filter(e => e.排序 === null)]
tableData.value = data.reports;
} finally {
loading.value = false;
@@ -741,7 +590,7 @@
height -= demoFormDom.scrollHeight;
}
- height = height - 200;
+ height = height - 140;
tableHeight.value = height;
};
@@ -822,7 +671,33 @@
addLoading.value = false;
}
};
-
+const funJg=(col:any,row:any)=>{
+ const name=col.系统默认名称;
+ if(row.results.length>0){
+ const x= row.results.findIndex((e:any)=>{return e.itemSystemName===name})
+ if(x==-1){
+ return ''
+ }else{
+ if(row.results[x].resultFlag==='正常'){
+ return `<span style="color: black;">${row.results[x].itemResult}</span>`
+ }else if(row.results[x].resultFlag==='偏高'){
+ return `<span style="color: red;">${row.results[x].itemResult}</span>`
+ }else if(row.results[x].resultFlag==='高'){
+ return `<span style="color: red;">${row.results[x].itemResult}</span>`
+ }
+ else if(row.results[x].resultFlag==='偏低'){
+ return `<span style="color: #409EFF;">${row.results[x].itemResult}</span>`
+ }else if(row.results[x].resultFlag==='低'){
+ return `<span style="color: #409EFF;">${row.results[x].itemResult}</span>`
+ } else {
+ return `<span>${row.results[x].itemResult}</span>`
+ }
+
+ }
+ }else{
+ return ''
+ }
+}
onMounted(async () => {
setTableHeight();
// await getPatients();
@@ -831,7 +706,7 @@
// @ts-ignore
searchForm.value.patCode = patientsInfo.value.code
} else {
- ElMessage.warning('请选择患者');
+ // ElMessage.warning('请选择患者');
}
getFeeItems();
});
--
Gitblit v1.8.0