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

1
src/assets/css/global_button.css

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

2
src/assets/css/global_input.css

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

13
src/components/sumDoctorCheck/SumAsbItemStatus.vue

@ -1,28 +1,28 @@
<template> <template>
<div style="display: flex;background-color: #fff;margin-top: 10px;border-radius: 8px;padding: 10px;"> <div style="display: flex;background-color: #fff;margin-top: 10px;border-radius: 8px;padding: 10px;">
<div class="asbitemListClass"> <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;"> <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">{{ <el-tag style="color:#303133;background-color: white;margin-left: 5px;" v-for="item in data.unCheckedAsbitem" :key="item" size="mini">{{
item }}</el-tag> item }}</el-tag>
</div> </div>
</div> </div>
<div class="asbitemListClass"> <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;"> <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 style="color:#303133;background-color: white;margin-left: 5px;" v-for="item in data.giveUpAsbitem" :key="item" size="mini">{{ item
}}</el-tag> }}</el-tag>
</div> </div>
</div> </div>
<div class="asbitemListClass"> <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;"> <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 style="color:#303133;background-color: white;margin-left: 5px;" v-for="item in data.checkedNullValueItem" :key="item" size="mini">{{ item
}}</el-tag> }}</el-tag>
</div> </div>
</div> </div>
<div class="asbitemListClass"> <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;"> <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">{{ <el-tag style="color: #303133;background-color: white;margin-left: 5px;" v-for="item in data.checkedGiveUpItem" :key="item" size="mini">{{
item }}</el-tag> item }}</el-tag>
@ -119,6 +119,11 @@ export default {
font-size: 8x; font-size: 8x;
} }
.asbTitle {
margin-top: -5px;
font-size:12px;
color: #303133;
}
.contentClass { .contentClass {
display: flex; display: flex;
height: 52px; height: 52px;

24
src/components/sumDoctorCheck/SumHistory.vue

@ -1,26 +1,26 @@
<template> <template>
<div :style="'overflow: scroll;font-size: 14px;width:100%;height:' + divHeight + 'px;'"> <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"> <tbody v-for="(item, index) of tableData" :key="index">
<tr height="40"> <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>
<tr height="10"> <tr height="10">
<td colspan="4"></td> <td colspan="4"></td>
</tr> </tr>
<tr height="40"> <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>
<tr height="20"> <tr height="20">
<td colspan="4"></td> <td colspan="4"></td>
</tr> </tr>
<tr height="40"> <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> </tr>
</tbody> </tbody>
</table> </table>
@ -107,5 +107,9 @@ export default {
::v-deep .el-table td.el-table__cell, ::v-deep .el-table td.el-table__cell,
.el-table th.el-table__cell.is-leaf { .el-table th.el-table__cell.is-leaf {
padding: 0; padding: 0;
}</style>
}
.tdCellClass {
padding: 0 5px;
}
</style>

38
src/components/sumDoctorCheck/SumItems.vue

@ -3,30 +3,17 @@
<div style="width:180;"> <div style="width:180;">
<!-- :row-class-name="tableRowClassName" --> <!-- :row-class-name="tableRowClassName" -->
<el-table :data="RegisterCheckList" width="180" :height="divHeight" border highlight-current-row <el-table :data="RegisterCheckList" width="180" :height="divHeight" border highlight-current-row
@row-click="rowClick" ref="registerCheckList">
@row-click="rowClick" ref="registerCheckList" >
<el-table-column prop="asbitemName" label="组合项目" width="180"> <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>
<template slot="header">
<div style="width: 180px;background-color: #f4f8ff;">组合项目</div>
</template> </template>
-->
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </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 :data="tableData" :height="divHeight" border highlight-current-row>
<el-table-column prop="itemName" label="项目" width="150" /> <el-table-column prop="itemName" label="项目" width="150" />
@ -40,7 +27,7 @@
</el-table-column> </el-table-column>
</el-table> </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"> bordercolor="#909399">
<colgroup> <colgroup>
<col width="150"> <col width="150">
@ -58,11 +45,11 @@
</thead> </thead>
<tbody v-for="(item, index) of tableData" :key="index"> <tbody v-for="(item, index) of tableData" :key="index">
<tr height="30"> <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.unitName }}</td>
<td class="tdCellClass">{{ item.referenceRangeValue }}</td> <td class="tdCellClass">{{ item.referenceRangeValue }}</td>
<td class="tdCellClass" v-for="(item2, index2) of tableCols" :key="index2" <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> </tr>
</tbody> </tbody>
</table> </table>
@ -77,7 +64,7 @@ import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { arrayExistObj, getColorStr } from '@/utlis/proFunc'; import { arrayExistObj, getColorStr } from '@/utlis/proFunc';
export default { export default {
components: {}, components: {},
props: ["patientId","tabChoosed"],
props: ["patientId", "tabChoosed"],
data() { data() {
return { return {
RegisterCheckList: [], RegisterCheckList: [],
@ -239,7 +226,7 @@ export default {
// immediate:true, // immediate:true,
handler(newVal, oldVal) { handler(newVal, oldVal) {
console.log(`watch 总检--横向对比 newVal: ${newVal}, oldVal: ${oldVal} patientId: ${this.patientId} tabChoosed: ${this.tabChoosed}`); 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 { .tdCellClass {
padding: 0 5px; padding: 0 5px;
} }
::v-deep .el-table tr {
background-color: #f4f8ff;
}
</style> </style>

11
src/components/sumDoctorCheck/SumPREdit.vue

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

33
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 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;" <div v-for="item in symbols" :key="item.id" style="margin: 1px; 2px;cursor:pointer;"
@click="insertSymbols(item.displayName)"> @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 }} {{ item.displayName }}
</el-tag> </el-tag>
</div> </div>
</div> </div>
<div style="padding: 5px 0;">录入结果</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> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="btnOkResult">确定</el-button> <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"> <el-dialog title="选择诊断" :visible.sync="dialogDiagnosises" width="800px" :close-on-click-modal="false">
<div style="height: 320px;"> <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-option v-for="item in diagnosisesFilter" :key="item.id" :value="item.id" :label="item.displayName" />
</el-select> </el-select>
</div> </div>
@ -856,7 +857,7 @@ export default {
if (this.detailsDrag) this.detailsDrag.destroy() if (this.detailsDrag) this.detailsDrag.destroy()
this.detailsDrag = Sortable.create(el, { this.detailsDrag = Sortable.create(el, {
animation: 150, // ms, number ms animation: 150, // ms, number ms
//
//
onEnd({ newIndex, oldIndex }) { onEnd({ newIndex, oldIndex }) {
that.isshow = false; that.isshow = false;
const currRow = that.sugDetails.splice(oldIndex, 1)[0]; const currRow = that.sugDetails.splice(oldIndex, 1)[0];
@ -919,22 +920,12 @@ export default {
</script> </script>
<style scoped> <style scoped>
@import '../../assets/css/global_table.css'; @import '../../assets/css/global_table.css';
@import '../../assets/css/global.css';
::v-deep .el-icon-search:before { ::v-deep .el-icon-search:before {
color: #00F; 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 { ::v-deep .el-table__cell {
@ -970,8 +961,14 @@ export default {
height: 23px; height: 23px;
padding: 1px 15px 1px 2px; padding: 1px 15px 1px 2px;
} }
::v-deep .commonFont .el-textarea__inner{
::v-deep .commonFont .el-textarea__inner {
font-family: "Microsoft YaHei"; font-family: "Microsoft YaHei";
} }
::v-deep .diagnosisSelect .el-select-dropdown__wrap {
background-color: #FFF;
max-height: 288px;
}
</style> </style>

6
src/utlis/proFunc.js

@ -315,8 +315,10 @@ exports.setData = setData;
function getColorStr(intColor) { function getColorStr(intColor) {
let color = '000000' let color = '000000'
try { 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) { } catch (error) {
console.log('getColorStr',error) console.log('getColorStr',error)
} }

4
src/views/report/report.vue

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

Loading…
Cancel
Save