3 changed files with 347 additions and 2 deletions
@ -0,0 +1,324 @@ |
|||||
|
<template> |
||||
|
<div class="punctureBox"> |
||||
|
<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 v-if="creator" style="margin: 10px 0;text-align: left;color: #409EFF"> |
||||
|
<div> |
||||
|
操作者:{{ creator.doctorName }} |
||||
|
</div> |
||||
|
<div> |
||||
|
工号:{{ creator.doctorCode }} |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div id="punctureOperation" style="width: 100%;padding-right: 8px"> |
||||
|
<div v-if="!isDev" class="flex j-c"> |
||||
|
<img width="650" src="@/assets/img/xianganlogo2.jpg"> |
||||
|
</div> |
||||
|
<hr v-if="!isDev"> |
||||
|
<p style="color:#000000;font-size:28px;margin:0 0 15px 0;text-align:center;"> |
||||
|
眼科门诊手术同意书 |
||||
|
</p> |
||||
|
<div class="flex a-c j-b"> |
||||
|
<div> |
||||
|
姓名:<el-input v-model="confirmData.patientName" style="width: 100px" /> |
||||
|
</div> |
||||
|
<div> |
||||
|
性别:<el-input v-model="confirmData.patientGender" style="width: 100px" /> |
||||
|
</div> |
||||
|
<div> |
||||
|
年龄:<el-input v-model="confirmData.patientAge" style="width: 100px" /> |
||||
|
</div> |
||||
|
<div> |
||||
|
登记号:<el-input v-model="confirmData.patientId" style="width: 100px" /> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="form_content"> |
||||
|
<div class="flex a-c" style="margin-top: 5px"> |
||||
|
诊断: |
||||
|
<el-input v-model="confirmData.zd" :autosize="{ minRows: 1, maxRows: 3}" type="textarea" style="flex: 1" /> |
||||
|
</div> |
||||
|
<div class="flex a-c" v-for="(item,index) in content" :key="index" style="margin: 5px 0"> |
||||
|
{{ item }} |
||||
|
<el-input v-if="index === 0" style="width: 160px" v-model="confirmData.zlfa"></el-input> |
||||
|
<el-input v-if="index === 5" style="width: 300px" v-model="confirmData.remark"></el-input> |
||||
|
<el-input v-if="index === 6" style="width: 220px" v-model="confirmData.yj"></el-input> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="margin-top: 15px"> |
||||
|
<div class="flex a-c"> |
||||
|
<div style="margin-right: 15px;"> |
||||
|
<span style="word-break: keep-all">本人签名:</span> |
||||
|
<span style="margin-left:10px" @click="signClick('puncturePatientSign')"> |
||||
|
<span v-if="!formListValue.puncturePatientSign"> |
||||
|
<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: 160px;height: 80px;" :src="formListValue.puncturePatientSign"> |
||||
|
</span> |
||||
|
</div> |
||||
|
<div> |
||||
|
<span style="word-break: keep-all">或家属签名:</span> |
||||
|
<span style="margin-left:10px" @click="signClick('punctureKinSign')"> |
||||
|
<span v-if="!formListValue.punctureKinSign"> |
||||
|
<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: 160px;height: 80px;" :src="formListValue.punctureKinSign"> |
||||
|
</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="flex a-c"> |
||||
|
<div style="margin-right: 296px;"> |
||||
|
<span style="word-break: keep-all">操作者:</span> |
||||
|
<span style="margin-left:10px"> |
||||
|
<img style="width: 80px;height: 40px;" :src="confirmData.czzSign"> |
||||
|
</span> |
||||
|
</div> |
||||
|
<div> |
||||
|
签名日期:<el-date-picker |
||||
|
v-model="confirmData.bdDate" |
||||
|
type="date" |
||||
|
format="yyyy年MM月dd日" |
||||
|
value-format="yyyy-MM-dd" |
||||
|
/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import emptySign from '@static/js/emptySign' |
||||
|
import styeFormSign from '@/mixins/styeFormSign' |
||||
|
|
||||
|
export default { |
||||
|
name: 'OutEyeForm', |
||||
|
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 { |
||||
|
content: [ |
||||
|
'一、治疗方案:', |
||||
|
'二、治疗中可能发生的风险:', |
||||
|
'1、麻醉风险 2、周围组织损伤 3、其他', |
||||
|
'三、治疗后可能发生的并发症:', |
||||
|
'1、伤口出血、感染、愈合不良 2、皮肤瘢痕形成,严重者导致睑外翻 3、肉芽组织增生 4、外伤可能导致眶骨骨折、肌肉损伤、眼球运动异常等并发症。5、损伤眼球内结构,需进一步诊疗。', |
||||
|
'6、备注:', |
||||
|
'病员或家属意见:', |
||||
|
'我们了解该治疗的各种问题及可能发生的风险,同意接受治疗。' |
||||
|
], |
||||
|
print: { |
||||
|
id: 'punctureOperation', |
||||
|
closeCallback: () => { |
||||
|
this.printHidden = true |
||||
|
} |
||||
|
}, |
||||
|
printHidden: true, |
||||
|
formId: '', |
||||
|
sourceData: {}, |
||||
|
confirmData: { |
||||
|
zd: '', |
||||
|
jzNumber: '', |
||||
|
patientName: '', |
||||
|
patientAge: '', |
||||
|
patientId: '', |
||||
|
patientGender: '', |
||||
|
patientSign: '', |
||||
|
patientJsSign: '', |
||||
|
czzSign: '', |
||||
|
bdDate: '', |
||||
|
yj: '', |
||||
|
zlfa: '', |
||||
|
remark: '' |
||||
|
}, |
||||
|
formListValue: { |
||||
|
puncturePatientSign: '', |
||||
|
punctureKinSign: '' |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
watch: { |
||||
|
caseId(val) { |
||||
|
if (val) { |
||||
|
this.getformList() |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
created() { |
||||
|
this.sourceData = JSON.parse(JSON.stringify(this.confirmData)) |
||||
|
this.confirmData.jzNumber = window.sessionStorage.getItem('jzNumber') |
||||
|
this.getformList() |
||||
|
}, |
||||
|
methods: { |
||||
|
signClick(text) { |
||||
|
this.initPlugin(text) |
||||
|
}, |
||||
|
setData() { |
||||
|
const date = this.$moment().format('YYYY-MM-DD') |
||||
|
this.confirmData.bdDate = date |
||||
|
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 |
||||
|
}, |
||||
|
async getformList() { |
||||
|
const { data: res } = await this.$http.get('/mzbl/getMzblsstys', { |
||||
|
params: { |
||||
|
caseId: this.caseId, |
||||
|
patientId: this.patientDetail.patientId |
||||
|
} |
||||
|
}) |
||||
|
if (res.code === 0) { |
||||
|
this.confirmData = res.data |
||||
|
if (res.data.caseId) { |
||||
|
this.formListValue.punctureKinSign = this.confirmData.patientJsSign |
||||
|
this.formListValue.puncturePatientSign = this.confirmData.patientSign |
||||
|
} else { |
||||
|
this.formListValue.punctureKinSign = '' |
||||
|
this.formListValue.puncturePatientSign = '' |
||||
|
this.setData() |
||||
|
} |
||||
|
} else { |
||||
|
this.$message.error(res.msg) |
||||
|
} |
||||
|
}, |
||||
|
handlePrint() { |
||||
|
this.printHidden = false |
||||
|
if (!this.isCreator) { |
||||
|
return |
||||
|
} |
||||
|
this.handleSaveTable() |
||||
|
}, |
||||
|
// 保存 |
||||
|
async handleSaveTable() { |
||||
|
if (this.formListValue.puncturePatientSign === emptySign || this.formListValue.punctureKinSign === emptySign) { |
||||
|
this.$message.error('签字未成功请重新签字后再保存') |
||||
|
return |
||||
|
} |
||||
|
this.confirmData.patientSign = this.formListValue.puncturePatientSign |
||||
|
this.confirmData.patientJsSign = this.formListValue.punctureKinSign |
||||
|
const params = { |
||||
|
caseId: this.caseId, |
||||
|
...this.confirmData |
||||
|
} |
||||
|
const { data: res } = await this.$http.post('/mzbl/saveMzblsstys', params) |
||||
|
if (res.code === 0) { |
||||
|
this.$message.success('保存成功') |
||||
|
await this.getformList() |
||||
|
} else { |
||||
|
this.$message.error(res.msg) |
||||
|
} |
||||
|
}, |
||||
|
// 删除 |
||||
|
formDelete() { |
||||
|
this.$confirmFun('确定删除吗?').then(() => { |
||||
|
this.$http.post('/mzbl/delMzblsstys', { |
||||
|
id: this.caseId |
||||
|
}).then(() => { |
||||
|
this.$message.success('删除成功') |
||||
|
this.$emit('formDelete', 'del') |
||||
|
}) |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.flex1{ |
||||
|
flex: 1; |
||||
|
} |
||||
|
.flex{ |
||||
|
display: flex; |
||||
|
} |
||||
|
.a-c{ |
||||
|
align-items: center; |
||||
|
} |
||||
|
.j-c{ |
||||
|
justify-content: center; |
||||
|
} |
||||
|
.j-b{ |
||||
|
justify-content: space-between; |
||||
|
} |
||||
|
.punctureBox{ |
||||
|
background: #fff; |
||||
|
padding: 10px 20px 50px 20px; |
||||
|
page-break-after:always; |
||||
|
height: 100%; |
||||
|
overflow: auto; |
||||
|
} |
||||
|
.btnBox_top{ |
||||
|
position: fixed; |
||||
|
z-index: 999; |
||||
|
right: 90px; |
||||
|
} |
||||
|
.form_top{ |
||||
|
margin-bottom: 15px; |
||||
|
} |
||||
|
.form_content{ |
||||
|
text-align: left; |
||||
|
line-height: 28px; |
||||
|
} |
||||
|
.form_detail{ |
||||
|
text-indent: 2rem; |
||||
|
margin: 3px 0; |
||||
|
} |
||||
|
.checkBox{ |
||||
|
cursor: pointer; |
||||
|
} |
||||
|
::v-deep .el-input__inner{ |
||||
|
border: none; |
||||
|
border-bottom: 1px solid #cccccc; |
||||
|
border-radius: 0; |
||||
|
font-size: 16px; |
||||
|
height: 26px; |
||||
|
text-align: center; |
||||
|
} |
||||
|
::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; |
||||
|
} |
||||
|
</style> |
||||
|
|
Loading…
Reference in new issue