pengjun 2 years ago
parent
commit
862c1256bb
  1. 3
      src/assets/css/global_button.css
  2. 4
      src/assets/css/global_input.css
  3. 13
      src/components/sumDoctorCheck/SumAsbItemStatus.vue
  4. 24
      src/components/sumDoctorCheck/SumHistory.vue
  5. 40
      src/components/sumDoctorCheck/SumItems.vue
  6. 11
      src/components/sumDoctorCheck/SumPREdit.vue
  7. 35
      src/components/sumDoctorCheck/SumSug.vue
  8. 6
      src/utlis/proFunc.js
  9. 4
      src/views/report/report.vue

3
src/assets/css/global_button.css

@ -123,4 +123,5 @@
.deleteButton.is-disabled:hover,
.deleteButton.is-disabled:focus {
background-color: rgba(255, 80, 84, 0.4);
}
}

4
src/assets/css/global_input.css

@ -95,7 +95,6 @@ input[type="number"]::-webkit-outer-spin-button {
/* cascader 节点样式 */
.el-cascader-node {
padding: 0 20px 0 10px;
/* 原始 默认 0 30px 0 20px; */
@ -122,4 +121,5 @@ input[type="number"]::-webkit-outer-spin-button {
font-weight: 700;
color: #232748;
font-family: 'NotoSansSC-Bold';
}
}

13
src/components/sumDoctorCheck/SumAsbItemStatus.vue

@ -1,28 +1,28 @@
<template>
<div style="display: flex;background-color: #fff;margin-top: 10px;border-radius: 8px;padding: 10px;">
<div class="asbitemListClass">
<div style="font-size:9px;color: #303133;">未检组合项目</div>
<div class="asbTitle">未检组合项目</div>
<div style="overflow-y:auto; height:68px;width:100%; margin-top:2px;border: 1px solid;">
<el-tag style="color:#303133;background-color: white;margin-left: 5px;" v-for="item in data.unCheckedAsbitem" :key="item" size="mini">{{
item }}</el-tag>
</div>
</div>
<div class="asbitemListClass">
<div style="font-size:9px;color: #303133;">弃检组合项目</div>
<div class="asbTitle">弃检组合项目</div>
<div style="overflow-y:auto; height:68px;width:100%; margin-top:2px;border: 1px solid;">
<el-tag style="color:#303133;background-color: white;margin-left: 5px;" v-for="item in data.giveUpAsbitem" :key="item" size="mini">{{ item
}}</el-tag>
</div>
</div>
<div class="asbitemListClass">
<div style="font-size:9px;color: #303133;">组合项目已检但无值的明细项目</div>
<div class="asbTitle">组合项目已检但无值的明细项目</div>
<div style="overflow-y:auto; height:68px;width:100%; margin-top:2px;border: 1px solid;">
<el-tag style="color:#303133;background-color: white;margin-left: 5px;" v-for="item in data.checkedNullValueItem" :key="item" size="mini">{{ item
}}</el-tag>
</div>
</div>
<div class="asbitemListClass">
<div style="font-size:9px;color: #303133;">组合项目已检但弃检的明细项目</div>
<div class="asbTitle">组合项目已检但弃检的明细项目</div>
<div style="overflow-y:auto; height:68px;width:100%; margin-top:2px;border: 1px solid;">
<el-tag style="color: #303133;background-color: white;margin-left: 5px;" v-for="item in data.checkedGiveUpItem" :key="item" size="mini">{{
item }}</el-tag>
@ -119,6 +119,11 @@ export default {
font-size: 8x;
}
.asbTitle {
margin-top: -5px;
font-size:12px;
color: #303133;
}
.contentClass {
display: flex;
height: 52px;

24
src/components/sumDoctorCheck/SumHistory.vue

@ -1,26 +1,26 @@
<template>
<div :style="'overflow: scroll;font-size: 14px;width:100%;height:' + divHeight + 'px;'">
<table width="800">
<table width="100%">
<tbody v-for="(item, index) of tableData" :key="index">
<tr height="40">
<td width="100">体检次数</td>
<td width="100">{{ item.medicalTimes }}</td>
<td width="200">总检医生{{ item.summaryDoctor }}</td>
<td>总检日期{{ item.summaryDate }}</td>
<td width="100" class="tdCellClass">体检次数</td>
<td width="100" class="tdCellClass">{{ item.medicalTimes }}</td>
<td width="200" class="tdCellClass">总检医生{{ item.summaryDoctor }}</td>
<td class="tdCellClass">总检日期{{ item.summaryDate }}</td>
</tr>
<tr height="10">
<td colspan="4"></td>
</tr>
<tr height="40">
<td width="100" style="vertical-align: top;">检查综述</td>
<td colspan="3" v-html="item.sumSummarys"></td>
<td width="100" class="tdCellClass" style="vertical-align: top;">检查综述</td>
<td colspan="3" class="tdCellClass" v-html="item.sumSummarys"></td>
</tr>
<tr height="20">
<td colspan="4"></td>
</tr>
<tr height="40">
<td width="100" style="vertical-align: top;">医生建议</td>
<td colspan="3" v-html="item.sumSuggestions"></td>
<td width="100" class="tdCellClass" style="vertical-align: top;">医生建议</td>
<td colspan="3" class="tdCellClass" v-html="item.sumSuggestions"></td>
</tr>
</tbody>
</table>
@ -107,5 +107,9 @@ export default {
::v-deep .el-table td.el-table__cell,
.el-table th.el-table__cell.is-leaf {
padding: 0;
}</style>
}
.tdCellClass {
padding: 0 5px;
}
</style>

40
src/components/sumDoctorCheck/SumItems.vue

@ -3,30 +3,17 @@
<div style="width:180;">
<!-- :row-class-name="tableRowClassName" -->
<el-table :data="RegisterCheckList" width="180" :height="divHeight" border highlight-current-row
@row-click="rowClick" ref="registerCheckList">
<el-table-column prop="asbitemName" label="组合项目" width="180">
<!--
<template slot-scope="scope">
<div>
<el-tooltip class="item" effect="dark" content="未检" placement="top">
<i v-show="scope.row.completeFlag == '0'" class="el-icon-circle-plus"
style="font-size: 18px;color: red;" />
</el-tooltip>
<el-tooltip class="item" effect="dark" content="已检" placement="top">
<i v-show="scope.row.completeFlag == '1'" class="el-icon-success" style="font-size: 18px;color: green;" />
</el-tooltip>
<el-tooltip class="item" effect="dark" content="弃检" placement="top">
<i v-show="scope.row.completeFlag == '2'" class="el-icon-remove" style="font-size: 18px;" />
</el-tooltip>
{{ scope.row.asbitemName }}
</div>
@row-click="rowClick" ref="registerCheckList" >
<el-table-column prop="asbitemName" label="组合项目" width="180">
<template slot="header">
<div style="width: 180px;background-color: #f4f8ff;">组合项目</div>
</template>
-->
</el-table-column>
</el-table>
</div>
<div :style="'width:' + (window.pageWidth - 180 - 110 - 15) + 'px;'">
<div :style="`width:${(window.pageWidth - 180 - 110 - 15)}px;`">
<!--
<el-table :data="tableData" :height="divHeight" border highlight-current-row>
<el-table-column prop="itemName" label="项目" width="150" />
@ -40,7 +27,7 @@
</el-table-column>
</el-table>
-->
<table width="100%" style="font-size:14px;text-align: center;border-collapse:collapse;" border="1" cellspacing="0"
<table width="100%" style="margin-left: 10px;font-size:14px;text-align: center;border-collapse:collapse;" border="1" cellspacing="0"
bordercolor="#909399">
<colgroup>
<col width="150">
@ -58,11 +45,11 @@
</thead>
<tbody v-for="(item, index) of tableData" :key="index">
<tr height="30">
<td class="tdCellClass" style="text-align: left;font-weight: bolder;">{{ item.itemName }}</td>
<td class="tdCellClass" style="text-align: left;">{{ item.itemName }}</td>
<td class="tdCellClass">{{ item.unitName }}</td>
<td class="tdCellClass">{{ item.referenceRangeValue }}</td>
<td class="tdCellClass" v-for="(item2, index2) of tableCols" :key="index2"
:style="`color: ${getColorStr(item[item2 + '_color'])};`" v-html="item[item2]"></td>
:style="`color: ${item.unitName == '小结' ? '#000000': getColorStr(item[item2 + '_color'])};`" v-html="item[item2]"></td>
</tr>
</tbody>
</table>
@ -77,7 +64,7 @@ import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { arrayExistObj, getColorStr } from '@/utlis/proFunc';
export default {
components: {},
props: ["patientId","tabChoosed"],
props: ["patientId", "tabChoosed"],
data() {
return {
RegisterCheckList: [],
@ -239,7 +226,7 @@ export default {
// immediate:true,
handler(newVal, oldVal) {
console.log(`watch 总检--横向对比 newVal: ${newVal}, oldVal: ${oldVal} patientId: ${this.patientId} tabChoosed: ${this.tabChoosed}`);
if(newVal != oldVal && this.tabChoosed == '5') this.registerCheckList(this.patientId)
if (newVal != oldVal && this.tabChoosed == '5') this.registerCheckList(this.patientId)
}
},
},
@ -251,5 +238,8 @@ export default {
.tdCellClass {
padding: 0 5px;
}
::v-deep .el-table tr {
background-color: #f4f8ff;
}
</style>

11
src/components/sumDoctorCheck/SumPREdit.vue

@ -5,7 +5,7 @@
<span class="query">体检结论</span>
<el-select v-model="dataTransOpts.tableS.patient_register.medicalConclusionId" filterable clearable
:disabled="dataTransOpts.tableS.patient_register.completeFlag == '3' ? true : false" placeholder="请选择"
style="width: 80px" size="small">
style="width: 80px" size="small" popper-class="sumarySelect" :popper-append-to-body="false">
<el-option-group v-for="group in medicalConclusionGroup" :key="group.value" :label="group.label">
<el-option v-for="item in group.options" :key="item.id" :label="item.displayName"
:value="item.id" />
@ -73,8 +73,7 @@ export default {
},
computed: {
...mapState(["dict", "dataTransOpts"]),
...mapState(["dict","window", "dataTransOpts"]),
},
methods: {
//
@ -138,6 +137,12 @@ export default {
color: black;
font-weight: 700;
}
::v-deep .sumarySelect .el-select-dropdown__wrap {
background-color: #FFF;
max-height: 500px;
}
.query {
font-size: 14px;
margin-left: 10px;

35
src/components/sumDoctorCheck/SumSug.vue

@ -202,14 +202,15 @@
<div style="overflow-y:auto; width:100%;display: flex;flex-wrap: wrap;align-content: flex-start;">
<div v-for="item in symbols" :key="item.id" style="margin: 1px; 2px;cursor:pointer;"
@click="insertSymbols(item.displayName)">
<el-tag style="padding: 0 3px;height: 24px;line-height: 24px;font-size: 15px;color: #303133;background-color: white;">
<el-tag
style="padding: 0 3px;height: 24px;line-height: 24px;font-size: 15px;color: #303133;background-color: white;">
{{ item.displayName }}
</el-tag>
</div>
</div>
<div style="padding: 5px 0;">录入结果</div>
<el-input id="resultBox" class="commonFont" style="width: 100%;" type="textarea" :autosize="{ minRows: 4, maxRows: 4 }"
v-model="curResult" />
<el-input id="resultBox" class="commonFont" style="width: 100%;" type="textarea"
:autosize="{ minRows: 4, maxRows: 4 }" v-model="curResult" />
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="btnOkResult">确定</el-button>
@ -219,8 +220,8 @@
<el-dialog title="选择诊断" :visible.sync="dialogDiagnosises" width="800px" :close-on-click-modal="false">
<div style="height: 320px;">
<el-select v-model="choosedDiagnosisIds" multiple placeholder="请选择" style="width: 100%;"
@change="changeDiagnosis" filterable class="no-animation">
<el-select v-model="choosedDiagnosisIds" multiple placeholder="请选择" style="width: 100%;" filterable
popper-class="diagnosisSelect" :popper-append-to-body="false">
<el-option v-for="item in diagnosisesFilter" :key="item.id" :value="item.id" :label="item.displayName" />
</el-select>
</div>
@ -856,7 +857,7 @@ export default {
if (this.detailsDrag) this.detailsDrag.destroy()
this.detailsDrag = Sortable.create(el, {
animation: 150, // ms, number ms
//
//
onEnd({ newIndex, oldIndex }) {
that.isshow = false;
const currRow = that.sugDetails.splice(oldIndex, 1)[0];
@ -919,22 +920,12 @@ export default {
</script>
<style scoped>
@import '../../assets/css/global_table.css';
@import '../../assets/css/global.css';
::v-deep .el-icon-search:before {
color: #00F;
}
.no-animation {
animation: none !important;
-webkit-animation: none !important;
}
::v-deep .el-select {
&.el-select-dropdown {
animation: none !important;
-webkit-animation: none !important;
}
}
/* 设置单元格内内容顶对齐 */
::v-deep .el-table__cell {
@ -970,8 +961,14 @@ export default {
height: 23px;
padding: 1px 15px 1px 2px;
}
::v-deep .commonFont .el-textarea__inner{
::v-deep .commonFont .el-textarea__inner {
font-family: "Microsoft YaHei";
}
::v-deep .diagnosisSelect .el-select-dropdown__wrap {
background-color: #FFF;
max-height: 288px;
}
</style>

6
src/utlis/proFunc.js

@ -315,8 +315,10 @@ exports.setData = setData;
function getColorStr(intColor) {
let color = '000000'
try {
color += Number(intColor).toString(16)
color = color.substring(color.length - 6)
if(intColor){
color += Number(intColor).toString(16)
color = color.substring(color.length - 6)
}
} catch (error) {
console.log('getColorStr',error)
}

4
src/views/report/report.vue

@ -21,10 +21,10 @@
Math.floor((window.pageWidth - 110 - 45 - 8) / 4) +
'px;'
">
<RegisterCheckStatus :patientRegisterId="dataTransOpts.tableS.patient_register.id"/>
<RegisterCheckStatus :patientRegisterId="dataTransOpts.tableS.patient_register.id" />
</div>
</div>
<SumAsbItemStatus :patientRegisterId="dataTransOpts.tableS.patient_register.id"/>
<SumAsbItemStatus :patientRegisterId="dataTransOpts.tableS.patient_register.id" :tabChoosed="'1'"/>
</div>
<div style="margin-left: 10px; ">
<BtnReport />

Loading…
Cancel
Save