8 changed files with 549 additions and 135 deletions
@ -0,0 +1,29 @@ |
|||
<template> |
|||
<div> |
|||
<div v-if="!isDev" class="flex j-c"> |
|||
<img :width="width" :src="logoUrl"> |
|||
</div> |
|||
<hr v-if="!isDev"> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: 'FormHeader', |
|||
props: ['isDev', 'width'], |
|||
data() { |
|||
return { |
|||
logoUrl: require('@/assets/img/xianganlogo2.jpg') |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped lang="scss"> |
|||
.flex{ |
|||
display: flex; |
|||
} |
|||
.j-c{ |
|||
justify-content: center; |
|||
} |
|||
</style> |
@ -0,0 +1,337 @@ |
|||
<template> |
|||
<div class="cornealBox"> |
|||
<div class="btnBox"> |
|||
<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 v-if="creator" style="margin: 10px 0;text-align: left;color: #409EFF"> |
|||
<div> |
|||
操作者:{{ creator.doctorName }} |
|||
</div> |
|||
<div> |
|||
工号:{{ creator.doctorCode }} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div id="treatNotice" style="width: 840px;padding-right: 8px"> |
|||
<form-header :is-dev="isDev" :width="650" /> |
|||
<p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;"> |
|||
眼科门诊治疗须知 |
|||
</p> |
|||
<!--患者信息--> |
|||
<div> |
|||
<div class="flex m-b"> |
|||
<div class="flex a-c item"> |
|||
<div class="label_width">姓名:</div> |
|||
<el-input v-model="confirmData.patientName" style="flex: 1" /></div> |
|||
<div class="flex a-c item">性别:<el-input v-model="confirmData.patientGender" style="flex: 1" /></div> |
|||
<div class="flex a-c item">年龄:<el-input v-model="confirmData.patientAge" style="flex: 1" /></div> |
|||
<div class="flex a-c item">科室:<el-input v-model="confirmData.ks" style="flex: 1" /></div> |
|||
<div class="flex a-c item">登记号:<el-input v-model="confirmData.patientId" style="flex: 1" /></div> |
|||
</div> |
|||
<div class="flex a-c m-b"> |
|||
<div class="label_width">诊断:</div> |
|||
<el-input v-model="confirmData.zd" :autosize="{ minRows: 1, maxRows: 3}" type="textarea" style="flex: 1" /> |
|||
</div> |
|||
</div> |
|||
<div class="flex" style="text-align: left"> |
|||
<div style="word-break: keep-all;margin-right: 10px">治疗项目:</div> |
|||
<div> |
|||
<el-checkbox-group v-model="projectList"> |
|||
<el-checkbox v-for="(item,index) in checkList" :key="index" :label="item" /> |
|||
<el-checkbox label="其他"> |
|||
其他:<el-input v-model="confirmData.other" /> |
|||
</el-checkbox> |
|||
</el-checkbox-group> |
|||
</div> |
|||
</div> |
|||
<div class="flex a-c"> |
|||
<span>1.过敏史:</span> |
|||
<el-input v-model="confirmData.gms" style="flex: 1" type="textarea" :autosize="{ minRows: 1, maxRows: 3}" /> |
|||
</div> |
|||
<div style="text-align: left"> |
|||
(操作中会根据情况使用药物:盐酸丙美卡因滴眼液、左氧氟沙星滴眼液、妥布霉素地塞米松眼膏等)。 |
|||
</div> |
|||
<div v-for="(item,idx) in contentList" :key="idx" class="contentItem"> |
|||
<div> |
|||
{{ idx+2 }}. |
|||
<span style="margin-left: 5px;font-weight: bold">{{ item.bold }}</span> |
|||
{{ item.text }} |
|||
</div> |
|||
<el-input v-if="idx===contentList.length-1" v-model="confirmData.zlxmOther" style="flex: 1;text-align: left" /> |
|||
</div> |
|||
<div style="text-align: left"> |
|||
<div class="flex a-c j-b"> |
|||
<div> |
|||
<span style="word-break: keep-all">患者签字:</span> |
|||
<span style="margin-left:10px" @click="signClick('patientSign')"> |
|||
<span v-if="!formListValue.patientSign"> |
|||
<img v-if="printHidden" :src="require('@/assets/img/signature.png')" alt="" style="margin-right: 12px"> |
|||
<el-input v-else style="width: 80px" /> |
|||
</span> |
|||
<img v-else style="width: 120px;height: 60px;" :src="formListValue.patientSign"> |
|||
</span> |
|||
</div> |
|||
<div class="flex"> |
|||
患者家属签字: |
|||
<span style="margin-left:10px" @click="signClick('patientJsSign')"> |
|||
<span v-if="!formListValue.patientJsSign"> |
|||
<img v-if="printHidden" :src="require('@/assets/img/signature.png')" alt=""> |
|||
<el-input v-else style="width: 80px" /> |
|||
</span> |
|||
<img v-else style="width: 120px;height: 60px;" :src="formListValue.patientJsSign"> |
|||
</span> |
|||
<span style="margin-left: 15px">与患者关系<el-input v-model="confirmData.gx" style="width: 150px" /></span> |
|||
</div> |
|||
</div> |
|||
<div> |
|||
<span style="word-break: keep-all">操作者签字:</span> |
|||
<span style="margin-left:10px"> |
|||
<img style="width: 80px;height: 40px;" :src="confirmData.czzSign"> |
|||
</span> |
|||
</div> |
|||
<div style="text-align: right">日期: |
|||
<el-date-picker |
|||
v-model="confirmData.bdDate" |
|||
style="width: 150px" |
|||
type="date" |
|||
value-format="yyyy-MM-dd" |
|||
/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import FormHeader from '@/page-subspecialty/views/modules/formList/FormHeader.vue' |
|||
import styeFormSign from '@/mixins/styeFormSign' |
|||
|
|||
export default { |
|||
name: 'TreatNotice', |
|||
components: { FormHeader }, |
|||
mixins: [styeFormSign], |
|||
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 { |
|||
projectList: [], |
|||
checkList: ['拔倒睫', '泪道冲洗', '结膜囊冲洗', '耳尖放血', '眼部颞侧皮下注射', '结膜结石剔除', '角结膜拆线', '皮肤拆线', |
|||
'睑板腺熏蒸按摩+睑缘清洁'], |
|||
contentList: [ |
|||
{ |
|||
bold: '', |
|||
text: '若您有冠心病、糖尿病等病史或情绪过于紧张,在治疗过程中可能会因此出现突发意外情况。' |
|||
}, { |
|||
bold: '拔倒睫:', |
|||
text: '若您配合不当,可能会碰伤角膜等风险。拔掉的倒睫毛一段时间后还会重新生长,大部分患者需要反复拔倒睫。' |
|||
|
|||
}, { |
|||
bold: '泪道冲洗:', |
|||
text: '可能存在假道、组织损伤、呛咳等并发症。部分患者需要根据情况增加冲洗次数。' |
|||
}, { |
|||
bold: '眼部颞侧皮下注射:', |
|||
text: '注射完毕后,请轻压5-10分钟。反复注射后该处部位可能会有硬结及淤青,一定时间后会自然吸收。' |
|||
}, { |
|||
bold: '结膜结石剔除:', |
|||
text: '结石剔除过程中或短时间内结膜会少量出血,属于正常现象;结石量多及比较大者可能不能一次性完成,操作人员会根据情况增加剔除次数。' |
|||
}, { |
|||
bold: '角结膜拆线:', |
|||
text: '操作过程中需您全程配合,不适请举手,不可晃动头部。可能存在角膜穿孔等并发症。' |
|||
}, { |
|||
bold: '睑板腺熏蒸按摩+睑缘清洁:', |
|||
text: '请您在熏蒸时应保持适当距离,避免烫伤;按摩结束后勿揉擦眼睛;24小时内眼睛勿进水。' |
|||
}, { |
|||
bold: '', |
|||
text: '其他:' |
|||
} |
|||
], |
|||
print: { |
|||
id: 'treatNotice', |
|||
closeCallback: () => { |
|||
this.printHidden = true |
|||
} |
|||
}, |
|||
printHidden: true, |
|||
formListValue: { |
|||
patientSign: '', |
|||
patientJsSign: '' |
|||
}, |
|||
confirmData: { |
|||
patientName: '', |
|||
patientGender: '', |
|||
patientAge: '', |
|||
ks: '', |
|||
patientId: '', |
|||
zd: '', |
|||
czzSign: '', |
|||
other: '', |
|||
gms: '', |
|||
zlxmOther: '', |
|||
bdDate: '', |
|||
patientJsSign: '', |
|||
patientSign: '', |
|||
zlxm: '', // 治疗项目 |
|||
gx: '' // 关系 |
|||
} |
|||
} |
|||
}, |
|||
watch: { |
|||
caseId(val) { |
|||
if (val) { |
|||
this.getConfirmDetail() |
|||
} |
|||
} |
|||
}, |
|||
created() { |
|||
this.getConfirmDetail() |
|||
}, |
|||
methods: { |
|||
signClick(index) { |
|||
this.initPlugin(index) |
|||
}, |
|||
handlePrint() { |
|||
if (!this.isCreator) { |
|||
return |
|||
} |
|||
this.handleSaveTable() |
|||
}, |
|||
getConfirmDetail() { |
|||
this.$http.get('/mzbl/getMzblykmzxz', { params: { |
|||
caseId: this.caseId |
|||
}}).then(data => { |
|||
const detail = data.data.data |
|||
this.confirmData = { ...detail } |
|||
this.projectList = this.confirmData.zlxm ? this.confirmData.zlxm.split('/') : [] |
|||
this.formListValue.patientSign = detail.patientSign |
|||
this.formListValue.patientJsSign = detail.patientJsSign |
|||
if (!detail.jzNumber) { |
|||
const userData = JSON.parse(window.sessionStorage.getItem('qg-userData')) |
|||
this.confirmData.czzSign = 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.ks = this.patientDetail.department |
|||
this.confirmData.bdDate = this.$moment().format('YYYY-MM-DD') |
|||
} |
|||
}) |
|||
}, |
|||
// 保存 |
|||
handleSaveTable() { |
|||
this.confirmData.zlxm = this.projectList.join('/') |
|||
this.confirmData.patientSign = this.formListValue.patientSign |
|||
this.confirmData.patientJsSign = this.formListValue.patientJsSign |
|||
this.confirmData.jzNumber = window.sessionStorage.getItem('jzNumber') |
|||
this.$http.post('/mzbl/saveMzblykmzxz', { |
|||
...this.confirmData, |
|||
caseId: this.caseId |
|||
}).then(() => { |
|||
this.$emit('handleSaveTable') |
|||
}) |
|||
}, |
|||
// 删除 |
|||
formDelete() { |
|||
this.$confirmFun('确定删除吗?').then(() => { |
|||
this.$http.post('/mzbl/delMzblykmzxz', { |
|||
id: this.caseId |
|||
}).then(() => { |
|||
this.$message.success('删除成功') |
|||
this.$emit('formDelete', 'del') |
|||
}) |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped lang="scss"> |
|||
.flex{ |
|||
display: flex; |
|||
} |
|||
.a-c{ |
|||
align-items: center; |
|||
} |
|||
.j-b{ |
|||
justify-content: space-between; |
|||
} |
|||
.j-c{ |
|||
justify-content: center; |
|||
} |
|||
#treatNotice{ |
|||
font-size: 16px; |
|||
} |
|||
.cornealBox{ |
|||
background: #fff; |
|||
padding: 10px 20px 50px 20px; |
|||
page-break-after:always; |
|||
height: 100%; |
|||
overflow: auto; |
|||
} |
|||
.btnBox{ |
|||
position: fixed; |
|||
z-index: 999; |
|||
right: 90px; |
|||
} |
|||
.contentItem{ |
|||
text-align: left; |
|||
margin-bottom: 10px; |
|||
display: flex; |
|||
} |
|||
::v-deep .el-checkbox__label{ |
|||
font-size: 16px !important; |
|||
color: #000; |
|||
} |
|||
::v-deep .el-input__inner { |
|||
border: none; |
|||
height: 26px !important; |
|||
line-height: 26px !important; |
|||
text-align: center; |
|||
font-size: 16px; |
|||
border-bottom: 1px solid #8e8c8c; |
|||
border-radius: 0; |
|||
padding: 0; |
|||
} |
|||
::v-deep .el-textarea__inner{ |
|||
border: none; |
|||
border-radius: 0; |
|||
border-bottom: 1px solid #8e8c8c; |
|||
font-size: 16px |
|||
} |
|||
::v-deep .el-input__prefix { |
|||
display: none; |
|||
} |
|||
.m-b{ |
|||
margin-bottom: 10px; |
|||
} |
|||
</style> |
Loading…
Reference in new issue