3 changed files with 434 additions and 207 deletions
-
113src/components/sumDoctorCheck/CheckDetails copy.vue
-
116src/components/sumDoctorCheck/CheckDetails.vue
-
44src/views/doctorCheck/sumDoctorCheck.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> |
||||
|
|
||||
@ -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> |
||||
|
|
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue