9 changed files with 1037 additions and 13 deletions
After Width: | Height: | Size: 552 KiB |
After Width: | Height: | Size: 3.4 MiB |
After Width: | Height: | Size: 2.3 MiB |
@ -0,0 +1,514 @@ |
|||||
|
<template> |
||||
|
<div id="operation-record" style=" background: #fff; padding: 10px 20px 50px 20px;page-break-after:always"> |
||||
|
<div class="btnBox_top"> |
||||
|
<div v-if="!onlyRead && isPlatform"> |
||||
|
<el-button v-print="print" size="small" @click="handlePrint">打印</el-button> |
||||
|
<template v-if="isCreator"> |
||||
|
<el-button type="primary" size="small" @click="handleSaveTable">保存</el-button> |
||||
|
<el-button type="danger" size="small" @click="formDelete">删除</el-button> |
||||
|
</template> |
||||
|
</div> |
||||
|
<div style="margin: 10px 0;text-align: left;color: #409EFF"> |
||||
|
<div> |
||||
|
操作者:{{ creator.doctorName }} |
||||
|
</div> |
||||
|
<div> |
||||
|
工号:{{ creator.doctorCode }} |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div id="threeMirror" style="width: 840px;padding-right: 8px;text-align: left;line-height: 28px"> |
||||
|
<div v-if="!isDev" class="flex j-c"> |
||||
|
<img width="450" src="@/assets/img/xianganlogo.png"> |
||||
|
</div> |
||||
|
<hr v-if="!isDev"> |
||||
|
<p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;"> |
||||
|
房角镜检查结果记录 |
||||
|
</p> |
||||
|
<!--患者信息--> |
||||
|
<div class="flex"> |
||||
|
<div class="flex a-c item">姓名:<el-input v-model="confirmData.patientName" style="flex: 1" placeholder="" /></div> |
||||
|
<div class="flex a-c item">登记号:<el-input v-model="confirmData.patientId" style="flex: 1" placeholder="" /></div> |
||||
|
<div class="flex a-c item">性别:<el-input v-model="confirmData.patientGender" style="flex: 1" placeholder="" /></div> |
||||
|
<div class="flex a-c item">年龄:<el-input v-model="confirmData.patientAge" style="flex: 1" placeholder="" /></div> |
||||
|
</div> |
||||
|
<!--术前判断--> |
||||
|
<div> |
||||
|
<table> |
||||
|
<tr> |
||||
|
<td rowspan="5"> |
||||
|
眼底情况 |
||||
|
</td> |
||||
|
<td>右眼</td> |
||||
|
<td>左眼</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>眼压: mmHg(NCT)</td> |
||||
|
<td>眼压: mmHg(NCT)</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td> |
||||
|
<div style="padding: 10px 0" @click="editImg('fjOD')"> |
||||
|
<img v-if="confirmData.qfjqkOd" class="img_show" :src="confirmData.qfjqkOd"> |
||||
|
</div> |
||||
|
</td> |
||||
|
<td> |
||||
|
<div style="padding: 10px 0" @click="editImg('fjOS')"> |
||||
|
<img v-if="confirmData.qfjqkOs" class="img_show" :src="confirmData.qfjqkOs"> |
||||
|
</div> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td> |
||||
|
<div style="padding: 5px"> |
||||
|
<div class="flex" style="text-align: left"> |
||||
|
异常: |
||||
|
<el-checkbox-group v-model="checkListOd" style="flex:1"> |
||||
|
<el-checkbox label="无" /> |
||||
|
<el-checkbox label="新生血管" /> |
||||
|
<el-checkbox label="色素" /> |
||||
|
<el-checkbox label="硅油小滴" /> |
||||
|
<el-checkbox label="其他"> |
||||
|
其他: |
||||
|
<el-select v-model="confirmData.ycqtOd" style="width: 120px" placeholder="" clearable filterable allow-create> |
||||
|
<el-option |
||||
|
v-for="item in other" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value" |
||||
|
/> |
||||
|
</el-select> |
||||
|
</el-checkbox> |
||||
|
</el-checkbox-group> |
||||
|
</div> |
||||
|
</div> |
||||
|
</td> |
||||
|
<td> |
||||
|
<div style="padding: 5px"> |
||||
|
<div class="flex" style="text-align: left"> |
||||
|
异常: |
||||
|
<el-checkbox-group v-model="checkListOs" style="flex:1"> |
||||
|
<el-checkbox label="无" /> |
||||
|
<el-checkbox label="新生血管" /> |
||||
|
<el-checkbox label="色素" /> |
||||
|
<el-checkbox label="硅油小滴" /> |
||||
|
<el-checkbox label="其他"> |
||||
|
其他: |
||||
|
<el-select v-model="confirmData.ycqtOs" style="width: 120px" placeholder="" clearable filterable allow-create> |
||||
|
<el-option |
||||
|
v-for="item in other" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value" |
||||
|
/> |
||||
|
</el-select> |
||||
|
</el-checkbox> |
||||
|
</el-checkbox-group> |
||||
|
</div> |
||||
|
</div> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td> |
||||
|
<div> |
||||
|
房角分类: |
||||
|
<el-select v-model="confirmData.fjflOd" style="width: 120px" placeholder="" clearable filterable allow-create> |
||||
|
<el-option |
||||
|
v-for="item in options" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value" |
||||
|
/> |
||||
|
</el-select>( |
||||
|
<el-select v-model="confirmData.fjflOd2" style="width: 120px" placeholder="" clearable filterable allow-create> |
||||
|
<el-option |
||||
|
v-for="item in options2" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value" |
||||
|
/> |
||||
|
</el-select>) |
||||
|
</div> |
||||
|
</td> |
||||
|
<td> |
||||
|
<div> |
||||
|
房角分类: |
||||
|
<el-select v-model="confirmData.fjflOs" style="width: 120px" placeholder="" clearable filterable allow-create> |
||||
|
<el-option |
||||
|
v-for="item in options" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value" |
||||
|
/> |
||||
|
</el-select>( |
||||
|
<el-select v-model="confirmData.fjflOs2" style="width: 120px" placeholder="" clearable filterable allow-create> |
||||
|
<el-option |
||||
|
v-for="item in options2" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value" |
||||
|
/> |
||||
|
</el-select>) |
||||
|
</div> |
||||
|
</td> |
||||
|
</tr> |
||||
|
</table> |
||||
|
</div> |
||||
|
<div class="flex j-c" style="margin: 30px 0"> |
||||
|
Scheie房角静态分级参考 |
||||
|
</div> |
||||
|
<div class="flex j-c"> |
||||
|
<img class="img2_show" src="@/assets/img/fundus.png"> |
||||
|
</div> |
||||
|
<div class="flex flex-end a-c" style="margin-top: 10px"> |
||||
|
<span>操作者:</span> |
||||
|
<img |
||||
|
v-if="confirmData.checker" |
||||
|
:src="confirmData.checker" |
||||
|
alt="" |
||||
|
style="width: 80px;height: 50px;border-style:none;" |
||||
|
> |
||||
|
<span style="margin-left: 80px">日期:</span> |
||||
|
<el-date-picker |
||||
|
v-model="confirmData.jlDate" |
||||
|
style="width: 120px" |
||||
|
type="date" |
||||
|
value-format="yyyy-MM-dd" |
||||
|
/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<img-editor v-if="editorShow" ref="imgEditorRef" :is-od-or-os="this.eyeType" @closeDialog="closeDialog" @fullImgBack="fullImgBack" /> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import ImgEditor from '@/components/360View/img-editor.vue' |
||||
|
|
||||
|
export default { |
||||
|
name: 'Gonioscope', |
||||
|
components: { ImgEditor }, |
||||
|
props: { |
||||
|
isDev: { |
||||
|
type: Boolean |
||||
|
}, |
||||
|
onlyRead: { |
||||
|
type: Boolean, |
||||
|
default: false |
||||
|
}, |
||||
|
isPlatform: { |
||||
|
type: Boolean, |
||||
|
default: true |
||||
|
}, |
||||
|
patientDetail: { |
||||
|
type: Object |
||||
|
}, |
||||
|
caseId: { |
||||
|
type: String, |
||||
|
default: '' |
||||
|
}, |
||||
|
isCreator: { |
||||
|
type: Boolean, |
||||
|
default: true |
||||
|
}, |
||||
|
// 操作者 |
||||
|
creator: { |
||||
|
type: Object |
||||
|
} |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
printHidden: true, |
||||
|
print: { |
||||
|
id: 'threeMirror', |
||||
|
closeCallback: () => { |
||||
|
this.printHidden = true |
||||
|
} |
||||
|
}, |
||||
|
other: [ |
||||
|
{ |
||||
|
value: 'Schlemm管充血', |
||||
|
label: 'Schlemm管充血' |
||||
|
}, { |
||||
|
value: '小梁网出血', |
||||
|
label: '小梁网出血' |
||||
|
}, { |
||||
|
value: '房角后退', |
||||
|
label: '房角后退' |
||||
|
}, { |
||||
|
value: '睫状体分离', |
||||
|
label: '睫状体分离' |
||||
|
}, { |
||||
|
value: '梳状韧带', |
||||
|
label: '梳状韧带' |
||||
|
}, { |
||||
|
value: '后胚胎环', |
||||
|
label: '后胚胎环' |
||||
|
}, { |
||||
|
value: '虹膜附止高位', |
||||
|
label: '虹膜附止高位' |
||||
|
} |
||||
|
], |
||||
|
options: [ |
||||
|
{ |
||||
|
value: 'W', |
||||
|
label: 'W' |
||||
|
}, { |
||||
|
value: 'N1', |
||||
|
label: 'N1' |
||||
|
}, { |
||||
|
value: 'N2', |
||||
|
label: 'N2' |
||||
|
}, { |
||||
|
value: 'N3', |
||||
|
label: 'N3' |
||||
|
}, { |
||||
|
value: 'N4', |
||||
|
label: 'N4' |
||||
|
} |
||||
|
], |
||||
|
options2: [ |
||||
|
{ |
||||
|
value: '开放', |
||||
|
label: '开放' |
||||
|
}, { |
||||
|
value: '不规则前粘连', |
||||
|
label: '不规则前粘连' |
||||
|
}, { |
||||
|
value: '<1/2粘连', |
||||
|
label: '<1/2粘连' |
||||
|
}, { |
||||
|
value: '>1/2粘连', |
||||
|
label: '>1/2粘连' |
||||
|
} |
||||
|
], |
||||
|
eyeType: '', |
||||
|
editorShow: false, |
||||
|
confirmData: { |
||||
|
patientAge: '', |
||||
|
patientDate: '', |
||||
|
patientGender: '', |
||||
|
patientName: '', |
||||
|
patientId: '', |
||||
|
ycOd: '', // 异常 |
||||
|
ycOs: '', |
||||
|
ycqtOd: '', // 异常其他 |
||||
|
ycqtOs: '', |
||||
|
fjflOd: '', // 房角分类 |
||||
|
fjflOd2: '', |
||||
|
fjflOs: '', |
||||
|
fjflOs2: '', |
||||
|
checker: '', |
||||
|
jlDate: '', |
||||
|
qfjqkOd: '', // 前房角情况右眼图片 |
||||
|
qfjqkOs: '' |
||||
|
}, |
||||
|
checkListOd: [], |
||||
|
checkListOs: [], |
||||
|
checkList2Od: [], |
||||
|
checkList2Os: [], |
||||
|
caseList: [ |
||||
|
'A:圆形裂孔', |
||||
|
'B:有盖的裂孔', |
||||
|
'C:有瓣膜的裂孔(马蹄形裂孔)', |
||||
|
'D:伴有向后卷边的瓣膜裂孔', |
||||
|
'E:固定皱褶', |
||||
|
'F:锯齿缘断离', |
||||
|
'G:视网膜出血', |
||||
|
'H:视网膜色素沉着', |
||||
|
'I:分界线', |
||||
|
'J:铺路石变性', |
||||
|
'K:周边部囊状变性', |
||||
|
'L:老年性视网膜劈裂', |
||||
|
'M:视网膜动脉旁的渗出物', |
||||
|
'N:被冷冻癜痕围绕的马蹄裂孔' |
||||
|
], |
||||
|
caseRight: [ |
||||
|
'O:玻璃体浑浊(需加文字说明)', |
||||
|
'P:被电凝癜痕围绕的环形扣压瘠上的两个圆孔,其上方为视网膜再脱离', |
||||
|
'Q:睫状体平坦部的无色素上皮脱离', |
||||
|
'R:脉络膜肿块(需加文字说明)', |
||||
|
'S:被电凝癜痕围绕的放射状巩膜扣压瘠上的马蹄形裂孔', |
||||
|
'T:网格样变性', |
||||
|
'U:伴有萎缩性圆形裂孔的网格样变性', |
||||
|
'V:涡静脉壶腹', |
||||
|
'W:放射状视网膜皱褶', |
||||
|
'X:视网膜前出血', |
||||
|
'Y:视网膜变薄区' |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
watch: { |
||||
|
caseId(val) { |
||||
|
if (val) { |
||||
|
this.getInfoDetail() |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
created() { |
||||
|
this.getInfoDetail() |
||||
|
}, |
||||
|
methods: { |
||||
|
editImg(eyeType) { |
||||
|
this.eyeType = eyeType |
||||
|
this.editorShow = true |
||||
|
this.$nextTick(() => { |
||||
|
this.$refs.imgEditorRef.init() |
||||
|
}) |
||||
|
}, |
||||
|
closeDialog() { |
||||
|
this.editorShow = false |
||||
|
}, |
||||
|
fullImgBack(val) { |
||||
|
if (!val) return |
||||
|
if (this.eyeType === 'fjOD') { |
||||
|
this.confirmData.qfjqkOd = val |
||||
|
} else { |
||||
|
this.confirmData.qfjqkOs = val |
||||
|
} |
||||
|
}, |
||||
|
getInfoDetail() { |
||||
|
this.$http.get('/jcjg/getFjjjcjg', { params: { |
||||
|
caseId: this.caseId, |
||||
|
patientId: this.patientDetail.patientId |
||||
|
}}).then(data => { |
||||
|
const detail = data.data.data |
||||
|
this.confirmData = detail |
||||
|
this.handleCheck() |
||||
|
if (!detail.jzNumber) { |
||||
|
this.setData() |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
setData() { |
||||
|
const date = this.$moment().format('YYYY-MM-DD') |
||||
|
this.confirmData.jlDate = date |
||||
|
const userData = JSON.parse(window.sessionStorage.getItem('qg-userData')) |
||||
|
this.confirmData.checker = userData.signImgBase |
||||
|
this.confirmData.patientName = this.patientDetail.patientName |
||||
|
this.confirmData.patientAge = this.patientDetail.patientAge |
||||
|
this.confirmData.patientGender = this.patientDetail.patientSex |
||||
|
this.confirmData.patientId = this.patientDetail.patientId |
||||
|
|
||||
|
this.confirmData.qfjqkOd = require('@/assets/img/ill.png') |
||||
|
this.confirmData.qfjqkOs = require('@/assets/img/ill.png') |
||||
|
}, |
||||
|
handlePrint() { |
||||
|
this.printHidden = false |
||||
|
if (!this.isCreator) { |
||||
|
return |
||||
|
} |
||||
|
this.handleSaveTable() |
||||
|
}, |
||||
|
handleCheck() { |
||||
|
this.checkListOd = this.confirmData.ycOd ? this.confirmData.ycOd.split('/') : [] |
||||
|
this.checkListOs = this.confirmData.ycOs ? this.confirmData.ycOs.split('/') : [] |
||||
|
}, |
||||
|
hanldeSaveCheck() { |
||||
|
this.confirmData.ycOd = this.checkListOd.join('/') |
||||
|
this.confirmData.ycOs = this.checkListOs.join('/') |
||||
|
}, |
||||
|
// 保存 |
||||
|
handleSaveTable() { |
||||
|
this.hanldeSaveCheck() |
||||
|
this.confirmData.jzNumber = window.sessionStorage.getItem('jzNumber') |
||||
|
this.$http.post('/jcjg/saveFjjjcjg', { |
||||
|
...this.confirmData, |
||||
|
caseId: this.caseId |
||||
|
}).then(() => { |
||||
|
this.$emit('handleSaveTable') |
||||
|
}) |
||||
|
}, |
||||
|
// 删除 |
||||
|
formDelete() { |
||||
|
this.$confirmFun('确定删除吗?').then(() => { |
||||
|
this.$http.post('/jcjg/delFjjjcjg', { |
||||
|
id: this.caseId |
||||
|
}).then(() => { |
||||
|
this.$message.success('删除成功') |
||||
|
this.$emit('formDelete', 'del') |
||||
|
}) |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
#operation-record{ |
||||
|
height: 100%; |
||||
|
overflow: auto; |
||||
|
background: #fff; |
||||
|
} |
||||
|
::v-deep .el-icon-arrow-up{ |
||||
|
display: none; |
||||
|
} |
||||
|
.flex{ |
||||
|
display: flex; |
||||
|
} |
||||
|
.a-c{ |
||||
|
align-items: center; |
||||
|
} |
||||
|
.j-c{ |
||||
|
justify-content: center; |
||||
|
} |
||||
|
.flex-end{ |
||||
|
justify-content: flex-end; |
||||
|
} |
||||
|
.caseItem{ |
||||
|
width: 200px; |
||||
|
padding-right: 10px; |
||||
|
} |
||||
|
.caseDetail{ |
||||
|
padding: 0 20px; |
||||
|
display: flex; |
||||
|
font-size: 14px; |
||||
|
line-height: 24px; |
||||
|
} |
||||
|
.item{ |
||||
|
&:not(:last-child){ |
||||
|
margin-right: 15px; |
||||
|
} |
||||
|
} |
||||
|
tr td{ |
||||
|
border: 1px solid #000; |
||||
|
text-align: center; |
||||
|
} |
||||
|
table{ |
||||
|
width: 100%; |
||||
|
} |
||||
|
.img_show{ |
||||
|
height: 240px; |
||||
|
} |
||||
|
.img2_show{ |
||||
|
width: 450px; |
||||
|
height: 300px; |
||||
|
} |
||||
|
.btnBox_top{ |
||||
|
position: fixed; |
||||
|
z-index: 999; |
||||
|
right: 90px; |
||||
|
} |
||||
|
::v-deep .el-input__inner { |
||||
|
border: none; |
||||
|
height: 26px !important; |
||||
|
line-height: 26px !important; |
||||
|
font-size: 16px; |
||||
|
text-align: center; |
||||
|
} |
||||
|
|
||||
|
::v-deep .el-input__inner { |
||||
|
border-bottom: 1px solid #ccc; |
||||
|
border-radius: 0; |
||||
|
padding: 0; |
||||
|
} |
||||
|
::v-deep .el-input__prefix { |
||||
|
display: none; |
||||
|
} |
||||
|
::v-deep .el-checkbox__label{ |
||||
|
font-size: 16px; |
||||
|
color: #000; |
||||
|
} |
||||
|
::v-deep .el-checkbox{ |
||||
|
margin-right: 15px; |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,438 @@ |
|||||
|
<template> |
||||
|
<div id="operation-record" style=" background: #fff; padding: 10px 20px 50px 20px;page-break-after:always"> |
||||
|
<div class="btnBox_top"> |
||||
|
<div v-if="!onlyRead && isPlatform"> |
||||
|
<el-button v-print="print" size="small" @click="handlePrint">打印</el-button> |
||||
|
<template v-if="isCreator"> |
||||
|
<el-button type="primary" size="small" @click="handleSaveTable">保存</el-button> |
||||
|
<el-button type="danger" size="small" @click="formDelete">删除</el-button> |
||||
|
</template> |
||||
|
</div> |
||||
|
<div style="margin: 10px 0;text-align: left;color: #409EFF"> |
||||
|
<div> |
||||
|
操作者:{{ creator.doctorName }} |
||||
|
</div> |
||||
|
<div> |
||||
|
工号:{{ creator.doctorCode }} |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div id="threeMirror" style="width: 840px;padding-right: 8px;text-align: left;line-height: 28px"> |
||||
|
<div v-if="!isDev" class="flex j-c"> |
||||
|
<img width="450" src="@/assets/img/xianganlogo.png"> |
||||
|
</div> |
||||
|
<hr v-if="!isDev"> |
||||
|
<p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;"> |
||||
|
三面镜检查结果记录 |
||||
|
</p> |
||||
|
<!--患者信息--> |
||||
|
<div class="flex"> |
||||
|
<div class="flex a-c item">姓名:<el-input v-model="confirmData.patientName" style="flex: 1" placeholder="" /></div> |
||||
|
<div class="flex a-c item">登记号:<el-input v-model="confirmData.patientId" style="flex: 1" placeholder="" /></div> |
||||
|
<div class="flex a-c item">性别:<el-input v-model="confirmData.patientGender" style="flex: 1" placeholder="" /></div> |
||||
|
<div class="flex a-c item">年龄:<el-input v-model="confirmData.patientAge" style="flex: 1" placeholder="" /></div> |
||||
|
</div> |
||||
|
<!--术前判断--> |
||||
|
<div> |
||||
|
<table> |
||||
|
<tr> |
||||
|
<td rowspan="3"> |
||||
|
眼底情况 |
||||
|
</td> |
||||
|
<td>右眼</td> |
||||
|
<td>左眼</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td> |
||||
|
<div style="padding: 10px 0" @click="editImg('OD')"> |
||||
|
<img v-if="confirmData.ydqkOd" class="img_show" :src="confirmData.ydqkOd"> |
||||
|
</div> |
||||
|
</td> |
||||
|
<td> |
||||
|
<div style="padding: 10px 0" @click="editImg('OS')"> |
||||
|
<img v-if="confirmData.ydqkOs" class="img_show" :src="confirmData.ydqkOs"> |
||||
|
</div> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td> |
||||
|
<div style="padding: 5px"> |
||||
|
<div class="flex" style="text-align: left"> |
||||
|
变性: |
||||
|
<el-checkbox-group v-model="checkListOd" style="flex:1"> |
||||
|
<el-checkbox label="非压迫白/黑" /> |
||||
|
<el-checkbox label="霜样" /> |
||||
|
<el-checkbox label="铺路石样" /> |
||||
|
<el-checkbox label="囊样" /> |
||||
|
<el-checkbox label="视网膜劈裂" /> |
||||
|
<el-checkbox label="格子样" /> |
||||
|
<el-checkbox label="蜗牛迹样" /> |
||||
|
<el-checkbox label="其它" /> |
||||
|
</el-checkbox-group> |
||||
|
</div> |
||||
|
<div class="flex" style="text-align: left"> |
||||
|
裂孔: |
||||
|
<el-checkbox-group v-model="checkList2Od" style="flex:1"> |
||||
|
<el-checkbox label="萎缩" /> |
||||
|
<el-checkbox label="伴牵拉" /> |
||||
|
<el-checkbox label="伴脱离" /> |
||||
|
</el-checkbox-group> |
||||
|
</div> |
||||
|
<div style="text-align: left"> |
||||
|
其它病灶及异常记录: |
||||
|
<div> |
||||
|
<el-input v-model="confirmData.qtbzjycjlOd" type="textarea" :autosize="{minRows: 3, maxRows: 3}" /> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</td> |
||||
|
<td> |
||||
|
<div style="padding: 5px"> |
||||
|
<div class="flex" style="text-align: left"> |
||||
|
变性: |
||||
|
<el-checkbox-group v-model="checkListOs" style="flex:1"> |
||||
|
<el-checkbox label="非压迫白/黑" /> |
||||
|
<el-checkbox label="霜样" /> |
||||
|
<el-checkbox label="铺路石样" /> |
||||
|
<el-checkbox label="囊样" /> |
||||
|
<el-checkbox label="视网膜劈裂" /> |
||||
|
<el-checkbox label="格子样" /> |
||||
|
<el-checkbox label="蜗牛迹样" /> |
||||
|
<el-checkbox label="其它" /> |
||||
|
</el-checkbox-group> |
||||
|
</div> |
||||
|
<div class="flex" style="text-align: left"> |
||||
|
裂孔: |
||||
|
<el-checkbox-group v-model="checkList2Os" style="flex:1"> |
||||
|
<el-checkbox label="萎缩" /> |
||||
|
<el-checkbox label="伴牵拉" /> |
||||
|
<el-checkbox label="伴脱离" /> |
||||
|
</el-checkbox-group> |
||||
|
</div> |
||||
|
<div style="text-align: left"> |
||||
|
其它病灶及异常记录: |
||||
|
<div> |
||||
|
<el-input v-model="confirmData.qtbzjycjlOs" type="textarea" :autosize="{minRows: 3, maxRows: 3}" /> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</td> |
||||
|
</tr> |
||||
|
</table> |
||||
|
</div> |
||||
|
<div class="flex j-c" style="margin: 10px 0"> |
||||
|
眼底异常绘图参 |
||||
|
</div> |
||||
|
<div class="flex"> |
||||
|
<img class="img2_show" src="@/assets/img/threeCheck.png"> |
||||
|
<div class="caseDetail"> |
||||
|
<div> |
||||
|
<div v-for="(item,index) in caseList" :key="index" class="caseItem"> |
||||
|
{{ item }} |
||||
|
</div> |
||||
|
</div> |
||||
|
<div> |
||||
|
<div v-for="(item,index) in caseRight" :key="`${index}_`" class="caseItem"> |
||||
|
{{ item }} |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="flex flex-end a-c" style="margin-top: 10px"> |
||||
|
<span>操作者:</span> |
||||
|
<img |
||||
|
v-if="confirmData.checker" |
||||
|
:src="confirmData.checker" |
||||
|
alt="" |
||||
|
style="width: 80px;height: 50px;border-style:none;" |
||||
|
> |
||||
|
<span style="margin-left: 80px">日期:</span> |
||||
|
<el-date-picker |
||||
|
v-model="confirmData.jlDate" |
||||
|
style="width: 120px" |
||||
|
type="date" |
||||
|
value-format="yyyy-MM-dd" |
||||
|
/> |
||||
|
</div> |
||||
|
</div> |
||||
|
<img-editor v-if="editorShow" ref="imgEditorRef" :is-od-or-os="this.eyeType" @closeDialog="closeDialog" @fullImgBack="fullImgBack" /> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import ImgEditor from '@/components/360View/img-editor.vue' |
||||
|
|
||||
|
export default { |
||||
|
name: 'ThreeMirror', |
||||
|
components: { ImgEditor }, |
||||
|
props: { |
||||
|
isDev: { |
||||
|
type: Boolean |
||||
|
}, |
||||
|
onlyRead: { |
||||
|
type: Boolean, |
||||
|
default: false |
||||
|
}, |
||||
|
isPlatform: { |
||||
|
type: Boolean, |
||||
|
default: true |
||||
|
}, |
||||
|
patientDetail: { |
||||
|
type: Object |
||||
|
}, |
||||
|
caseId: { |
||||
|
type: String, |
||||
|
default: '' |
||||
|
}, |
||||
|
isCreator: { |
||||
|
type: Boolean, |
||||
|
default: true |
||||
|
}, |
||||
|
// 操作者 |
||||
|
creator: { |
||||
|
type: Object |
||||
|
} |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
printHidden: true, |
||||
|
print: { |
||||
|
id: 'threeMirror', |
||||
|
closeCallback: () => { |
||||
|
this.printHidden = true |
||||
|
} |
||||
|
}, |
||||
|
eyeType: '', |
||||
|
editorShow: false, |
||||
|
confirmData: { |
||||
|
patientAge: '', |
||||
|
patientDate: '', |
||||
|
patientGender: '', |
||||
|
patientName: '', |
||||
|
patientId: '', |
||||
|
bxOd: '', // 变性 |
||||
|
bxOs: '', |
||||
|
checker: '', |
||||
|
jlDate: '', |
||||
|
lkOd: '', // 裂孔 |
||||
|
lkOs: '', |
||||
|
qtbzjycjlOd: '', // 其他病灶及异常记录 |
||||
|
qtbzjycjlOs: '', |
||||
|
ydqkOd: '', // 眼底情况右眼照片 |
||||
|
ydqkOs: '' |
||||
|
}, |
||||
|
checkListOd: [], |
||||
|
checkListOs: [], |
||||
|
checkList2Od: [], |
||||
|
checkList2Os: [], |
||||
|
caseList: [ |
||||
|
'A:圆形裂孔', |
||||
|
'B:有盖的裂孔', |
||||
|
'C:有瓣膜的裂孔(马蹄形裂孔)', |
||||
|
'D:伴有向后卷边的瓣膜裂孔', |
||||
|
'E:固定皱褶', |
||||
|
'F:锯齿缘断离', |
||||
|
'G:视网膜出血', |
||||
|
'H:视网膜色素沉着', |
||||
|
'I:分界线', |
||||
|
'J:铺路石变性', |
||||
|
'K:周边部囊状变性', |
||||
|
'L:老年性视网膜劈裂', |
||||
|
'M:视网膜动脉旁的渗出物', |
||||
|
'N:被冷冻癜痕围绕的马蹄裂孔' |
||||
|
], |
||||
|
caseRight: [ |
||||
|
'O:玻璃体浑浊(需加文字说明)', |
||||
|
'P:被电凝癜痕围绕的环形扣压瘠上的两个圆孔,其上方为视网膜再脱离', |
||||
|
'Q:睫状体平坦部的无色素上皮脱离', |
||||
|
'R:脉络膜肿块(需加文字说明)', |
||||
|
'S:被电凝癜痕围绕的放射状巩膜扣压瘠上的马蹄形裂孔', |
||||
|
'T:网格样变性', |
||||
|
'U:伴有萎缩性圆形裂孔的网格样变性', |
||||
|
'V:涡静脉壶腹', |
||||
|
'W:放射状视网膜皱褶', |
||||
|
'X:视网膜前出血', |
||||
|
'Y:视网膜变薄区' |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
watch: { |
||||
|
caseId(val) { |
||||
|
if (val) { |
||||
|
this.getInfoDetail() |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
created() { |
||||
|
this.getInfoDetail() |
||||
|
}, |
||||
|
methods: { |
||||
|
editImg(eyeType) { |
||||
|
this.eyeType = eyeType |
||||
|
this.editorShow = true |
||||
|
this.$nextTick(() => { |
||||
|
this.$refs.imgEditorRef.init() |
||||
|
}) |
||||
|
}, |
||||
|
closeDialog() { |
||||
|
this.editorShow = false |
||||
|
}, |
||||
|
fullImgBack(val) { |
||||
|
if (!val) return |
||||
|
if (this.eyeType === 'OD') { |
||||
|
this.confirmData.ydqkOd = val |
||||
|
} else { |
||||
|
this.confirmData.ydqkOs = val |
||||
|
} |
||||
|
}, |
||||
|
getInfoDetail() { |
||||
|
this.$http.get('/jcjg/getSmjjcjg', { params: { |
||||
|
caseId: this.caseId, |
||||
|
patientId: this.patientDetail.patientId |
||||
|
}}).then(data => { |
||||
|
const detail = data.data.data |
||||
|
this.confirmData = detail |
||||
|
this.handleCheck() |
||||
|
if (!detail.jzNumber) { |
||||
|
this.setData() |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
setData() { |
||||
|
const date = this.$moment().format('YYYY-MM-DD') |
||||
|
this.confirmData.jlDate = date |
||||
|
const userData = JSON.parse(window.sessionStorage.getItem('qg-userData')) |
||||
|
this.confirmData.checker = userData.signImgBase |
||||
|
this.confirmData.patientName = this.patientDetail.patientName |
||||
|
this.confirmData.patientAge = this.patientDetail.patientAge |
||||
|
this.confirmData.patientGender = this.patientDetail.patientSex |
||||
|
this.confirmData.patientId = this.patientDetail.patientId |
||||
|
|
||||
|
this.confirmData.ydqkOd = require('@/assets/img/od.png') |
||||
|
this.confirmData.ydqkOs = require('@/assets/img/os.png') |
||||
|
}, |
||||
|
handlePrint() { |
||||
|
this.printHidden = false |
||||
|
if (!this.isCreator) { |
||||
|
return |
||||
|
} |
||||
|
this.handleSaveTable() |
||||
|
}, |
||||
|
handleCheck() { |
||||
|
this.checkListOd = this.confirmData.bxOd ? this.confirmData.bxOd.split('/') : [] |
||||
|
this.checkListOs = this.confirmData.bxOs ? this.confirmData.bxOs.split('/') : [] |
||||
|
this.checkList2Od = this.confirmData.lkOd ? this.confirmData.lkOd.split('/') : [] |
||||
|
this.checkList2Os = this.confirmData.lkOs ? this.confirmData.lkOs.split('/') : [] |
||||
|
}, |
||||
|
hanldeSaveCheck() { |
||||
|
this.confirmData.bxOd = this.checkListOd.join('/') |
||||
|
this.confirmData.bxOs = this.checkListOs.join('/') |
||||
|
this.confirmData.lkOd = this.checkList2Od.join('/') |
||||
|
this.confirmData.lkOs = this.checkList2Os.join('/') |
||||
|
}, |
||||
|
// 保存 |
||||
|
handleSaveTable() { |
||||
|
this.hanldeSaveCheck() |
||||
|
this.confirmData.jzNumber = window.sessionStorage.getItem('jzNumber') |
||||
|
this.$http.post('/jcjg/saveSmjjcjg', { |
||||
|
...this.confirmData, |
||||
|
caseId: this.caseId |
||||
|
}).then(() => { |
||||
|
this.$emit('handleSaveTable') |
||||
|
}) |
||||
|
}, |
||||
|
// 删除 |
||||
|
formDelete() { |
||||
|
this.$confirmFun('确定删除吗?').then(() => { |
||||
|
this.$http.post('/jcjg/delSmjjcjg', { |
||||
|
id: this.caseId |
||||
|
}).then(() => { |
||||
|
this.$message.success('删除成功') |
||||
|
this.$emit('formDelete', 'del') |
||||
|
}) |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
#operation-record{ |
||||
|
height: 100%; |
||||
|
overflow: auto; |
||||
|
background: #fff; |
||||
|
} |
||||
|
::v-deep .el-icon-arrow-up{ |
||||
|
display: none; |
||||
|
} |
||||
|
.flex{ |
||||
|
display: flex; |
||||
|
} |
||||
|
.a-c{ |
||||
|
align-items: center; |
||||
|
} |
||||
|
.j-c{ |
||||
|
justify-content: center; |
||||
|
} |
||||
|
.flex-end{ |
||||
|
justify-content: flex-end; |
||||
|
} |
||||
|
.caseItem{ |
||||
|
width: 200px; |
||||
|
padding-right: 10px; |
||||
|
} |
||||
|
.caseDetail{ |
||||
|
padding: 0 20px; |
||||
|
display: flex; |
||||
|
font-size: 14px; |
||||
|
line-height: 24px; |
||||
|
} |
||||
|
.item{ |
||||
|
&:not(:last-child){ |
||||
|
margin-right: 15px; |
||||
|
} |
||||
|
} |
||||
|
tr td{ |
||||
|
border: 1px solid #000; |
||||
|
text-align: center; |
||||
|
} |
||||
|
table{ |
||||
|
width: 100%; |
||||
|
} |
||||
|
.img_show{ |
||||
|
height: 200px; |
||||
|
} |
||||
|
::v-deep .el-checkbox{ |
||||
|
margin-right: 15px; |
||||
|
} |
||||
|
.img2_show{ |
||||
|
width: 400px; |
||||
|
height: 380px; |
||||
|
} |
||||
|
.btnBox_top{ |
||||
|
position: fixed; |
||||
|
z-index: 999; |
||||
|
right: 90px; |
||||
|
} |
||||
|
::v-deep .el-input__inner { |
||||
|
border: none; |
||||
|
height: 26px !important; |
||||
|
line-height: 26px !important; |
||||
|
font-size: 16px; |
||||
|
text-align: center; |
||||
|
} |
||||
|
|
||||
|
::v-deep .el-input__inner { |
||||
|
border-bottom: 1px solid #ccc; |
||||
|
border-radius: 0; |
||||
|
padding: 0; |
||||
|
} |
||||
|
::v-deep .el-input__prefix { |
||||
|
display: none; |
||||
|
} |
||||
|
::v-deep .el-checkbox__label{ |
||||
|
font-size: 16px; |
||||
|
color: #000; |
||||
|
} |
||||
|
</style> |
||||
|
|
Loading…
Reference in new issue