Browse Source

resize

master
pengjun 2 years ago
parent
commit
a1afb0352c
  1. 2
      src/components/doctorCheck/ButtonList.vue
  2. 8
      src/components/doctorCheck/CheckSumSug.vue
  3. 2
      src/components/patientRegister/PatientRegisterItem.vue
  4. 1
      src/components/sumDoctorCheck/ButtonList.vue
  5. 113
      src/components/sumDoctorCheck/CheckDetails copy.vue
  6. 92
      src/components/sumDoctorCheck/CheckDetails.vue
  7. 19
      src/components/sumDoctorCheck/SumHistory.vue
  8. 16
      src/components/sumDoctorCheck/SumItems.vue
  9. 10
      src/components/sumDoctorCheck/SumItemsType.vue
  10. 2
      src/components/sumDoctorCheck/SumPREdit.vue
  11. 10
      src/components/sumDoctorCheck/SumSug.vue
  12. 34
      src/views/doctorCheck/doctorCheck.vue
  13. 78
      src/views/doctorCheck/sumDoctorCheck.vue

2
src/components/doctorCheck/ButtonList.vue

@ -377,7 +377,7 @@ export default {
</script>
<style scoped>
.listBtn {
margin-top: 10px;
margin-top: 5px;
text-align: center;
}
.btnClass{

8
src/components/doctorCheck/CheckSumSug.vue

@ -1,10 +1,10 @@
<template>
<div style="display: flex;">
<div style="width:50%;">
<div :style="'width:'+Math.floor((window.pageWidth - 200 - 120 - 70)/2) + 'px;'">
<el-table id="tableSummary" row-key="id" :data="doctorCheck.checkSummaryList" :row-style="{ height: '60px' }"
:height="window.pageHeight < 600 ? Math.floor((380 - 40)*2/5):Math.floor((window.pageHeight-220-40)*2/5)"
width="100%" border @row-click="rowClick">
<el-table-column prop="summary" label="小结" width="460" >
<el-table-column prop="summary" label="小结" :width="Math.floor((window.pageWidth - 200 - 124 - 70)/2)" >
<template slot-scope="scope">
<el-input type="textarea" v-model="scope.row.summary"
:disabled="doctorCheck.RegisterCheckEdit.completeFlag=='1' || doctorCheck.RegisterCheckEdit.completeFlag=='2'" placeholder="请输入小结">
@ -13,11 +13,11 @@
</el-table-column>
</el-table>
</div>
<div style="width:50%;">
<div :style="'margin-left:2px;width:'+Math.floor((window.pageWidth - 200 - 120 - 70)/2) + 'px;'">
<el-table id="tableSuggestion" row-key="id" :data="doctorCheck.checkSuggestionList" :row-style="{ height: '60px' }"
:height="window.pageHeight < 600 ? Math.floor((380 - 40)*2/5):Math.floor((window.pageHeight-220-40)*2/5)"
width="100%" border @row-click="rowClick">
<el-table-column prop="suggestion" label="建议" width="460" >
<el-table-column prop="suggestion" label="建议" :width="Math.floor((window.pageWidth - 200 - 124 - 70)/2)" >
<template slot-scope="scope">
<el-input type="textarea" v-model="scope.row.suggestion"
:disabled="doctorCheck.RegisterCheckEdit.completeFlag=='1' || doctorCheck.RegisterCheckEdit.completeFlag=='2'" placeholder="请输入建议">

2
src/components/patientRegister/PatientRegisterItem.vue

@ -55,7 +55,7 @@
<el-select v-model="asbItemId" placeholder="快速选择组合项目" size="small"
filterable clearable @change="quickChoosedAsb" style="width:150px;text-align: left;padding-right: 15px;">
<el-option v-for="item in dict.asbItemQuick" :key="item.id" :value="item.id"
:label="item.displayName + ' , ' + item.price + ' , ' + ldddw(dict.forSex, 'id', item.forSexId, 'displayName') " />
:label="item.displayName" />
</el-select>
</div>
</div>

1
src/components/sumDoctorCheck/ButtonList.vue

@ -404,6 +404,7 @@ export default {
<style scoped>
.listBtn {
margin-top: 10px;
margin-left: 10px;
text-align: center;
}
.btnClass{

113
src/components/sumDoctorCheck/CheckDetails copy.vue

@ -1,113 +0,0 @@
<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>

92
src/components/sumDoctorCheck/CheckDetails.vue

@ -1,49 +1,47 @@
<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>
<template>
<div :style="'overflow: scroll;width:100%;height:'+(window.pageHeight < 600 ? 340:window.pageHeight-260)+'px;'">
<table width="1000" >
<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>
</template>
<script lang="ts">
@ -67,7 +65,7 @@ export default {
},
computed: {
...mapState(['dict', 'doctorCheck', 'sumDoctorCheck']),
...mapState(['window','dict', 'doctorCheck', 'sumDoctorCheck']),
},
methods: {

19
src/components/sumDoctorCheck/SumHistory.vue

@ -1,19 +1,22 @@
<template>
<div style="display: flex;width:100%;">
<table width="1000" height="680">
<div :style="'overflow: scroll;width:100%;height:'+(window.pageHeight < 600 ? 340:window.pageHeight-260)+'px;'">
<table width="800">
<tbody v-for="(item,index) of tableData" :key="index">
<tr height="40">
<td width="200">体检次数{{ item.medicalTimes }}</td>
<td width="100">体检次数</td>
<td width="100">{{ item.medicalTimes }}</td>
<td width="200">总检医生{{ item.summaryDoctor }}</td>
<td>总检日期{{ item.summaryDate }}</td>
</tr>
<tr height="10"><td colspan="4"></td></tr>
<tr height="40">
<td width="200">检查综述</td>
<td colspan="2" v-html="item.sumSummarys"></td>
<td width="100" style="vertical-align: top;">检查综述</td>
<td colspan="3" v-html="item.sumSummarys"></td>
</tr>
<tr height="20"><td colspan="4"></td></tr>
<tr height="40">
<td width="200">医生建议</td>
<td colspan="2" v-html="item.sumSuggestions"></td>
<td width="100" style="vertical-align: top;">医生建议</td>
<td colspan="3" v-html="item.sumSuggestions"></td>
</tr>
</tbody>
</table>
@ -40,7 +43,7 @@ export default {
},
computed: {
...mapState(['dict', 'doctorCheck', 'sumDoctorCheck']),
...mapState(['window','dict', 'doctorCheck', 'sumDoctorCheck']),
},
methods: {

16
src/components/sumDoctorCheck/SumItems.vue

@ -1,13 +1,17 @@
<template>
<div style="display: flex;width:100%;">
<div style="display: flex;width:180;">
<el-table :data="RegisterCheckList" width="180" height="680" border highlight-current-row
<div style="display: flex;width:100%;">
<div style="width:180;">
<el-table :data="RegisterCheckList" width="180"
:height="window.pageHeight < 600 ? 340:window.pageHeight-260"
border highlight-current-row
:row-style="{ height: '40px' }" :row-class-name="tableRowClassName" @row-click="rowClick">
<el-table-column prop="asbitemName" label="组合项目" width="180" />
</el-table>
</div>
<div style="display: flex;width:90%;">
<el-table :data="tableData" width="1000px" height="680" border :row-style="{ height: '40px' }">
<div :style="'width:' + (window.pageWidth - 300 - 70) + 'px;'">
<el-table :data="tableData" width="1000px"
:height="window.pageHeight < 600 ? 340:window.pageHeight-260"
border :row-style="{ height: '40px' }">
<el-table-column prop="itemName" label="项目" width="150" />
<el-table-column prop="unitName" label="单位" width="90" />
<el-table-column prop="referenceRangeValue" label="参考范围" width="120" />
@ -41,7 +45,7 @@ export default {
},
computed: {
...mapState(['dict', 'doctorCheck', 'sumDoctorCheck']),
...mapState(['window','dict', 'doctorCheck', 'sumDoctorCheck']),
},
methods: {

10
src/components/sumDoctorCheck/SumItemsType.vue

@ -1,7 +1,9 @@
<template>
<div style="display: flex;width:100%;">
<el-table :data="tableData" width="1000px" height="680" border :row-style="{ height: '40px' }" >
<el-table-column prop="itemTypeName" label="项目" width="150"/>
<div :style="'width:100%;height:'+(window.pageHeight < 600 ? 340:window.pageHeight-260)+'px;'">
<el-table :data="tableData" width="1000px"
:height="window.pageHeight < 600 ? 340:window.pageHeight-260"
border :row-style="{ height: '40px' }" >
<el-table-column prop="itemTypeName" label="项目" width="180"/>
<el-table-column v-for="(item,index) of tableCols" :label="item" :prop="item" :key="index" width="200">
</el-table-column>
</el-table>
@ -31,7 +33,7 @@ export default {
},
computed: {
...mapState(['dict', 'doctorCheck', 'sumDoctorCheck']),
...mapState(['window','dict', 'doctorCheck', 'sumDoctorCheck']),
},
methods: {

2
src/components/sumDoctorCheck/SumPREdit.vue

@ -1,6 +1,6 @@
<template>
<div style="display: flex">
<div style="display: flex; flex-wrap: wrap; width: 100%">
<div style="display: flex; flex-wrap: wrap;height:40px; width: 100%">
<div class="query">
<span>总检医生</span>
<el-input v-model="sumDoctorCheck.sumPREdit.summaryDoctor" size="small" style="width: 110px" />

10
src/components/sumDoctorCheck/SumSug.vue

@ -1,7 +1,9 @@
<template>
<div style="display: flex;">
<div style="width:50%;">
<el-table id="tableSummary" row-key="id" :data="sumDoctorCheck.summaryList" width="100%" height="680" border :row-style="{ height: '60px' }">
<el-table id="tableSummary" row-key="id" :data="sumDoctorCheck.summaryList" width="100%"
:height="window.pageHeight < 600 ? 300:window.pageHeight-300"
border :row-style="{ height: '60px' }">
<el-table-column prop="summaryTitle" label="综述" >
<template slot-scope="scope">
<div>
@ -22,7 +24,9 @@
</el-table>
</div>
<div style="width:50%;">
<el-table id="tableSuggestion" row-key="id" :data="sumDoctorCheck.suggestionList" width="100%" height="680" border :row-style="{ height: '60px' }">
<el-table id="tableSuggestion" row-key="id" :data="sumDoctorCheck.suggestionList" width="100%"
:height="window.pageHeight < 600 ? 300:window.pageHeight-300"
border :row-style="{ height: '60px' }">
<el-table-column prop="suggestionTitle" label="建议" >
<template slot-scope="scope">
<div>
@ -75,7 +79,7 @@ export default {
},
computed: {
...mapState(['dict', 'doctorCheck', 'sumDoctorCheck']),
...mapState(['window','dict', 'doctorCheck', 'sumDoctorCheck']),
},
methods: {

34
src/views/doctorCheck/doctorCheck.vue

@ -1,23 +1,27 @@
<template>
<div style="display: flex;">
<div :style="'width:' + (window.pageWidth - 120 - 70) + 'px;'">
<div>
<PatientRegisterBase/>
</div>
<div>
<el-card style="display: block; ">
<div style="display: flex;">
<div style="width: 200px;">
<RegisterCheckList/>
<div :style="'width:' + (window.pageWidth - 120 - 70) + 'px;'">
<div>
<PatientRegisterBase/>
</div>
<div style="display: flex;">
<div style="width: 200px;">
<RegisterCheckList/>
</div>
<div>
<div :style="'margin-left: 2px;width:' + (window.pageWidth - 200 - 120 - 70) + 'px;'"><CheckItemList/></div>
<div :style="'margin-top: 2px;margin-left: 2px;width:' + (window.pageWidth - 200 - 120 - 70) + 'px;'"><CheckSumSug/></div>
<div :style="'margin-top: 2px;width:' + (window.pageWidth - 200 - 120 - 70) + 'px;'"><RegisterCheckEdit/></div>
</div>
</div>
</div>
<div>
<div :style="'margin-left: 2px;width:' + (window.pageWidth - 200 - 120 - 70) + 'px;'"><CheckItemList/></div>
<div :style="'margin-top: 2px;margin-left: 2px;width:' + (window.pageWidth - 200 - 120 - 70) + 'px;'"><CheckSumSug/></div>
<div :style="'margin-top: 2px;width:' + (window.pageWidth - 200 - 120 - 70) + 'px;'"><RegisterCheckEdit/></div>
<div style="width:120px;">
<ButtonList/>
</div>
</div>
</div>
<div style="width:120px;">
<ButtonList/>
</div>
</el-card>
</div>
</template>
<script>

78
src/views/doctorCheck/sumDoctorCheck.vue

@ -1,42 +1,42 @@
<template>
<div style="display: flex;">
<table width="100%">
<tr>
<td width="90%">
<PatientRegisterBase/>
</td>
<td rowspan="2" width="10%">
<ButtonList/>
</td>
</tr>
<tr height="700px">
<td width="90%" style="valign:top;">
<el-tabs style="margin-left: 10px" v-model="tabChoosed">
<el-tab-pane label="综述建议" name="1">
<div>
<SumSug/>
<SumPREdit/>
</div>
</el-tab-pane>
<el-tab-pane label="明细结果" name="2">
<CheckDetails/>
</el-tab-pane>
<el-tab-pane label="危急值" name="3">
</el-tab-pane>
<el-tab-pane label="项目对比" name="4">
<SumItemsType/>
</el-tab-pane>
<el-tab-pane label="横向对比" name="5">
<SumItems/>
</el-tab-pane>
<el-tab-pane label="历次综述" name="6">
<SumHistory/>
</el-tab-pane>
</el-tabs>
</td>
</tr>
</table>
<div>
<el-card style="display: block; ">
<div style="display: flex;">
<div :style="'width:' + (window.pageWidth - 120 - 70) + 'px;'">
<div>
<PatientRegisterBase/>
</div>
<div :style="'height:' + (window.pageHeight < 600 ? 380:window.pageHeight-220) + 'px;'" >
<el-tabs style="margin-left: 10px" v-model="tabChoosed">
<el-tab-pane label="综述建议" name="1">
<div>
<SumSug/>
<SumPREdit/>
</div>
</el-tab-pane>
<el-tab-pane label="明细结果" name="2">
<CheckDetails/>
</el-tab-pane>
<el-tab-pane label="危急值" name="3">
</el-tab-pane>
<el-tab-pane label="项目对比" name="4">
<SumItemsType/>
</el-tab-pane>
<el-tab-pane label="横向对比" name="5">
<SumItems/>
</el-tab-pane>
<el-tab-pane label="历次综述" name="6">
<SumHistory/>
</el-tab-pane>
</el-tabs>
</div>
</div>
<div style="width:120px;">
<ButtonList/>
</div>
</div>
</el-card>
</div>
</template>
<script>
@ -78,7 +78,7 @@ export default {
},
computed: {
...mapState(["dict", "patientRegister", "customerOrg"]),
...mapState(["window","dict", "patientRegister", "customerOrg"]),
},
methods: {

Loading…
Cancel
Save