Browse Source

summary

master
pengjun 2 years ago
parent
commit
92825f4d8b
  1. 113
      src/components/sumDoctorCheck/CheckDetails copy.vue
  2. 116
      src/components/sumDoctorCheck/CheckDetails.vue
  3. 14
      src/views/doctorCheck/sumDoctorCheck.vue

113
src/components/sumDoctorCheck/CheckDetails copy.vue

@ -0,0 +1,113 @@
<template>
<div style="display: flex;">
<div style="width:100%;">
<el-table :data="tableData" width="800px" height="680" border :row-style="{ height: '40px' }" :show-header="false">
<el-table-column prop="itemTypeName" label="科室" >
<template slot-scope="scope">
<div>
<div>{{ scope.row.itemTypeName }}</div>
<el-table :data="scope.row.asbitems" border :show-header="false" :row-style="{ height: '40px' }">
<el-table-column prop="asbitemName" label="组合项目">
</el-table-column>
<el-table-column label="检查日期与医生">
<template slot-scope="scope2">
<div>{{ ' 检查日期:' + scope2.row.checkDate + ' 检查医生:' + scope2.row.checkDoctorName }}</div>
</template>
</el-table-column>
</el-table>
<el-table :data="scope.row.asbitems" border :show-header="false" :row-style="{ height: '40px' }">
<el-table-column prop="items" label="明细">
<template slot-scope="scope2">
<el-table :data="scope2.row.items" border :row-style="{ height: '40px' }">
<el-table-column prop="itemName" label="项目"/>
<el-table-column prop="itemResult" label="结果"/>
<el-table-column prop="referenceRangeValue" label="参考值"/>
<el-table-column prop="criticalRangeValue" label="警告参考值"/>
<el-table-column prop="unit" label="单位"/>
<el-table-column prop="resultStatusName" label="提示"/>
</el-table>
</template>
</el-table-column>
</el-table>
<el-table :data="scope.row.asbitems" border :show-header="false" :row-style="{ height: '40px' }">
<el-table-column prop="summarys" label="小结">
<template slot-scope="scope2">
<div>小结{{ mergeSummarys(scope2.row.summarys,'summary') }}</div>
</template>
</el-table-column>
</el-table>
</div>
</template>
</el-table-column>
</el-table>
</div>
</div>
</template>
<script lang="ts">
import { mapState } from 'vuex';
import Sortable from "sortablejs";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { arrayExistObj } from '@/utlis/proFunc';
export default {
components: {},
data() {
return {
tableData:[],
};
},
created() { },
//
mounted() {
},
computed: {
...mapState(['dict', 'doctorCheck', 'sumDoctorCheck']),
},
methods: {
//
CheckDetails(RegisterId) {
console.log(`/api/app/sum-summary-report/detailed-results-list/${RegisterId}`)
getapi(`/api/app/sum-summary-report/detailed-results-list/${RegisterId}`)
.then((res) => {
console.log("获取结果明细 CheckDetails", res.data);
if (res.code != -1) {
this.tableData = res.data;
}
})
.catch((err) => {
this.$message({ type: "error", message: `操作失败,原因:${err}` });
});
},
mergeSummarys(array,itemKey){
let ret = ''
array.forEach(e => {
return ret += ';' + e[itemKey]
})
return ret.substring(1,ret.length)
}
},
//
watch: {
//
"sumDoctorCheck.sumPREdit.id"(newVal, oldVal) {
console.log("watch sumDoctorCheck.sumPREdit.id newVal:", newVal, " oldVal:", oldVal);
if (newVal != oldVal && newVal != '') {
this.CheckDetails(newVal)
}
},
},
};
</script>
<style scoped>
::v-deep .el-table td.el-table__cell,
.el-table th.el-table__cell.is-leaf {
padding: 0;
}
</style>

116
src/components/sumDoctorCheck/CheckDetails.vue

@ -0,0 +1,116 @@
<template>
<div style="display: flex;">
<div style="width:100%;">
<table width="1000" height="680">
<tbody v-for="(item,index) of tableData" :key="index">
<tr height="30"><td style="text-align: center;font-weight: bolder;">{{item.itemTypeName}}</td></tr>
<tr>
<table v-for="(item2,index2) in item.asbitems" :key="index + '-' + index2" width="100%" border="1" cellspacing="0" bordercolor="#000000" style="border-collapse:collapse;">
<tr height="30">
<td width="299">{{item2.asbitemName}}</td>
<td width="701">{{ '检查日期:' + item2.checkDate + ' 检查医生:' + item2.checkDoctorName }}</td>
</tr>
<tr>
<td colspan="2">
<table width="1000" border="1" cellspacing="0" bordercolor="#000000" style="border-collapse:collapse;">
<thead>
<tr style="text-align: center;" height="30">
<td width="300">项目</td>
<td width="300">结果</td>
<td width="130">参考值</td>
<td width="130">警告参考值</td>
<td width="90">单位</td>
<td width="50">提示</td>
</tr>
</thead>
<tbody v-for="(item3,index3) in item2.items" :key="index + '-' + index2 + '-' + index3">
<tr height="30">
<td>{{item3.itemName}}</td>
<td>{{item3.itemResult}}</td>
<td>{{item3.referenceRangeValue}}</td>
<td>{{item3.criticalRangeValue}}</td>
<td>{{item3.unit}}</td>
<td>{{item3.resultStatusName}}</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr height="30">
<td colspan="2">小结{{ mergeSummarys(item2.summarys,'summary') }}</td>
</tr>
</table>
</tr>
</tbody>
</table>
</div>
</div>
</template>
<script lang="ts">
import { mapState } from 'vuex';
import Sortable from "sortablejs";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { arrayExistObj } from '@/utlis/proFunc';
export default {
components: {},
data() {
return {
tableData:[],
};
},
created() { },
//
mounted() {
},
computed: {
...mapState(['dict', 'doctorCheck', 'sumDoctorCheck']),
},
methods: {
//
CheckDetails(RegisterId) {
console.log(`/api/app/sum-summary-report/detailed-results-list/${RegisterId}`)
getapi(`/api/app/sum-summary-report/detailed-results-list/${RegisterId}`)
.then((res) => {
console.log("获取结果明细 CheckDetails", res.data);
if (res.code != -1) {
this.tableData = res.data;
}
})
.catch((err) => {
this.$message({ type: "error", message: `操作失败,原因:${err}` });
});
},
mergeSummarys(array,itemKey){
let ret = ''
array.forEach(e => {
return ret += ';' + e[itemKey]
})
return ret.substring(1,ret.length)
}
},
//
watch: {
//
"sumDoctorCheck.sumPREdit.id"(newVal, oldVal) {
console.log("watch sumDoctorCheck.sumPREdit.id newVal:", newVal, " oldVal:", oldVal);
if (newVal != oldVal && newVal != '') {
this.CheckDetails(newVal)
}
},
},
};
</script>
<style scoped>
::v-deep .el-table td.el-table__cell,
.el-table th.el-table__cell.is-leaf {
padding: 0;
}
</style>

14
src/views/doctorCheck/sumDoctorCheck.vue

@ -19,7 +19,7 @@
</div>
</el-tab-pane>
<el-tab-pane label="明细结果" name="2">
<CheckDetails/>
</el-tab-pane>
<el-tab-pane label="危急值" name="3">
@ -48,19 +48,18 @@
import PatientRegisterBase from "../../components/doctorCheck/PatientRegisterBase.vue";
import ButtonList from "../../components/sumDoctorCheck/ButtonList.vue";
import RegisterCheckList from "../../components/doctorCheck/RegisterCheckList.vue";
import CheckItemList from "../../components/doctorCheck/CheckItemList.vue";
import SumSug from "../../components/sumDoctorCheck/SumSug.vue";
import SumPREdit from "../../components/sumDoctorCheck/SumPREdit.vue";
import CheckDetails from "../../components/sumDoctorCheck/CheckDetails.vue";
export default {
components: {
RegisterCheckList,
PatientRegisterBase,
ButtonList,
CheckItemList,
SumSug,
SumPREdit
SumPREdit,
CheckDetails,
},
data() {
return {
@ -209,4 +208,3 @@
display: flex;
}
</style>
Loading…
Cancel
Save