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