37 changed files with 5778 additions and 15365 deletions
@ -1,592 +0,0 @@ |
|||
<template> |
|||
<div> |
|||
<h5formButton |
|||
ref="h5formButtonRef" |
|||
:archive-case-c-r-f-item="archiveCaseCRFItem" |
|||
:get-save-eidt-title="saveEidtTitle" |
|||
:edit-save-button-show="(positionName.join().includes('医生') || positionName.join().includes('护士')) ? true : false" |
|||
/> |
|||
<!-- jsPDF配置:font-family:SimHei;width:210mm;transform-origin: left top; --> |
|||
<div |
|||
id="printH5" |
|||
class="consentBook formTablePrint form-setclass" |
|||
style="page-break-after:always;height:100%;margin:0 auto;font-size:16px;" |
|||
> |
|||
<!-- v-if="currentUrl.includes('192')" --> |
|||
<p v-if="currentUrl.includes('192')" style="color:#000000;font-size:32px;text-align:center;"> |
|||
温州医科大学附属眼视光医院</p> |
|||
<p style="color:#000000;font-size:32px;margin:10px 0 30px 0;text-align:center;"> |
|||
角膜营养不良基因检测知情同意书</p> |
|||
<el-form ref="form" :model="formListValue" :disabled="saveEidtTitle==='编辑' ? true : false"> |
|||
<div class="consentBook-content left"> |
|||
<div class="flex"> |
|||
<div> |
|||
<p style="font-weight: 700;font-size: 16px;">【检 测 项 目】 角膜营养不良基因检测</p> |
|||
<p style="font-weight: 700;font-size: 16px;">【样 品 类 型】末端血</p> |
|||
<p style="font-weight: 700;font-size: 16px;">【检 测 方 法】PCR / Sanger 测序技术</p> |
|||
<p style="font-weight: 700;font-size: 16px;">【检 测 需 知】</p> |
|||
</div> |
|||
<div style="width:200px;text-align:center"> |
|||
<img src="@/assets/img/tyscode.png" alt="" width="120px"> |
|||
<p>扫码观看科普视频</p> |
|||
</div> |
|||
</div> |
|||
<p style="word-wrap: break-word;overflow-wrap: break-word;word-break: break-all;white-space:normal">1、临床意义:角膜营养不良是一类与家族遗传有关的角膜病,可使角膜变浑浊,视力下降,药物治疗无效,严重者需行角膜移植术,早期可无任何体征,常规临床检测无法确诊。屈光手术可能会激发部分角膜营养不良的发生,术前基因筛查有助于排除病症,提高手术安全性。</p> |
|||
<p style="word-wrap: break-word;overflow-wrap: break-word;word-break: break-all;white-space:normal">2、由于受检基因和受检位点数量以及变异位点报出形式的限制性,本检测阴性结果不能完全排除受检者临床表型与遗传因素有相关性。</p> |
|||
<p style="word-wrap: break-word;overflow-wrap: break-word;word-break: break-all;white-space:normal">3、本检测只对本次受检样品负责,检测结果仅用于辅助临床诊断或科研参考,不能作为最终临床诊断依据。请接到报告后,向临床医师进行专业的遗传咨询。</p> |
|||
<p>4、在极少数情况下如果样本出现质量问题,需要重新采集标本,受检者需积极配合,检测报告需向后顺延。</p> |
|||
<p>5、检测机构在收到检测样品及检测费后即行检测。</p> |
|||
</div> |
|||
<div class="left title margin-bottom-10">【受检者知情同意】</div> |
|||
<div class="left"> |
|||
<p>1、本人已阅读并充分了解本项检测服务之目的、方法、效益及风险。</p> |
|||
<p>2、本人充分了解本项检测服务有其技术局限性,且明白该检测的准确率并非百分之百。</p> |
|||
<p>3、在隐去所有个人相关信息后,本人授权对检测结果、样本及预后追踪信息,进行将来的医学</p> |
|||
<p>研究分析使用。</p> |
|||
</div> |
|||
<!-- <div class="left margin-top-10 margin-bottom-10"> |
|||
<span>(若未勾选则视为同意)</span> |
|||
<el-radio-group v-model="formListValue.agree"> |
|||
<el-radio label="同意">同意</el-radio> |
|||
<el-radio label="不同意"> |
|||
不同意(若不同意,将依样本销毁标准流程处理) |
|||
</el-radio> |
|||
</el-radio-group> |
|||
</div> --> |
|||
<div class="sign-title margin-top-20">患者意见</div> |
|||
<div class="table"> |
|||
<div class="yifang"> |
|||
<div class="left"> |
|||
<el-radio-group v-model="formListValue.agree"> |
|||
<div><el-radio :label="3">我已充分了解上述样本采集的知情内容。为了屈光手术更加安全,我<span style="font-weight:700;font-size:20px;color:red;"> 同意接受 </span>角膜营养不良基因检测。</el-radio></div> |
|||
<div class="margin-top-10"><el-radio :label="6">我对上述情况已完全知晓。虽然手术可能会激发部分角膜营养不良的发生,我仍愿意承担以上风险。我<span style="font-weight:700;font-size:20px;color:red;"> 不接受 </span>角膜营养不良基因检测。</el-radio></div> |
|||
</el-radio-group> |
|||
</div> |
|||
</div> |
|||
<div class="sign-title margin-top-20">签字栏</div> |
|||
<div class="left huanfang"> |
|||
<div class="margin-top-10"> |
|||
<div> |
|||
<span>患者签字:</span> |
|||
<img :src="formListValue.sign1" alt="" width="90px"> |
|||
<!-- <span v-if="!formListValue.sign2 && saveEidtTitle==='保存'" class="sign" @click="singHandle('sign2')">点击签字</span> --> |
|||
</div> |
|||
<div class="margin-top-20 flex-2"> |
|||
<span>与患者关系:</span> |
|||
<el-radio-group v-model="formListValue.patientGxCheck"> |
|||
<el-radio v-for="(item,index) in gxList" :key="index" :label="item">{{ item }}</el-radio> |
|||
</el-radio-group> |
|||
<div v-show="formListValue.patientGxCheck==='其他法定监护人'" class="width-180"> |
|||
<el-input v-model="formListValue.patientGxInput" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<span v-if="formListValue.sign2"> |
|||
<img |
|||
:src="formListValue.sign2" |
|||
alt="" |
|||
width="90px" |
|||
@click="singHandle('sign2')" |
|||
> |
|||
<i |
|||
v-show="saveEidtTitle==='保存'" |
|||
class="el-icon-circle-close" |
|||
style="font-size:20px;cursor:pointer;" |
|||
@click="imageRemoveClick('sign2')" |
|||
/> |
|||
</span> |
|||
</div> |
|||
<div class=" margin-top-20 width-inner-200"> |
|||
<span>日 期:</span> |
|||
<el-date-picker |
|||
v-model="formListValue.sign2Time" |
|||
value-format="yyyy-MM-dd HH:mm:ss" |
|||
class="margin-right-6" |
|||
type="datetime" |
|||
placeholder="日期" |
|||
/> |
|||
</div> |
|||
</div> |
|||
|
|||
</div> |
|||
</el-form> |
|||
</div> |
|||
<!-- ------------------------------------打印------------------------------------------------- --> |
|||
<div |
|||
id="printA4" |
|||
class="patientBlPosition" |
|||
style=" |
|||
page-break-after:always;width:500px;font-family:SimHei;margin: 0 auto;" |
|||
> |
|||
<p style="color:#000000;font-size:25px;text-align:center;"> |
|||
温州医科大学附属眼视光医院</p> |
|||
<p style="color:#000000;font-size:25px;margin:5px 0 10px 0;text-align:center;"> |
|||
角膜营养不良基因检测知情同意书</p> |
|||
<el-form ref="form" :model="formListValue" :disabled="saveEidtTitle==='编辑' ? true : false"> |
|||
<div class="consentBook-content left"> |
|||
<p style="font-weight: 700;font-size: 12px;">【检 测 项 目】 角膜营养不良基因检测</p> |
|||
<p style="font-weight: 700;font-size: 12px;">【样 品 类 型】末端血</p> |
|||
<p style="font-weight: 700;font-size: 12px;">【检 测 方 法】PCR / Sanger 测序技术</p> |
|||
<p style="font-weight: 700;font-size: 12px;">【检 测 需 知】</p> |
|||
<p style="font-size: 12px">1、临床意义:角膜营养不良是一类与家族遗传有关的角膜病,可使角膜变浑浊,视力下降,药物治疗无效,严重者需行角膜移植术,早期可无任何体征,常规临床检测无法确诊。屈光手术可能会激发部分角膜营养不良的发生,术前基因筛查有助于排除病症,提高手术安全性。</p> |
|||
<p style="font-size: 12px">2、由于受检基因和受检位点数量以及变异位点报出形式的限制性,本检测阴性结果不能完全排除受检者临床表型与遗传因素有相关性。</p> |
|||
<p style="font-size: 12px">3、本检测只对本次受检样品负责,检测结果仅用于辅助临床诊断或科研参考,不能作为最终临床诊断依据。请接到报告后,向临床医师进行专业的遗传咨询。</p> |
|||
<p style="font-size: 12px">4、在极少数情况下如果样本出现质量问题,需要重新采集标本,受检者需积极配合,检测报告需向后顺延。</p> |
|||
<p style="font-size: 12px">5、检测机构在收到检测样品及检测费后即行检测。</p> |
|||
</div> |
|||
<div style="text-align: left;font-weight: 700;font-size: 12px;margin-top:5px;margin-bottom: 5px;">【受检者知情同意】</div> |
|||
<div style="text-align: left;"> |
|||
<p style="font-size: 12px">1、本人已阅读并充分了解本项检测服务之目的、方法、效益及风险。</p> |
|||
<p style="font-size: 12px">2、本人充分了解本项检测服务有其技术局限性,且明白该检测的准确率并非百分之百。</p> |
|||
<p style="font-size: 12px">3、在隐去所有个人相关信息后,本人授权对检测结果、样本及预后追踪信息,进行将来的医学</p> |
|||
<p style="font-size: 12px">研究分析使用。</p> |
|||
</div> |
|||
<div |
|||
style=" |
|||
font-size: 18px; |
|||
font-weight: 700; |
|||
text-align: center; |
|||
margin-bottom: 5px; |
|||
margin-top: 5px; |
|||
" |
|||
>患者意见</div> |
|||
<div> |
|||
<div |
|||
style=" |
|||
margin-bottom:10px; |
|||
padding: 12px; |
|||
border: 1px solid #000;" |
|||
> |
|||
<div style="text-align: left;"> |
|||
<p style="font-size: 12px">为了屈光手术更加安全,我已充分了解上述样本采集的知情内容。</p> |
|||
<p style="font-size: 12px"><b>我同意</b>做角膜营养不良基因检测。</p> |
|||
</div> |
|||
<div |
|||
style=" |
|||
display: flex; |
|||
justify-content: flex-end; |
|||
font-size:12px; |
|||
" |
|||
> |
|||
<div |
|||
style=" |
|||
width:260px; |
|||
text-align: left; |
|||
" |
|||
> |
|||
<div |
|||
style=" |
|||
display: flex; |
|||
align-items: center; |
|||
" |
|||
> |
|||
<div> |
|||
<span>签字:</span> |
|||
<span |
|||
v-if="!formListValue.sign1 && saveEidtTitle==='保存'" |
|||
style=" |
|||
cursor: pointer; |
|||
color: #46a1ff; |
|||
font-weight: 400;" |
|||
@click="singHandle('sign1')" |
|||
>点击签字</span> |
|||
</div> |
|||
<span v-if="formListValue.sign1"> |
|||
<img |
|||
:src="formListValue.sign1" |
|||
alt="" |
|||
width="90px" |
|||
@click="singHandle('sign1')" |
|||
> |
|||
<i |
|||
v-show="saveEidtTitle==='保存'" |
|||
class="el-icon-circle-close" |
|||
style="font-size:20px;cursor:pointer;" |
|||
@click="imageRemoveClick('sign1')" |
|||
/> |
|||
</span> |
|||
</div> |
|||
<div |
|||
class="width-inner-200" |
|||
style=" margin-top: 5px;" |
|||
> |
|||
<span>日 期:{{ formListValue.sign1Time }}</span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div |
|||
class="huanfang" |
|||
style=" |
|||
text-align: left; |
|||
padding: 12px; |
|||
border: 1px solid #000;" |
|||
> |
|||
<span> |
|||
<p style="font-size: 12px">1、我对上述情况已完全知晓。虽然手术可能会激发部分角膜营养不良的发生,我仍愿意承担以上风险,<b>不接受</b>角膜营养不良基因检测。</p> |
|||
</span> |
|||
<div |
|||
style=" |
|||
display: flex; |
|||
justify-content: flex-end; |
|||
font-size:12px; |
|||
" |
|||
> |
|||
<div |
|||
style=" |
|||
width:260px; |
|||
text-align: left; |
|||
" |
|||
> |
|||
<div |
|||
style=" |
|||
display: flex; |
|||
align-items: center; |
|||
margin-top: 10px; |
|||
" |
|||
> |
|||
<div> |
|||
<span>签字:</span> |
|||
<span |
|||
v-if="!formListValue.sign2 && saveEidtTitle==='保存'" |
|||
style=" |
|||
cursor: pointer; |
|||
color: #46a1ff; |
|||
font-weight: 400; |
|||
" |
|||
@click="singHandle('sign2')" |
|||
>点击签字</span> |
|||
</div> |
|||
<span v-if="formListValue.sign2"> |
|||
<img |
|||
:src="formListValue.sign2" |
|||
alt="" |
|||
width="90px" |
|||
@click="singHandle('sign2')" |
|||
> |
|||
<i |
|||
v-show="saveEidtTitle==='保存'" |
|||
class="el-icon-circle-close" |
|||
style="font-size:20px;cursor:pointer;" |
|||
@click="imageRemoveClick('sign2')" |
|||
/> |
|||
</span> |
|||
</div> |
|||
<div |
|||
class="width-inner-200" |
|||
> |
|||
<span>日 期:{{ formListValue.sign2Time }}</span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
</div> |
|||
</el-form> |
|||
</div> |
|||
<div class="saveInfo"> |
|||
<span class="padding-right-10">保存人:{{ formListValue.createName ? formListValue.createName : '-' }}</span> |
|||
<span>保存时间:{{ formListValue.createDate ? formListValue.createDate : '-' }}</span> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import signGet from '@/mixins/signGet' |
|||
import publicFile from '@/mixins/publicFile' |
|||
import h5formButton from '@/components/H5formOhter/h5formButton' |
|||
import signNSV from '@/mixins/sign-NSV' |
|||
import htmlToPdfToBlob from '@/mixins/htmlToPdfToBlob' |
|||
export default { |
|||
components: { |
|||
h5formButton |
|||
}, |
|||
mixins: [signGet, publicFile, signNSV, htmlToPdfToBlob], |
|||
props: { |
|||
archiveCaseCRFItem: { |
|||
type: Object, |
|||
default: () => { } |
|||
}, |
|||
currentUrl: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
formContent: { |
|||
default: () => {} |
|||
}, |
|||
operaId: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
pageTitle: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
patientId: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
patientInfoObj: { |
|||
type: Object, |
|||
default: () => { } |
|||
}, |
|||
userData: { |
|||
type: Object, |
|||
default: () => { } |
|||
}, |
|||
roleList: { |
|||
type: Array, |
|||
default: () => [] |
|||
}, |
|||
positionName: { |
|||
type: Array, |
|||
default: () => [] |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
saveEidtTitle: '编辑', |
|||
formListValue: { |
|||
formName: '基因检测同意书', |
|||
createName: '', |
|||
createDate: '', |
|||
// 同意 |
|||
agree: '', |
|||
// 与患者关系 |
|||
patientGxCheck: '本人', |
|||
patientGxInput: '', |
|||
// 签字1 |
|||
sign1: '', |
|||
sign1Time: '' |
|||
}, |
|||
gxList: ['本人', '父亲', '母亲', '其他法定监护人'] |
|||
} |
|||
}, |
|||
computed: { |
|||
consentBook: { |
|||
get() { |
|||
return this.$store.getters.consentBook |
|||
} |
|||
} |
|||
}, |
|||
watch: { |
|||
consentBook: { |
|||
handler(value) { |
|||
console.log(value) |
|||
value.sign1 ? this.formListValue.sign1 = value.sign1 : '' |
|||
}, |
|||
deep: true, |
|||
immediate: true |
|||
}, |
|||
formContent: { |
|||
handler(value) { |
|||
console.log(Object.values(value).length) |
|||
// Object.values(value).length === Object.values(this.formListValue).length ? this.formListValue = value : '' |
|||
}, |
|||
deep: true |
|||
} |
|||
}, |
|||
destroyed() { |
|||
console.log('基因检测同意书destroyed') |
|||
// this.$parent.deleteErmUpdating(this.archiveCaseCRFItem.id) |
|||
}, |
|||
methods: { |
|||
init() { |
|||
this.getInfo() |
|||
}, |
|||
// 签名 |
|||
singHandle(text) { |
|||
const value = { |
|||
text: text, |
|||
pageName: 'consentBook' |
|||
} |
|||
// this.$store.commit('beginSign', value) |
|||
this.initPlugin(text) |
|||
// const loading = this.$loading({ |
|||
// lock: true, |
|||
// text: '签字加载中请稍等', |
|||
// spinner: 'el-icon-loading', |
|||
// background: 'rgba(255, 255, 255, 0.7)' |
|||
// }) |
|||
// setTimeout(() => { |
|||
// loading.close() |
|||
// this.beginSign(text) |
|||
// }, 1000) |
|||
}, |
|||
// 获取表单 |
|||
async getInfo() { |
|||
const { data: res } = await this.$http.get('/quguang/informed/consent/getInformedConsentInfo', { |
|||
params: { |
|||
formId: this.archiveCaseCRFItem.id, |
|||
formName: this.archiveCaseCRFItem.formName, |
|||
formDate: this.archiveCaseCRFItem.formDate, |
|||
patientIdNumber: this.archiveCaseCRFItem.patientIdNumber, |
|||
patientId: this.patientId |
|||
} |
|||
}) |
|||
if (res.code === 0) { |
|||
this.$emit('load') |
|||
if (this.archiveCaseCRFItem.id === res.data.formId) { |
|||
// console.log(res.data) |
|||
Object.keys(res.data).forEach((item) => { |
|||
// console.log(res.data) |
|||
// 如果data中没有定义这个字段,就自动加进去 |
|||
this.formListValue[item] || typeof this.formListValue[item] === 'boolean' ? '' : this.formListValue[item] = '' |
|||
// 如果不为空就赋值上去 |
|||
if ((res.data[item] && res.data[item] !== 'false' && res.data[item] !== 'true') || typeof res.data[item] === 'number') { |
|||
this.formListValue[item] = res.data[item] |
|||
} |
|||
if (res.data[item] && typeof res.data[item] !== 'number') { |
|||
res.data[item].includes('[') || res.data[item] === 'false' || res.data[item] === 'true' ? this.formListValue[item] = JSON.parse(res.data[item]) : '' |
|||
} |
|||
}) |
|||
this.formListValue.sign1Time ? '' : this.formListValue.sign1Time = this.$moment().format('YYYY-MM-DD HH:mm:ss') |
|||
this.formListValue.sign2Time ? '' : this.formListValue.sign2Time = this.$moment().format('YYYY-MM-DD HH:mm:ss') |
|||
console.log(this.formListValue) |
|||
} |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
// 保存表单 |
|||
async saveAllForm() { |
|||
// if(this.formListValue.sign1 && this.formListValue.sign2 ) { |
|||
// return this.$message.error('您的签名存在问题,不能同时进行签名操作!请修改后再保存!') |
|||
// } |
|||
// if(!this.formListValue.sign1 && !this.formListValue.sign2 ) { |
|||
// return this.$message.error('您还没有签名,暂不能保存,请签名后再保存!') |
|||
// } |
|||
const formvalue = JSON.parse(JSON.stringify(this.formListValue)) |
|||
Object.keys(formvalue).forEach(item => { |
|||
if (Array.isArray(formvalue[item])) { |
|||
formvalue[item] = JSON.stringify(formvalue[item]) |
|||
} |
|||
}) |
|||
const { data: res } = await this.$http.post('/quguang/informed/consent/saveInformedConsent', formvalue) |
|||
if (res.code === 0) { |
|||
this.saveEidtTitle = '编辑' |
|||
this.$message({ |
|||
message: '您已保存成功', |
|||
type: 'success' |
|||
}) |
|||
this.loading = this.$loading({ |
|||
lock: true, |
|||
text: '转存PDF中请稍等...', |
|||
spinner: 'el-icon-loading', |
|||
background: 'rgba(255, 255, 255, 0.7)' |
|||
}) |
|||
this.exportPDF({ |
|||
// html2pdf配置 |
|||
paperSize: 'A4', // 纸张格式 |
|||
customOrientation: 'portrait', // 纸张方向 |
|||
customMargin: [10, 10, 0, 10], // 页边距 |
|||
customElementId: 'printH5', |
|||
isHtml2canvas: true, |
|||
isCurrentPageLoad: true // CA发送后端接口是否使用loading |
|||
|
|||
// jsPDF配置 |
|||
// paperSize: 'A4', // 纸张格式 |
|||
// customOrientation: 'portrait', |
|||
// customMargin: [30, 40], |
|||
// isTransform: 'scale(0.9)', |
|||
// customElementId: 'printH5' |
|||
}) |
|||
this.getInfo() |
|||
this.pageTitle === '手术列表' ? this.$emit('closeDialog') : '' |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style lang="scss"> |
|||
.consentBook { |
|||
background: #fff; |
|||
padding: 10px 0 50px 20px; |
|||
.consentBook-content { |
|||
text-align: left; |
|||
.indent{ |
|||
text-indent: 2em; |
|||
} |
|||
p { |
|||
margin:3px 0; |
|||
} |
|||
} |
|||
.title { |
|||
font-weight: 700; |
|||
font-size: 16px; |
|||
} |
|||
.sign { |
|||
cursor: pointer; |
|||
color: #46a1ff; |
|||
font-weight: 400; |
|||
} |
|||
.opera-icon { |
|||
// display: none; |
|||
font-size: 20px; |
|||
} |
|||
.sign-title { |
|||
font-size: 24px; |
|||
font-weight: 700; |
|||
text-align: center; |
|||
margin-bottom: 20px; |
|||
} |
|||
.yifang,.huanfang { |
|||
margin-bottom:20px; |
|||
padding: 12px; |
|||
border: 1px solid #000; |
|||
} |
|||
.yifang-title,.huanfang-title { |
|||
font-size: 20px; |
|||
} |
|||
.sign-right-father { |
|||
display: flex; |
|||
justify-content: flex-end; |
|||
} |
|||
.sign-right-huanfang { |
|||
width:260px; |
|||
text-align: left; |
|||
} |
|||
.sign-right-yuanfang { |
|||
width: 260px; |
|||
text-align: left; |
|||
} |
|||
.el-input__inner { |
|||
text-align: left; |
|||
} |
|||
.el-radio { |
|||
margin-right: 8px; |
|||
} |
|||
.el-input__prefix { |
|||
display: none; |
|||
} |
|||
.el-date-editor.el-input, |
|||
.el-date-editor.el-input__inner { |
|||
width:190px; |
|||
} |
|||
.el-input__suffix { |
|||
top: -7px; |
|||
} |
|||
.zdfa { |
|||
.el-checkbox { |
|||
display: block; |
|||
} |
|||
} |
|||
.el-table--border::after, |
|||
.el-table--group::after, |
|||
.el-table::before { |
|||
z-index: 1; |
|||
} |
|||
.el-table--border::after, |
|||
.el-table--group::after, |
|||
.el-table::before { |
|||
background: #000; |
|||
} |
|||
.el-input__icon { |
|||
line-height: 100% !important; |
|||
} |
|||
.el-input__suffix { |
|||
top: -2px !important; |
|||
right:-8px; |
|||
} |
|||
} |
|||
</style> |
|||
@ -1,871 +0,0 @@ |
|||
<template> |
|||
<div> |
|||
<h5formButton |
|||
ref="h5formButtonRef" |
|||
:archive-case-c-r-f-item="archiveCaseCRFItem" |
|||
:get-save-eidt-title="saveEidtTitle" |
|||
:luyin-button-show="false" |
|||
:edit-save-button-show="(positionName.join().includes('医生') || positionName.join().includes('护士')) ? true : false" |
|||
/> |
|||
<div |
|||
id="printH5" |
|||
class="lhoperaConsent formTablePrint form-setclass" |
|||
style="page-break-after:always;height:100%;margin:0 auto;width:100%" |
|||
> |
|||
<!-- v-if="currentUrl.includes('192')" --> |
|||
<p v-if="currentUrl.includes('192')" style="color:#000000;font-size:32px;margin:0 0 0 0;text-align:center;"> |
|||
温州医科大学附属眼视光医院</p> |
|||
<p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;"> |
|||
激光角膜屈光手术联合预防性角膜胶原交联术同意书</p> |
|||
<el-form |
|||
ref="formListValue" |
|||
:model="formListValue" |
|||
:disabled="saveEidtTitle==='编辑' ? true : false" |
|||
:rules="dataRule" |
|||
> |
|||
<div class="border patientInfo"> |
|||
<div class="left border-bottom padding-10"> |
|||
<span class="width-80"> |
|||
<span>患者姓名:</span> |
|||
<el-input v-model="formListValue.patientName" placeholder="" class="margin-right-6" /> |
|||
</span> |
|||
<span class="width-60 padding-left-10"> |
|||
<span>性别:</span> |
|||
<el-input v-model="formListValue.patientSex" placeholder="" class="margin-right-6" /> |
|||
</span> |
|||
<span class="width-60 padding-left-10"> |
|||
<span>年龄:</span> |
|||
<el-input v-model="formListValue.patientAge" placeholder="" class="margin-right-6" />岁 |
|||
</span> |
|||
<span class="padding-left-10">专科:屈光手术临床中心</span> |
|||
<span class="width-120 padding-left-10"> |
|||
<span>PID:</span> |
|||
<el-input v-model="formListValue.patientId" placeholder="" class="margin-right-6" /> |
|||
</span> |
|||
</div> |
|||
<div class="flex-2 left margin-top-10 margin-left-10"> |
|||
<span style="width:50px">诊断:</span> |
|||
<el-checkbox v-model="formListValue.zdQgCheck"> |
|||
<span class="width-80"> |
|||
<el-select v-model="formListValue.zdQgInput" placeholder="" clearable class="margin-right-6"> |
|||
<el-option v-for="(item,index) in odosList" :key="index" :label="item" :value="item" /> |
|||
</el-select> |
|||
</span> |
|||
屈光不正, |
|||
</el-checkbox> |
|||
<el-checkbox v-model="formListValue.zdLsCheck">老视,</el-checkbox> |
|||
<el-checkbox v-model="formListValue.zdQtCheck">其他: |
|||
<span class="width-280"> |
|||
<el-input v-model="formListValue.zdQtInput" placeholder="" /> |
|||
</span> |
|||
</el-checkbox> |
|||
</div> |
|||
<div class="left width-120 zdfa border-bottom padding-10"> |
|||
<div> |
|||
<span>诊断方案:</span> |
|||
<span>拟于</span> |
|||
<el-date-picker |
|||
v-model="formListValue.zlfaDate" |
|||
value-format="yyyy-MM-dd" |
|||
class="margin-right-6" |
|||
type="date" |
|||
placeholder="出生日期" |
|||
/> |
|||
<span>在</span> |
|||
<el-input v-model="formListValue.zlfaMz" placeholder="" class="margin-right-6" /> |
|||
<span>麻醉下行</span> |
|||
</div> |
|||
<div class="width-80 margin-top-10"> |
|||
<el-checkbox v-model="formListValue.zlfaSmartKxlCheck"> |
|||
<el-select v-model="formListValue.zlfaSmartKxlInput" placeholder="" clearable class="margin-right-6"> |
|||
<el-option v-for="(item,index) in odosList" :key="index" :label="item" :value="item" /> |
|||
</el-select> |
|||
像差优化个性化Smart全激光+角膜胶原交联术(Smart+KXL) |
|||
</el-checkbox> |
|||
<el-checkbox v-model="formListValue.zlfaFsKxlCheck"> |
|||
<el-select v-model="formListValue.zlfaFsKxlInput" placeholder="" clearable class="margin-right-6"> |
|||
<el-option v-for="(item,index) in odosList" :key="index" :label="item" :value="item" /> |
|||
</el-select> |
|||
像差优化飞秒激光辅助准分子激光原位角膜磨镶术+角膜胶原交联术(FS-LASIK+KXL) |
|||
</el-checkbox> |
|||
<el-checkbox v-model="formListValue.zlfaFzjmCheck"> |
|||
<el-select v-model="formListValue.zlfaFzjmInput" placeholder="" clearable class="margin-right-6"> |
|||
<el-option v-for="(item,index) in odosList" :key="index" :label="item" :value="item" /> |
|||
</el-select> |
|||
复杂角膜激光修复术 |
|||
</el-checkbox> |
|||
</div> |
|||
</div> |
|||
<div class="left padding-10"> |
|||
<div style="font-weight:700;">替代方案:</div> |
|||
<p>1、眼内屈光手术方案:有晶体眼人工晶体植入术 (ICL)等;</p> |
|||
<p>2、非手术治疗方案:框架眼镜,软性角膜接触镜,硬性角膜接触镜,角膜塑形镜等。</p> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="talk-content" style="text-align: justify;"> |
|||
<p class="indent"> |
|||
屈光不正(远视、近视和散光)及老视的矫正方法有框架眼镜、隐形眼镜的配戴和手术矫正手术矫正主要包括激光角膜屈光手术和眼内屈光手术。激光角膜屈光手术是矫正屈光不正的有效方法,包括飞秒激光小切口角膜基质透镜取出术(SMILE)、像差优化飞秒激光辅助准分子激光原位角膜磨镶术(FS-LASIK)、像差优化个性化Smart全激光等。手术的目的是摘除现有的眼镜或降低现有眼镜的度数,并不是治愈屈光不正伴随的眼部改变。手术的效果除与医生的技术、设备的质量有关外,与患者的自身条件、屈光度数及其稳定情况、伤口愈合能力、术中配合等因素有关。圆锥角膜是一种进行性角膜向前膨隆、变薄导致视力下降的角膜病变,目前的医学水平难以确诊临床前期的圆锥角膜。屈光手术不会导致圆锥角膜的发生,但切削一定的角膜厚度可能使原有的临床前期病变提早发病。角膜胶原交联术可以加固角膜基质,提高角膜胶原纤维结构的稳定性。角膜薄、度数高、角膜形态欠佳等为术后发生继发性圆锥角膜的高风险因素,此类患者行角膜屈光手术联合预防性角膜胶原交联术可以降低术后发生继发性圆锥角膜的可能性,但并不意味着能完全避免。因此,提醒所有患者:术前一定要明确理解手术目的和术中、术后可能出现的不良后果。以下是手术可能出现的一些风险及注意事项: |
|||
</p> |
|||
<p class="printPagebreak">1、存在感染的风险,如遇严重感染可能需角膜移植,出现眼内炎等,以至严重影响视力的可能;</p> |
|||
<p class="printPagebreak">2、因个体对激光的敏感程度和角膜伤口愈合反应不同,术后存在过矫、欠矫和屈光回退的可能;</p> |
|||
<p class="printPagebreak">3、年龄小或屈光状态不稳定的近视患者,有术后屈光回退的可能性;</p> |
|||
<p class="printPagebreak">4、屈光回退与患者术前屈光状态有关,术前屈光度数越高,术后出现回退的可能性越大;</p> |
|||
<p class="printPagebreak">5、少部分高度近视呈阶段性或持续性进行性的发展,称为病理性近视,此类患者随着时间发展有出现术后度数比术前原有度数更高、出现高度近视病理性改变导致视力下降的可能;</p> |
|||
<p class="printPagebreak">6、角膜薄、度数高的患者,有术后残留度数的可能;</p> |
|||
<p class="printPagebreak">7、术后视力一般不会超过术前矫正视力;</p> |
|||
<p class="printPagebreak">8、任何屈光度数、任何术式的患者均可能出现手术相关并发症或屈光回退,可能需要角膜冲洗或二次手术,角膜形态不规则者二次手术的可能性更大;</p> |
|||
<p class="printPagebreak"> |
|||
9、屈光手术不能改善近视患者的眼部其他状况,近视患者(尤其高度数者)本身所致的并发症(如视网膜牵拉、劈裂、出血、变性、裂孔、脱离、脉络膜萎缩、黄斑病变、玻璃体出血、飞蚊症等)术后仍有发生或进展的可能,严重者会影响视力,因此术后仍需定期做眼底检查; |
|||
</p> |
|||
<p class="printPagebreak">10、对于个别眼压偏高、眼底杯盘比偏大或者视野不正常的可疑青光眼患者,随着时间推移 |
|||
有出现眼压增高、眼底杯盘比或视野继续变化以及视力矫正不理想的可能;角膜屈光手术和青光眼的发生或进展没有直接关联;若术后出现青光眼,则有需要药物控制或手术的可能;</p> |
|||
<p class="printPagebreak">11、术中需密切配合,配合不佳术后可能出现散光、欠矫、偏心切削、眩光等而影响手术效果;</p> |
|||
<p class="printPagebreak">12、由于患者个体差异,术后早期出现角膜水肿,少数患者可能出现薄纱或雾状视物不清,随着时间的延长症状逐渐缓解或好转;</p> |
|||
<p class="printPagebreak">13、术后为减轻伤口的炎症反应和抑制混浊的产生,需常规滴用糖皮质激素类眼药水,极少数患者可出现眼压升高,因此术后应定期复查,防止出现青光眼等疾病;</p> |
|||
<p class="printPagebreak">14、术后一段时间有眼部干涩、阅读困难、眩光、夜视力下降、夜间驾车困难等可能,随着时间的延长症状可逐渐缓解,但个别患者因自身原因最终可能难以消除;</p> |
|||
<p class="printPagebreak"> |
|||
15、FS-LASIK术后恢复快,可个性化切削,但角膜切口大,存在角膜瓣相关风险,如角膜瓣形成不良而终止手术,术后早期角膜瓣未完全愈合时,因用力眯眼、揉眼等原因会出现角膜瓣皱褶、移位可能;切口愈合后应尽量避免眼部外伤,否则有角膜瓣皱褶、移位甚至丢失的可能;FS-LASIK术后极少数患者有角膜瓣下上皮内生或植入,严重者出现角膜瓣溶解可能;极少数患者出现弥漫性层间角膜炎,严重者局部角膜变薄、浑浊而影响视力;术中负压吸引可能引起结膜下出血,一般需数周自行消退; |
|||
</p> |
|||
<p class="printPagebreak"> |
|||
16、Smart全激光由准分子激光一步完成,无刀、无瓣、无切口、无接触、无负压,术后无痕,可个性化切削;但术后恢复慢,存在上皮愈合不良可能;术后需防护紫外线;可能出现角膜雾状浑浊,严重者影响视力;</p> |
|||
<p class="printPagebreak"> |
|||
17、屈光不正长期未戴镜矫正、远视、年龄超过40岁及高度数患者调节功能不佳,可能出现术后视力恢复缓慢,一段时间视物困难、易视疲劳等,可能需要视功能训练或佩戴框架镜;年龄超过40岁或白内障术后患者,因调节能力降低或消失后无法同时保证较好的远视力和近视力,建议保留一定近视度数或佩戴老花镜看近; |
|||
</p> |
|||
<p class="printPagebreak">18、角膜胶原交联术可能会激发潜伏的病毒,引起病毒性角膜炎等疾病,严重者最终需行角膜移植术;</p> |
|||
<p class="printPagebreak">19、如遇角膜基质细胞和神经部分损伤,随着时间的延长,角膜基质细胞和神经损伤会逐渐恢复;</p> |
|||
<p class="printPagebreak">20、如遇内皮细胞损伤,则可能影响角膜板层移植术;</p> |
|||
<p class="printPagebreak">21、因个体对紫外线和核黄素眼药水的敏感程度和反应不同,术后视力恢复时间存在差异;</p> |
|||
<p class="printPagebreak">22、术后如发生角膜混浊,严重者形成角膜痕,将影响术后裸眼视力及最佳矫正视力;</p> |
|||
<p class="printPagebreak">23、术后禁止揉眼睛;</p> |
|||
<p class="printPagebreak">24、如发现视力下降,要立即来院就诊;如发生圆锥角膜需及时行治疗性角膜胶原交联术;</p> |
|||
<p class="printPagebreak"> |
|||
25、角膜营养不良是一类与家族遗传有关的角膜病,可使角膜变混浊,视力下降,药物治疗无效,严重者需行角膜移植术,早期可无任何体征,常规临床检查无法确诊;屈光手术可能会激发部分角膜营养不良的发生,术前基因筛查有助于排除病症,提高手术安全性; |
|||
</p> |
|||
<p class="printPagebreak">26、如遇机器设备运行状态欠佳,有改期手术的可能。</p> |
|||
</div> |
|||
<div class="left"> |
|||
<p style="font-weight:700;" class="margin-bottom-10">其它需要说明的情况(可选填):</p> |
|||
<el-input |
|||
v-model="formListValue.smqk" |
|||
type="textarea" |
|||
:autosize="{ minRows: 2}" |
|||
placeholder="" |
|||
class="margin-right-6" |
|||
/> |
|||
</div> |
|||
<div class="sign-title">医患双方签字意见</div> |
|||
<div class="table"> |
|||
<div class="yifang"> |
|||
<div class="yifang-title left margin-bottom-10">医生陈述:</div> |
|||
<div class="left"> |
|||
<p>我们保证已将患者病情及上述各种可能发生的情况准确、无误告知患者;我们保证恪守医德,尽职尽责,严守规范谨慎操作,争取最好的治疗效果。</p> |
|||
</div> |
|||
<div class="sign-right-father"> |
|||
<div class="sign-right-yuanfang"> |
|||
<div class="flex-2 margin-top-10"> |
|||
<div> |
|||
医师签字: |
|||
<span style="display:inline-block;width:95px;text-align:center"> |
|||
<span v-if="!formListValue.zdSign">{{ formListValue.zdName ? formListValue.zdName : '-' }}</span> |
|||
<img v-else :src="formListValue.zdSign" alt="" width="90px"> |
|||
</span> |
|||
/ |
|||
<span style="display:inline-block;width:95px;text-align:center"> |
|||
<span v-if="!formListValue.ysSign">{{ formListValue.ysName ? formListValue.ysName : '-' }}</span> |
|||
<img v-else :src="formListValue.ysSign" alt="" width="90px"> |
|||
</span> |
|||
<!-- <span |
|||
v-if="!formListValue.ysSign && saveEidtTitle === '保存'" |
|||
class="sign" |
|||
@click="getSystomSign('ysSign')" |
|||
>获取签字</span> --> |
|||
</div> |
|||
</div> |
|||
<div class="margin-top-10 width-inner-200"> |
|||
<span>日 期:</span> |
|||
<el-date-picker |
|||
v-model="formListValue.ysSignDate" |
|||
class="margin-right-6" |
|||
type="datetime" |
|||
placeholder="日期" |
|||
/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="left huanfang"> |
|||
<div class="huanfang-title margin-bottom-10">患者陈述:</div> |
|||
<span> |
|||
<p>医师已向我作了上述解释,我已阅读并完全知晓以上内容。</p> |
|||
<p>我已被告知并同意所检查的数据及标本可以用来作为科学研究所用。</p> |
|||
</span> |
|||
<div class="sign-right-father margin-top-20"> |
|||
<div class="sign-right-huanfang"> |
|||
<div class="width-180 flex-2"> |
|||
<span>患者(代理人)意见:</span> |
|||
<el-input v-model="formListValue.dlrYj" placeholder="" class="margin-right" /> |
|||
</div> |
|||
<div class="flex-2 margin-top-20 margin-bottom-20"> |
|||
<div> |
|||
<span>患者(代理人)签字:</span> |
|||
<!-- <span |
|||
v-if="!formListValue.dlrSign && saveEidtTitle==='保存'" |
|||
class="sign" |
|||
@click="singHandle('dlrSign')" |
|||
>点击签字</span> --> |
|||
</div> |
|||
<span v-if="formListValue.dlrSign"> |
|||
<img :src="formListValue.dlrSign" alt="" width="90px" @click="singHandle('dlrSign')"> |
|||
<i |
|||
v-show="saveEidtTitle==='保存'" |
|||
class="el-icon-circle-close" |
|||
style="font-size:20px;cursor:pointer;" |
|||
@click="imageRemoveClick('dlrSign')" |
|||
/> |
|||
</span> |
|||
</div> |
|||
<div class="flex-2 margin-top-10"> |
|||
<span>患者(代理人)</span> |
|||
<el-form-item prop="dlrZjh"> |
|||
<div class="flex-2"> |
|||
<el-select |
|||
v-model="formListValue.zjSelect" |
|||
class="zjClass" |
|||
default-first-option |
|||
filterable |
|||
placeholder="" |
|||
@change="selectChange" |
|||
> |
|||
<el-option v-for="(item,index) in zjList" :key="index" :label="item" :value="item" /> |
|||
</el-select> |
|||
<div class="width-220"> |
|||
<el-input v-model="formListValue.dlrZjh" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
</el-form-item> |
|||
<!-- <el-input v-model="formListValue.dlrZjh" placeholder="" class="margin-right" /> --> |
|||
</div> |
|||
<div class="flex-2 margin-top-10"> |
|||
<span>与患者关系:</span> |
|||
<div class="width-inner-120 width-120"> |
|||
<el-select |
|||
v-model="formListValue.dlrHzGx" |
|||
default-first-option |
|||
filterable |
|||
placeholder="" |
|||
@change="hzgxSelectChange" |
|||
> |
|||
<el-option v-for="(item,index) in hzgx" :key="index" :label="item" :value="item" /> |
|||
</el-select> |
|||
</div> |
|||
|
|||
<div v-if="formListValue.dlrHzGx!=='本人'" class="width-180 margin-left-24"> |
|||
<el-input v-model="formListValue.patientGxInput" placeholder="" /> |
|||
</div> |
|||
<!-- <el-input v-model="formListValue.dlrHzGx" placeholder="" class="margin-right" /> --> |
|||
</div> |
|||
<div class=" margin-top-10 width-inner-200"> |
|||
<span>日 期:</span> |
|||
<el-date-picker |
|||
v-model="formListValue.dlrSignDate" |
|||
value-format="yyyy-MM-dd HH:mm:ss" |
|||
class="margin-right-6" |
|||
type="datetime" |
|||
placeholder="日期" |
|||
/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</el-form> |
|||
</div> |
|||
<div class="saveInfo"> |
|||
<span class="padding-right-10">保存人:{{ formListValue.createName ? formListValue.createName : '-' }}</span> |
|||
<span>保存时间:{{ formListValue.createDate ? formListValue.createDate : '-' }}</span> |
|||
</div> |
|||
<!-- 录音 --> |
|||
<el-drawer title="录音文件" :visible.sync="drawer" :with-header="false"> |
|||
<record-file |
|||
v-if="archiveCaseCRFItem.formName === '手术同意书'" |
|||
:crf-item="archiveCaseCRFItem" |
|||
:form-id="archiveCaseCRFItem.id" |
|||
class="record-file-archives" |
|||
/> |
|||
</el-drawer> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import signGet from '@/mixins/signGet' |
|||
import signNSV from '@/mixins/sign-NSV' |
|||
import publicFile from '@/mixins/publicFile' |
|||
import h5formButton from '@/components/H5formOhter/h5formButton' |
|||
import recordFile from '@/page-subspecialty/views/modules/seeDoctor/archives/record-file' |
|||
import { isIDNumber, isHuzhao } from '@/utils/validate' |
|||
import htmlToPdfToBlob from '@/mixins/htmlToPdfToBlob' |
|||
export default { |
|||
components: { |
|||
h5formButton, |
|||
recordFile |
|||
}, |
|||
mixins: [signGet, signNSV, publicFile, htmlToPdfToBlob], |
|||
props: { |
|||
archiveCaseCRFItem: { |
|||
type: Object, |
|||
default: () => { } |
|||
}, |
|||
currentUrl: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
formContent: { |
|||
default: () => { } |
|||
}, |
|||
patientInifoH5: { |
|||
// type: Object, |
|||
default: () => { } |
|||
}, |
|||
operaId: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
title: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
patientId: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
patientInfoObj: { |
|||
type: Object, |
|||
default: () => { } |
|||
}, |
|||
roleList: { |
|||
type: Array, |
|||
default: () => [] |
|||
}, |
|||
positionName: { |
|||
type: Array, |
|||
default: () => [] |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
saveEidtTitle: '编辑', |
|||
drawer: false, |
|||
// 手术前 |
|||
formListValue: { |
|||
// 表单id |
|||
formId: '', |
|||
// 表单名称 |
|||
formName: '联合手术同意书', |
|||
// 表单日期 |
|||
formDate: '', |
|||
// 就诊号 |
|||
treatmentId: '', |
|||
// 病历号 |
|||
patientId: '', |
|||
// 身份证 |
|||
patientIdNumber: '', |
|||
// 姓名 |
|||
patientName: '', |
|||
// 性别 |
|||
patientSex: '', |
|||
// 年龄 |
|||
patientAge: '', |
|||
// 专科 |
|||
zk: '', |
|||
// 诊断屈光选择项 |
|||
zdQgCheck: '', |
|||
// 诊断屈光输入框 |
|||
zdQgInput: '', |
|||
// 诊断老视选择项 |
|||
zdLsCheck: '', |
|||
// 诊断其他选择项 |
|||
zdQtCheck: '', |
|||
// 诊断其他输入框 |
|||
zdQtInput: '', |
|||
// 诊疗方案日期 |
|||
zlfaDate: '', |
|||
// 诊疗方案麻醉 |
|||
zlfaMz: '', |
|||
// 诊疗方案全飞秒选择框 |
|||
zlfaQfmCheck: '', |
|||
// 诊疗方案全飞秒输入框 |
|||
zlfaQfmInput: '', |
|||
// 诊疗方案半飞秒选择框 |
|||
zlfaBfmCheck: '', |
|||
// 诊疗方案半飞秒输入框 |
|||
zlfaBfmInput: '', |
|||
// 诊疗方案Smart选择框 |
|||
zlfaSmartCheck: '', |
|||
// 诊疗方案半飞秒输入框 |
|||
zlfaSmartInput: '', |
|||
// 诊疗方案PresbyMax选择框 |
|||
zlfaMaxCheck: '', |
|||
// 诊疗方案PresbyMax输入框 |
|||
zlfaMaxInput: '', |
|||
// 诊疗方案复杂角膜激光修复术选择框 |
|||
zlfaFzjmCheck: '', |
|||
// 诊疗方案复杂角膜激光修复术输入框 |
|||
zlfaFzjmInput: '', |
|||
// 诊疗方案Smart+Kxl选择框 |
|||
zlfaSmartKxlCheck: '', |
|||
// 诊疗方案Smart+Kxl输入框 |
|||
zlfaSmartKxlInput: '', |
|||
// 诊疗方案fs-lasik+kxl选择框 |
|||
zlfaFsKxlCheck: '', |
|||
// 诊疗方案fs-lasik+kxl输入框 |
|||
zlfaFsKxlInput: '', |
|||
// 说明情况 |
|||
smqk: '', |
|||
// 主刀名字 |
|||
zdName: '周万里', |
|||
zdSign: '', |
|||
zdCode: '', |
|||
// 告知人名字 |
|||
ysName: '', |
|||
// 医师签字 |
|||
ysSign: '', |
|||
// 医师签字时间 |
|||
ysSignDate: '', |
|||
dlrYj: '', |
|||
// 代理人签字 |
|||
dlrSign: '', |
|||
// 证件选择 |
|||
zjSelect: '身份证号', |
|||
// 代理人证件号 |
|||
dlrZjh: '', |
|||
// 代理人与患者关系 |
|||
dlrHzGx: '本人', |
|||
patientGxInput: '', |
|||
// 代理人签字时间 |
|||
dlrSignDate: '', |
|||
createCode: '', |
|||
createName: '', |
|||
createDate: '' |
|||
}, |
|||
zjList: ['身份证号', '护照号'], |
|||
hzgx: ['本人', '家属', '见证人'], |
|||
odosList: ['双眼', '右眼', '左眼'], |
|||
zhenduanList: ['右眼屈光不正', '左眼屈光不正', '双眼屈光不正', '老视', '其它'], |
|||
zdfaList: ['全飞秒:飞秒激光小切口角膜基质透镜取出术(SMILE)', '半飞秒:飞秒激光辅助制瓣的准分子激光原位角膜磨镶术(FS-LASIK)', 'Smart 全激光,经上皮准分子激光角膜表面切削术', 'PresbyMAX 老视角膜激光', '复杂角膜激光修复术'], |
|||
userData: {} |
|||
} |
|||
}, |
|||
computed: { |
|||
lhOperaRecord: { |
|||
get() { |
|||
return this.$store.getters.lhOperaRecord |
|||
} |
|||
}, |
|||
dataRule() { |
|||
var validataIDNumber = (rule, value, callback) => { |
|||
this.dataRuleFun(value, callback, 'zjSelect') |
|||
callback() |
|||
} |
|||
return { |
|||
dlrZjh: [ |
|||
{ required: true, validator: validataIDNumber, trigger: 'blur' } |
|||
] |
|||
|
|||
} |
|||
} |
|||
}, |
|||
watch: { |
|||
lhOperaRecord: { |
|||
handler(value) { |
|||
console.log(value) |
|||
value.dlrSign ? this.formListValue.dlrSign = value.dlrSign : '' |
|||
}, |
|||
deep: true, |
|||
immediate: true |
|||
}, |
|||
formContent: { |
|||
handler(value) { |
|||
console.log(Object.values(value).length) |
|||
// Object.values(value).length === Object.values(this.formListValue).length ? this.formListValue = value : '' |
|||
}, |
|||
deep: true |
|||
}, |
|||
patientInifoH5: { |
|||
handler(value) { |
|||
console.log(value) |
|||
this.formListValue.patientInfo = value |
|||
}, |
|||
deep: true |
|||
} |
|||
}, |
|||
destroyed() { |
|||
console.log('激光手术同意书destroyed') |
|||
this.$store.commit('clearSignDate', 'lhOperaRecord') |
|||
// this.$parent.deleteErmUpdating(this.archiveCaseCRFItem.id) |
|||
}, |
|||
methods: { |
|||
init() { |
|||
this.getInfo() |
|||
// this.$parent.deleteErmUpdating(this.archiveCaseCRFItem.id) |
|||
}, |
|||
dataRuleFun(value, callback, text) { |
|||
if (this.formListValue[text] === '身份证号') { |
|||
if (value && !isIDNumber(value)) { |
|||
return callback(new Error('您输入的身份证格式不正确')) |
|||
} else if (!value) { |
|||
return callback(new Error('请输入身份证号')) |
|||
} |
|||
} else if (this.formListValue[text] === '护照号') { |
|||
if (value && !isHuzhao(value)) { |
|||
return callback(new Error('您输入的护照格式不正确')) |
|||
} else if (!value) { |
|||
return callback(new Error('请输入护照号')) |
|||
} |
|||
} |
|||
}, |
|||
// 患者关系选择 |
|||
hzgxSelectChange(e) { |
|||
console.log(e) |
|||
e === '本人' ? this.formListValue.dlrZjh = this.formListValue.patientIdNumber : this.formListValue.dlrZjh = '' |
|||
}, |
|||
selectChange(e) { |
|||
this.$refs.formListValue.resetFields() |
|||
}, |
|||
// 点编辑按钮自动获取签名 |
|||
getSign() { |
|||
this.getSystomSign('', '', '', 'ysName') |
|||
this.formListValue.ysSignDate ? '' : this.formListValue.ysSignDate = this.$moment().format('YYYY-MM-DD HH:mm:ss') |
|||
this.formListValue.dlrSignDate ? '' : this.formListValue.dlrSignDate = this.$moment().format('YYYY-MM-DD HH:mm:ss') |
|||
}, |
|||
// 签名 |
|||
singHandle(text) { |
|||
const value = { |
|||
text: text, |
|||
pageName: 'lhOperaRecord' |
|||
} |
|||
// this.$store.commit('beginSign', value) |
|||
this.initPlugin(text) |
|||
// const loading = this.$loading({ |
|||
// lock: true, |
|||
// text: '签字加载中请稍等', |
|||
// spinner: 'el-icon-loading', |
|||
// background: 'rgba(255, 255, 255, 0.7)' |
|||
// }) |
|||
// setTimeout(() => { |
|||
// loading.close() |
|||
// this.beginSign(text) |
|||
// }, 1000) |
|||
}, |
|||
// 录音抽屉 |
|||
recordFile() { |
|||
this.drawer = true |
|||
}, |
|||
// 获取表单 |
|||
async getInfo() { |
|||
const { data: res } = await this.$http.get('/quguang/opera/agree/getOperaAgreeInfo', { |
|||
params: { |
|||
formId: this.archiveCaseCRFItem.id, |
|||
formName: this.archiveCaseCRFItem.formName, |
|||
formDate: this.archiveCaseCRFItem.formDate, |
|||
patientIdNumber: this.archiveCaseCRFItem.patientIdNumber, |
|||
patientId: this.patientId |
|||
} |
|||
}) |
|||
if (res.code === 0) { |
|||
this.$emit('load') |
|||
if (this.archiveCaseCRFItem.id === res.data.formId) { |
|||
// console.log(res.data) |
|||
Object.keys(res.data).forEach((item) => { |
|||
// console.log(res.data) |
|||
// 如果data中没有定义这个字段,就自动加进去 |
|||
this.formListValue[item] || typeof this.formListValue[item] === 'boolean' ? '' : this.formListValue[item] = '' |
|||
// 如果不为空就赋值上去 |
|||
if ((res.data[item] && res.data[item] !== 'false' && res.data[item] !== 'true') || typeof res.data[item] === 'number') { |
|||
this.formListValue[item] = res.data[item] |
|||
} |
|||
if (res.data[item] && typeof res.data[item] !== 'number') { |
|||
res.data[item].includes('[') || res.data[item] === 'false' || res.data[item] === 'true' ? this.formListValue[item] = JSON.parse(res.data[item]) : '' |
|||
} |
|||
}) |
|||
this.formListValue.dlrHzGx === '本人' ? this.formListValue.dlrZjh = this.formListValue.patientIdNumber : '' |
|||
console.log(this.formListValue) |
|||
} |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
// 保存表单 |
|||
saveAllForm() { |
|||
if (this.formListValue.dlrZjh) { |
|||
this.$refs.formListValue.validate((valid) => { |
|||
console.log('valid', valid) |
|||
if (!valid) { |
|||
return false |
|||
} else { |
|||
this.saveAllFormFun() |
|||
} |
|||
}) |
|||
} else { |
|||
this.saveAllFormFun() |
|||
} |
|||
}, |
|||
async saveAllFormFun() { |
|||
this.formListValue.dlrSign = '' |
|||
const formvalue = JSON.parse(JSON.stringify(this.formListValue)) |
|||
Object.keys(formvalue).forEach(item => { |
|||
if (Array.isArray(formvalue[item])) { |
|||
formvalue[item] = JSON.stringify(formvalue[item]) |
|||
} |
|||
}) |
|||
const { data: res } = await this.$http.post('/quguang/opera/agree/saveOperaAgreeInfo', formvalue) |
|||
if (res.code === 0) { |
|||
this.saveEidtTitle = '编辑' |
|||
this.$message({ |
|||
message: '您已保存成功', |
|||
type: 'success' |
|||
}) |
|||
this.getSendCaStatus() |
|||
this.$store.commit('clearSignDate', 'lhOperaRecord') |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
// 是否开启了CA认证表单状态 |
|||
async getSendCaStatus() { |
|||
const { data: res } = await this.$http.get('/quguang/caSign/getSendCaStatus', { |
|||
params: { |
|||
name: this.archiveCaseCRFItem.formName |
|||
} |
|||
}) |
|||
if (res.code === 0) { |
|||
res.data === 1 ? this.sendCaSign() : this.getInfo() |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
sendCaSign() { |
|||
if (this.formListValue.ysSign) { |
|||
this.formListValue.ysSign = '' |
|||
this.formListValue.dlrSign = '' |
|||
this.loading = this.$loading({ |
|||
lock: true, |
|||
text: '转存PDF中请稍等...', |
|||
spinner: 'el-icon-loading', |
|||
background: 'rgba(255, 255, 255, 0.7)' |
|||
}) |
|||
window.localStorage.getItem('qg-userData') ? this.userData = JSON.parse(window.localStorage.getItem('qg-userData')) : '' |
|||
const caParams = { |
|||
// 文件名称 |
|||
fileName: this.archiveCaseCRFItem.formName, |
|||
// 表单标志位,10 联合手术同意书 |
|||
formFlag: 10, |
|||
// 表单id |
|||
formId: this.archiveCaseCRFItem.id, |
|||
signUser: { |
|||
// 签署位置集合 |
|||
position: [ |
|||
{ |
|||
// 坐标签署X轴(数值为0-1之间的小数,以左下角为原点0,右角顶点为1) * 签署位置类型为:2必填 |
|||
coX: '0.700', |
|||
// 坐标签署Y轴(数值为0-1之间的小数,以左下角为原点0,右角顶点为1) * 签署位置类型为:2必填 |
|||
coY: '0.690', |
|||
// 关键字 签署位置类型为:1必填 |
|||
keyword: '', |
|||
// 关键字偏移(左右),单位像素 签署位置类型为:1必填 |
|||
offsetX: '', |
|||
// 关键字偏移(上下),单位像素 签署位置类型为:1必填 |
|||
offsetY: '', |
|||
// 签署位置类型为:2必填 * 坐标签署页码,格式“A-B",A为起始页,B为结束页,如“1-5"表示从第1到第5页。“0-0"表示签所有页 |
|||
pageNo: '3-3', |
|||
// 签名图片和时间戳分开时必填 * 1:签字位置(默认); * 6: 签署时间 |
|||
signatureType: '', |
|||
// 是否附加签名时间,签名时间显示于签字/印章图片的下方,内层外层需要同时填入才可生效 * 1:附加;0:不附加 (默认) |
|||
timestamp: '1', |
|||
// 签署位置类型(1:关键字;2:坐标;3:签名域) |
|||
type: '2', |
|||
// 签字/盖章宽度 |
|||
width: '75', |
|||
// 签字/盖章高度 |
|||
height: '30' |
|||
} |
|||
], |
|||
// 是否必填:是 医护人员编号,用户需要在系统中已导入、实名认证和采集了签字 |
|||
userId: this.userData.employeeId |
|||
} |
|||
} |
|||
// 患者签参数 |
|||
const patientSignPositionsParams = [{ |
|||
// 坐标签署X轴(数值为0-1之间的小数,以左下角为原点0,右角顶点为1) * 签署位置类型为:2必填 |
|||
coX: '0.623', |
|||
// 坐标签署Y轴(数值为0-1之间的小数,以左下角为原点0,右角顶点为1) * 签署位置类型为:2必填 |
|||
coY: '0.483', |
|||
// 关键字 签署位置类型为:1必填 |
|||
keyword: '', |
|||
// 关键字偏移(左右),单位像素 签署位置类型为:1必填 |
|||
offsetX: '', |
|||
// 关键字偏移(上下),单位像素 签署位置类型为:1必填 |
|||
offsetY: '', |
|||
// 签署位置类型为:2必填 * 坐标签署页码,格式“A-B",A为起始页,B为结束页,如“1-5"表示从第1到第5页。“0-0"表示签所有页 |
|||
pageNo: '3-3', |
|||
// 签名图片和时间戳分开时必填 * 1:签字位置(默认); * 6: 签署时间 |
|||
signatureType: '', |
|||
// 是否附加签名时间,签名时间显示于签字/印章图片的下方,内层外层需要同时填入才可生效 * 1:附加;0:不附加 (默认) |
|||
timestamp: '1', |
|||
// 签署位置类型(1:关键字;2:坐标;3:签名域) |
|||
type: '2', |
|||
// 签字/盖章宽度 |
|||
width: '75', |
|||
// 签字/盖章高度 |
|||
height: '30' |
|||
}] |
|||
this.exportPDF({ |
|||
paperSize: 'A4', // 纸张格式 |
|||
customOrientation: 'portrait', // 纸张方向 |
|||
customMargin: [10, 10, 10, 10], // 页边距 |
|||
customElementId: 'printH5', |
|||
isHtml2canvas: true, |
|||
isCurrentPageLoad: true, // CA发送后端接口是否使用loading |
|||
isPadPatientSign: true, // 是否移动患者签 |
|||
caParams: caParams, |
|||
isHaveDoctorSign: true, // 是否有医生签名 |
|||
patientSignPositionsParams: patientSignPositionsParams // 发送ca签的患者签名位置 |
|||
}) |
|||
} else { |
|||
this.getInfo() |
|||
} |
|||
}, |
|||
// 刷新页面 |
|||
caRefresh() { |
|||
this.getInfo() |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style lang="scss"> |
|||
.lhoperaConsent { |
|||
background: #fff; |
|||
padding: 10px 0 50px 20px; |
|||
.record-file-archives { |
|||
width: 180px; |
|||
} |
|||
.talk-content { |
|||
text-align: left; |
|||
.indent { |
|||
text-indent: 2em; |
|||
} |
|||
p { |
|||
margin: 3px 0; |
|||
} |
|||
} |
|||
.patientInfo { |
|||
margin-bottom: 20px; |
|||
} |
|||
.border { |
|||
border: 1px solid #000; |
|||
} |
|||
.border-bottom { |
|||
border-bottom: 1px solid #000; |
|||
} |
|||
.sign { |
|||
cursor: pointer; |
|||
color: #46a1ff; |
|||
font-weight: 400; |
|||
} |
|||
.opera-icon { |
|||
// display: none; |
|||
font-size: 20px; |
|||
} |
|||
.sign-title { |
|||
font-size: 24px; |
|||
font-weight: 700; |
|||
text-align: center; |
|||
margin: 20px 0; |
|||
} |
|||
.yifang, |
|||
.huanfang { |
|||
margin-bottom: 20px; |
|||
padding: 12px; |
|||
border: 1px solid #000; |
|||
} |
|||
.yifang-title, |
|||
.huanfang-title { |
|||
font-size: 20px; |
|||
font-weight: 700; |
|||
} |
|||
.sign-right-father { |
|||
display: flex; |
|||
justify-content: flex-end; |
|||
} |
|||
.sign-right-huanfang { |
|||
width: 420px; |
|||
text-align: left; |
|||
} |
|||
.sign-right-yuanfang { |
|||
width: 360px; |
|||
text-align: left; |
|||
} |
|||
.el-input__inner { |
|||
text-align: center !important; |
|||
} |
|||
.el-radio { |
|||
margin-right: 8px; |
|||
} |
|||
.el-input__prefix { |
|||
display: none; |
|||
} |
|||
.el-date-editor.el-input, |
|||
.el-date-editor.el-input__inner { |
|||
width: 190px; |
|||
} |
|||
.el-input__suffix { |
|||
top: -7px; |
|||
} |
|||
.zdfa { |
|||
.el-checkbox { |
|||
display: block; |
|||
} |
|||
} |
|||
.el-table--border::after, |
|||
.el-table--group::after, |
|||
.el-table::before { |
|||
z-index: 1; |
|||
} |
|||
.el-table--border::after, |
|||
.el-table--group::after, |
|||
.el-table::before { |
|||
background: #000; |
|||
} |
|||
.el-input__icon { |
|||
line-height: 100% !important; |
|||
} |
|||
.el-input__suffix { |
|||
top: -2px !important; |
|||
right: -8px; |
|||
} |
|||
.el-table--enable-row-hover .el-table__body tr:hover > td.el-table__cell { |
|||
background: none !important; |
|||
} |
|||
.el-select { |
|||
width: auto !important; |
|||
} |
|||
.el-checkbox { |
|||
margin-right: 0; |
|||
} |
|||
.el-form-item { |
|||
margin-bottom: 0; |
|||
} |
|||
.el-form-item__error { |
|||
top: 30px; |
|||
right: 0; |
|||
left: 140px; |
|||
} |
|||
.zjClass { |
|||
.el-input__inner { |
|||
border-bottom: none !important; |
|||
width: 100px; |
|||
// text-align: left; |
|||
color: #000; |
|||
} |
|||
} |
|||
} |
|||
</style> |
|||
@ -1,466 +0,0 @@ |
|||
<template> |
|||
<div> |
|||
<h5formButton |
|||
ref="h5formButtonRef" |
|||
:archive-case-c-r-f-item="archiveCaseCRFItem" |
|||
:get-save-eidt-title="saveEidtTitle" |
|||
:edit-save-button-show="(positionName.join().includes('医生') || positionName.join().includes('护士')) ? true : false" |
|||
/> |
|||
<div |
|||
id="printH5" |
|||
class="form-setclass" |
|||
style=" |
|||
page-break-after:always;width:100%;margin: 0 auto;padding:0 20px;" |
|||
> |
|||
<!-- v-if="currentUrl.includes('192')" --> |
|||
<p style="color:#000000;font-size:30px;margin:20px 0 0 0;text-align:center;"> |
|||
温州医科大学附属眼视光医院</p> |
|||
<p style="color:#000000;font-size:32px;margin:20px 0 30px 0;text-align:center;"> |
|||
告知书</p> |
|||
<el-form ref="form" :model="formListValue" :disabled="saveEidtTitle==='编辑' ? true : false"> |
|||
<div style="text-align: left;"> |
|||
<div |
|||
style=" |
|||
font-weight: 700; |
|||
text-indent: 0;" |
|||
>尊敬的患者:</div> |
|||
<p> 您好!本次住院期间,您对自己的病情、治疗方案、医疗风险、治疗费用等情况具有知情权、选择权、隐私权等权利,同时,您也具有向医护人员详尽、客观的提供个人信息和与健康有关信息的义务,包括但不限于患者真实的姓名、性别、年龄、身份证、地址、联系方式、报销类别、既往曾患疾病及诊疗经过、药物过敏史及其它有关情况等。提供虚假的个人信息、冒用他人姓名或使用他人社保卡就诊,可能导致费用无法结算,情节严重者可能涉嫌犯罪,如骗保等;也可能导致民事纠纷处理中无法举证。提供与健康有关的虚假信息,可能导致医护人员在诊疗过程中的误判,给您带来损害。由您的上述行为导致的不良后果,医疗机构不承担法律责任。</p> |
|||
<p>为了保障您的权利得到顺利实现,请您在医疗活动中,认真听取医务人员(含护理人员)告知的内容,对其中不理解的部分立即提出,并向医务人员获取解答,如无疑问,将默认为您已经知晓并理解。如实回答医务人员的询问,您也可以就您关切的间题主动与医生讨论。<b>对手术、特殊治疗、特殊检查、贵重药品和耗材等需要书面确认,请您慎重考虑后选择治疗方式,并签字确认</b>。医疗过程中请积极配合医务人员治疗,谨遵医嘱;您若不能积极配合,将会影响到您的医疗效果,甚至可能导致严重的后果。治疗结束后,如有需要,您可以持有效身份证到综合服务台申请复印住院病历。如委托他人办理,持两人身份证和委托书办理。</p> |
|||
<p> 根据《中华人民共和国民法典》及《病历书写基本规范》等相关规定,您可以自己行使上述权力,也可以授权给他人代为行使上述权力,但是授权他人代为行使上述权力时,需要签订书面授权书。</p> |
|||
<p>同时,邀请您共同参与到医院的医疗质量和医疗安全工作中来。</p> |
|||
<p> 特此告知。</p> |
|||
</div> |
|||
<div> |
|||
<div |
|||
style=" |
|||
display: flex; |
|||
justify-content: flex-end; |
|||
margin: 0 auto;' |
|||
" |
|||
> |
|||
<div |
|||
style=" |
|||
width: 300px; |
|||
text-align: left; |
|||
" |
|||
> |
|||
<div |
|||
style="display: flex;align-items: center;" |
|||
> |
|||
<div> |
|||
<span>告知人:</span> |
|||
<span |
|||
v-if="!formListValue.gzrSign && saveEidtTitle==='保存'" |
|||
style=" |
|||
cursor: pointer; |
|||
color: #46a1ff; |
|||
font-weight: 400;" |
|||
@click="getSystomSign('gzrSign')" |
|||
>获取签字</span> |
|||
</div> |
|||
<span v-if="formListValue.gzrSign"> |
|||
<img |
|||
:src="formListValue.gzrSign" |
|||
alt="" |
|||
width="90px" |
|||
@click="getSystomSign('gzrSign')" |
|||
> |
|||
<i |
|||
v-show="saveEidtTitle==='保存'" |
|||
class="el-icon-circle-close" |
|||
style="font-size:20px;cursor:pointer;" |
|||
@click="imageRemoveClick('gzrSign')" |
|||
/> |
|||
</span> |
|||
</div> |
|||
<div style="margin-top: 10px;display:flex;"> |
|||
<span>日 期:</span> |
|||
<el-date-picker |
|||
v-model="formListValue.gzrTime" |
|||
value-format="yyyy-MM-dd" |
|||
style="margin-right: 6px;" |
|||
type="date" |
|||
placeholder="日期" |
|||
/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div |
|||
style=" |
|||
display: flex; |
|||
justify-content: flex-end; |
|||
margin-top:20px;" |
|||
> |
|||
<div |
|||
style=" |
|||
width: 300px; |
|||
text-align: left;" |
|||
> |
|||
<p style="font-weight: 700;">上述内容本人已充分了解。</p> |
|||
<div style="display: flex;align-items: center;"> |
|||
<div style="margin-top: 10px;margin-bottom: 10px;"> |
|||
<span>患者/被授权人:</span> |
|||
<span |
|||
v-if="!formListValue.hzsqrSign && saveEidtTitle==='保存'" |
|||
style=" |
|||
cursor: pointer; |
|||
color: #46a1ff; |
|||
font-weight: 400;" |
|||
@click="singHandle('hzsqrSign')" |
|||
>点击签字</span> |
|||
</div> |
|||
<span v-if="formListValue.hzsqrSign"> |
|||
<img |
|||
:src="formListValue.hzsqrSign" |
|||
alt="" |
|||
width="90px" |
|||
@click="singHandle('hzsqrSign')" |
|||
> |
|||
<i |
|||
v-show="saveEidtTitle==='保存'" |
|||
class="el-icon-circle-close" |
|||
style="font-size:20px;cursor:pointer;" |
|||
@click="imageRemoveClick('hzsqrSign')" |
|||
/> |
|||
</span> |
|||
</div> |
|||
<div> |
|||
<span>日 期:</span> |
|||
<el-date-picker |
|||
v-model="formListValue.hzsqrTime" |
|||
value-format="yyyy-MM-dd" |
|||
style="margin-right: 6px;" |
|||
type="date" |
|||
placeholder="日期" |
|||
/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</el-form> |
|||
</div> |
|||
<!-- ------------------------------------打印------------------------------------------------- --> |
|||
<div |
|||
id="printA4" |
|||
class="patientBlPosition" |
|||
style=" |
|||
page-break-after:always;width:500px;font-family:SimHei;margin: 0 auto;" |
|||
> |
|||
<!-- v-if="currentUrl.includes('192')" --> |
|||
<p style="color:#000000;font-size:30px;text-align:center;"> |
|||
温州医科大学附属眼视光医院</p> |
|||
<p style="color:#000000;font-size:32px;margin:10px 0 20px 0;text-align:center;"> |
|||
告知书</p> |
|||
<el-form ref="form" :model="formListValue" :disabled="saveEidtTitle==='编辑' ? true : false"> |
|||
<div style="text-align: left;"> |
|||
<div |
|||
style=" |
|||
font-weight: 700; |
|||
text-indent: 0;" |
|||
>尊敬的患者:</div> |
|||
<p style="font-size:12px;"> 您好!本次住院期间,您对自己的病情、治疗方案、医疗风险、治疗费用等情况具有知情权、选择权、隐私权等权利,同时,您也具有向医护人员详尽、客观的提供个人信息和与健康有关信息的义务,包括但不限于患者真实的姓名、性别、年龄、身份证、地址、联系方式、报销类别、既往曾患疾病及诊疗经过、药物过敏史及其它有关情况等。提供虚假的个人信息、冒用他人姓名或使用他人社保卡就诊,可能导致费用无法结算,情节严重者可能涉嫌犯罪,如骗保等;也可能导致民事纠纷处理中无法举证。提供与健康有关的虚假信息,可能导致医护人员在诊疗过程中的误判,给您带来损害。由您的上述行为导致的不良后果,医疗机构不承担法律责任。</p> |
|||
<p style="font-size:12px;">为了保障您的权利得到顺利实现,请您在医疗活动中,认真听取医务人员(含护理人员)告知的内容,对其中不理解的部分立即提出,并向医务人员获取解答,如无疑问,将默认为您已经知晓并理解。如实回答医务人员的询问,您也可以就您关切的间题主动与医生讨论。对手术、特殊治疗、特殊检查、贵重药品和耗材等需要书面确认,请您慎重考虑后选择治疗方式,并签字确认。医疗过程中请积极配合医务人员治疗,谨遵医嘱;您若不能积极配合,将会影响到您的医疗效果,甚至可能导致严重的后果。治疗结束后,如有需要,您可以持有效身份证到综合服务台申请复印住院病历。如委托他人办理,持两人身份证和委托书办理。</p> |
|||
<p style="font-size:12px;"> 根据《中华人民共和国民法典》及《病历书写基本规范》等相关规定,您可以自己行使上述权力,也可以授权给他人代为行使上述权力,但是授权他人代为行使上述权力时,需要签订书面授权书。</p> |
|||
<p style="font-size:12px;">同时,邀请您共同参与到医院的医疗质量和医疗安全工作中来。</p> |
|||
<p style="font-size:12px;"> 特此告知。</p> |
|||
</div> |
|||
<div> |
|||
<div |
|||
style=" |
|||
display: flex; |
|||
justify-content: flex-end; |
|||
margin: 0 auto;' |
|||
" |
|||
> |
|||
<div |
|||
style=" |
|||
width: 150px; |
|||
text-align: left; |
|||
" |
|||
> |
|||
<div |
|||
style="display: flex;align-items: center;" |
|||
> |
|||
<div style="font-size:12px;"> |
|||
<span>告知人:</span> |
|||
</div> |
|||
<span v-if="formListValue.gzrSign"> |
|||
<img |
|||
:src="formListValue.gzrSign" |
|||
alt="" |
|||
width="90px" |
|||
> |
|||
</span> |
|||
</div> |
|||
<div style="margin-top: 4px;display:flex;font-size:12px;"> |
|||
<span>日 期:{{ formListValue.gzrTime }}</span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div |
|||
style=" |
|||
display: flex; |
|||
justify-content: flex-end; |
|||
margin-top:4px;" |
|||
> |
|||
<div |
|||
style=" |
|||
width: 150px; |
|||
text-align: left;" |
|||
> |
|||
<p style="font-weight: 700;font-size:12px;">上述内容本人已充分了解。</p> |
|||
<div style="display: flex;align-items: center;"> |
|||
<div style="margin-top: 4px;margin-bottom: 4px;font-size:12px;"> |
|||
<span>患者/被授权人:</span> |
|||
</div> |
|||
<span v-if="formListValue.hzsqrSign"> |
|||
<img |
|||
:src="formListValue.hzsqrSign" |
|||
alt="" |
|||
width="90px" |
|||
@click="singHandle('hzsqrSign')" |
|||
> |
|||
</span> |
|||
</div> |
|||
<div style="font-size:12px;"> |
|||
<span>日 期:{{ formListValue.hzsqrTime }}</span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</el-form> |
|||
</div> |
|||
<div class="saveInfo"> |
|||
<span style="padding-right: 10px;">保存人:{{ formListValue.createName ? formListValue.createName : '-' }}</span> |
|||
<span>保存时间:{{ formListValue.createDate ? formListValue.createDate : '-' }}</span> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import signGet from '@/mixins/signGet' |
|||
import publicFile from '@/mixins/publicFile' |
|||
import h5formButton from '@/components/H5formOhter/h5formButton' |
|||
import signNSV from '@/mixins/sign-NSV' |
|||
import htmlToPdfToBlob from '@/mixins/htmlToPdfToBlob' |
|||
export default { |
|||
components: { |
|||
h5formButton |
|||
}, |
|||
mixins: [signGet, publicFile, signNSV, htmlToPdfToBlob], |
|||
props: { |
|||
archiveCaseCRFItem: { |
|||
// type: Object, |
|||
default: () => { } |
|||
}, |
|||
currentUrl: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
formContent: { |
|||
default: () => {} |
|||
}, |
|||
operaId: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
pageTitle: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
patientId: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
patientInfoObj: { |
|||
type: Object, |
|||
default: () => { } |
|||
}, |
|||
userData: { |
|||
type: Object, |
|||
default: () => { } |
|||
}, |
|||
roleList: { |
|||
type: Array, |
|||
default: () => [] |
|||
}, |
|||
positionName: { |
|||
type: Array, |
|||
default: () => [] |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
saveEidtTitle: '编辑', |
|||
formListValue: { |
|||
formName: '告知书', |
|||
createName: '', |
|||
createDate: '', |
|||
// 告知人签字 |
|||
gzrSign: '', |
|||
gzrTime: '', |
|||
// 患者授权人签字 |
|||
hzsqrSign: '', |
|||
hzsqrTime: '' |
|||
}, |
|||
operaList: [] |
|||
} |
|||
}, |
|||
computed: { |
|||
noticeBook: { |
|||
get() { |
|||
return this.$store.getters.noticeBook |
|||
} |
|||
} |
|||
}, |
|||
watch: { |
|||
noticeBook: { |
|||
handler(value) { |
|||
console.log(value) |
|||
value.hzsqrSign ? this.formListValue.hzsqrSign = value.hzsqrSign : '' |
|||
}, |
|||
deep: true, |
|||
immediate: true |
|||
}, |
|||
formContent: { |
|||
handler(value) { |
|||
console.log(Object.values(value).length) |
|||
// Object.values(value).length === Object.values(this.formListValue).length ? this.formListValue = value : '' |
|||
}, |
|||
deep: true |
|||
} |
|||
}, |
|||
created() { |
|||
}, |
|||
destroyed() { |
|||
console.log('告知书destroyed') |
|||
// this.$parent.deleteErmUpdating(this.archiveCaseCRFItem.id) |
|||
}, |
|||
methods: { |
|||
init() { |
|||
this.getOperaList() |
|||
this.getInfo() |
|||
// this.$parent.deleteErmUpdating(this.archiveCaseCRFItem.id) |
|||
}, |
|||
// 点编辑按钮自动获取签名 |
|||
getSign() { |
|||
this.getSystomSign('gzrSign') |
|||
}, |
|||
// 签名 |
|||
singHandle(text) { |
|||
if (text === 'hzsqrSign' && !this.formListValue.gzrSign) { |
|||
this.$message({ |
|||
message: '请告知人先签字', |
|||
type: 'warning' |
|||
}) |
|||
return |
|||
} |
|||
const value = { |
|||
text: text, |
|||
pageName: 'noticeBook' |
|||
} |
|||
// const loading = this.$loading({ |
|||
// lock: true, |
|||
// text: '签字加载中请稍等', |
|||
// spinner: 'el-icon-loading', |
|||
// background: 'rgba(255, 255, 255, 0.7)' |
|||
// }) |
|||
// this.$store.commit('beginSign', value) |
|||
this.initPlugin(text) |
|||
}, |
|||
// 获取表单 |
|||
async getInfo() { |
|||
const { data: res } = await this.$http.get('/quguang/notification/getNotificationInfo', { |
|||
params: { |
|||
formId: this.archiveCaseCRFItem.id, |
|||
formName: this.archiveCaseCRFItem.formName, |
|||
formDate: this.archiveCaseCRFItem.formDate, |
|||
patientIdNumber: this.archiveCaseCRFItem.patientIdNumber, |
|||
patientId: this.patientId |
|||
} |
|||
}) |
|||
if (res.code === 0) { |
|||
this.$emit('load') |
|||
if (this.archiveCaseCRFItem.id === res.data.formId) { |
|||
// console.log(res.data) |
|||
Object.keys(res.data).forEach((item) => { |
|||
// console.log(res.data) |
|||
// 如果data中没有定义这个字段,就自动加进去 |
|||
this.formListValue[item] || typeof this.formListValue[item] === 'boolean' ? '' : this.formListValue[item] = '' |
|||
// 如果不为空就赋值上去 |
|||
if ((res.data[item] && res.data[item] !== 'false' && res.data[item] !== 'true') || typeof res.data[item] === 'number') { |
|||
this.formListValue[item] = res.data[item] |
|||
} |
|||
if (res.data[item] && typeof res.data[item] !== 'number') { |
|||
res.data[item].includes('[') || res.data[item] === 'false' || res.data[item] === 'true' ? this.formListValue[item] = JSON.parse(res.data[item]) : '' |
|||
} |
|||
}) |
|||
this.formListValue.gzrTime ? '' : this.formListValue.gzrTime = this.$moment().format('YYYY-MM-DD') |
|||
this.formListValue.hzsqrTime ? '' : this.formListValue.hzsqrTime = this.$moment().format('YYYY-MM-DD') |
|||
} |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
// 获取术士项目列表 |
|||
async getOperaList() { |
|||
const { data: res } = await this.$http.get('/quguang/opera/patient/getOperaList') |
|||
if (res.code === 0) { |
|||
res.data.forEach(item => { |
|||
item.name = item.operaName |
|||
item.id = item.operaId |
|||
}) |
|||
this.operaList = res.data |
|||
console.log(res.data) |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
// 保存表单 |
|||
async saveAllForm() { |
|||
const saveLoad = this.$loading({ |
|||
lock: true, |
|||
text: '保存表单中请稍等...', |
|||
spinner: 'el-icon-loading', |
|||
background: 'rgba(255, 255, 255, 0.7)' |
|||
}) |
|||
const formvalue = JSON.parse(JSON.stringify(this.formListValue)) |
|||
Object.keys(formvalue).forEach(item => { |
|||
if (Array.isArray(formvalue[item])) { |
|||
formvalue[item] = JSON.stringify(formvalue[item]) |
|||
} |
|||
}) |
|||
const { data: res } = await this.$http.post('/quguang/notification/saveNotification', formvalue) |
|||
if (res.code === 0) { |
|||
this.saveEidtTitle = '编辑' |
|||
// this.$message({ |
|||
// message: '您已保存成功', |
|||
// type: 'success' |
|||
// }) |
|||
saveLoad.close() |
|||
// this.loading = this.$loading({ |
|||
// lock: true, |
|||
// text: '转存PDF中请稍等...', |
|||
// spinner: 'el-icon-loading', |
|||
// background: 'rgba(255, 255, 255, 0.7)' |
|||
// }) |
|||
this.exportPDF({ |
|||
paperSize: 'A4', // 纸张格式 |
|||
customOrientation: 'portrait', // 纸张方向 |
|||
header: '100', // 页眉 |
|||
customMargin: [10, 10, 10, 10], // 页边距 |
|||
customElementId: 'printA4', |
|||
isCurrentPageLoad: true // CA发送后端接口是否使用loading |
|||
}) |
|||
this.getInfo() |
|||
this.pageTitle === '手术列表' ? this.$emit('closeDialog') : '' |
|||
} else { |
|||
saveLoad.close() |
|||
this.$message.error(res.msg) |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style lang="scss"> |
|||
|
|||
</style> |
|||
File diff suppressed because it is too large
File diff suppressed because it is too large
File diff suppressed because it is too large
@ -1,674 +0,0 @@ |
|||
<template> |
|||
<div> |
|||
<h5formButton |
|||
v-if="pageTitle === '档案'" |
|||
ref="h5formButtonRef" |
|||
:archive-case-c-r-f-item="archiveCaseCRFItem" |
|||
:get-save-eidt-title="saveEidtTitle" |
|||
:edit-save-button-show="true" |
|||
/> |
|||
<div |
|||
id="printH5" |
|||
class="operation-record" |
|||
:class="pageTitle === '手术列表' ? '' : 'printSet'" |
|||
> |
|||
<p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;"> |
|||
手术记录</p> |
|||
<div class="patient"> |
|||
<div class="patientInfo-one width-100 left"> |
|||
<span style="padding-right:10px;"> |
|||
<span style="heigth:40px;">姓名:</span> |
|||
<el-input v-model="formListValue.patientName" placeholder="姓名" /> |
|||
</span> |
|||
<span style="padding-right:10px;"> |
|||
<span>PID:</span> |
|||
<el-input v-model="formListValue.patientId" placeholder="PID" /> |
|||
</span> |
|||
<span style="padding-right:10px;"> |
|||
<span>性别:</span> |
|||
<el-input v-model="formListValue.patientSex" placeholder="性别" /> |
|||
</span> |
|||
<span> |
|||
<span>出生日期:</span> |
|||
<el-date-picker |
|||
v-model="formListValue.patientBirthday" |
|||
type="date" |
|||
placeholder="选择日期" |
|||
alue-format="yyyy-MM-dd" |
|||
/> |
|||
</span> |
|||
<span style="padding-right:10px;"> |
|||
<span>年龄:</span> |
|||
<el-input v-model="formListValue.patientAge" placeholder="年龄" /> |
|||
</span> |
|||
</div> |
|||
<div class="patientInfo-two margin-top-20"> |
|||
<span style="padding-right:10px;" class="textarea-760 flex-2"> |
|||
<span>拟施手术:</span> |
|||
<div class="width-230 left select-width-auto flex-2"> |
|||
<div v-if="(saveEidtTitle==='编辑' && formListValue.nsOuOperaName) || saveEidtTitle==='保存'" class="flex-2 margin-right-6"> |
|||
<span>OU</span> |
|||
<el-select |
|||
v-model="formListValue.nsOuOperaName" |
|||
clearable |
|||
:disabled="formListValue.nsOdOperaName.length>0 || formListValue.nsOsOperaName.length>0" |
|||
placeholder="请选择" |
|||
> |
|||
<el-option |
|||
v-for="(item,index) in operaList" |
|||
:key="index" |
|||
:label="item.bieMing" |
|||
:value="item.bieMing" |
|||
/> |
|||
</el-select> |
|||
</div> |
|||
<div v-if="(saveEidtTitle==='编辑' && formListValue.nsOdOperaName) || saveEidtTitle==='保存'" class="flex-2 margin-right-6"> |
|||
<span>OD</span> |
|||
<el-select |
|||
v-model="formListValue.nsOdOperaName" |
|||
clearable |
|||
:disabled="formListValue.nsOuOperaName.length>0" |
|||
placeholder="请选择" |
|||
> |
|||
<el-option |
|||
v-for="(item,index) in operaList" |
|||
:key="index" |
|||
:label="item.bieMing" |
|||
:value="item.bieMing" |
|||
/> |
|||
</el-select> |
|||
</div> |
|||
<div v-if="(saveEidtTitle==='编辑' && formListValue.nsOsOperaName) || saveEidtTitle==='保存'" class="flex-2"> |
|||
<span>OS</span> |
|||
<el-select |
|||
v-model="formListValue.nsOsOperaName" |
|||
clearable |
|||
:disabled="formListValue.nsOuOperaName.length>0" |
|||
placeholder="请选择" |
|||
> |
|||
<el-option |
|||
v-for="(item,index) in operaList" |
|||
:key="index" |
|||
:label="item.bieMing" |
|||
:value="item.bieMing" |
|||
/> |
|||
</el-select> |
|||
</div> |
|||
</div> |
|||
</span> |
|||
</div> |
|||
</div> |
|||
<el-form ref="form" :model="formListValue" :disabled="saveEidtTitle==='编辑' ? true : false"> |
|||
<div class="operation-record-table"> |
|||
<el-table :data="tableData" :span-method="objectSpanMethod" border style="width: 100%; margin-top: 20px"> |
|||
<!-- <el-table-column label="" width="50" align="center" :resizable="false"> |
|||
<template slot-scope="scope"> |
|||
<span class="sign" @click="pacsLinkClick"> |
|||
<p>手</p> |
|||
<p>术</p> |
|||
<p>记</p> |
|||
<p>录</p> |
|||
</span> |
|||
</template> |
|||
</el-table-column> --> |
|||
<el-table-column prop="name" label="手术记录" align="center" width="130" :resizable="false" /> |
|||
<el-table-column label="右眼(OD)" :resizable="false" align="center"> |
|||
<template slot-scope="scope"> |
|||
<!-- 手术方式 --> |
|||
<div v-if="scope.row.operationList.length>0" class="width-120 center operaListSpan"> |
|||
<!-- <span v-if="formListValue.ssfsOd"> |
|||
<span>{{ formListValue.ssfsOd }}</span> |
|||
<i |
|||
class="el-icon-circle-close opera-icon" |
|||
style="cursor: pointer;" |
|||
@click="closeOperaHandle('ssfsOd')" |
|||
/> |
|||
</span> |
|||
<el-select |
|||
v-if="!formListValue.ssfsOd" |
|||
v-model="formListValue.ssfsOd" |
|||
class="width-180" |
|||
placeholder="请选择" |
|||
> |
|||
<el-option |
|||
v-for="item in operaList" |
|||
:key="item.operaId" |
|||
:label="item.operaName" |
|||
:value="item.bieMing" |
|||
/> |
|||
</el-select> --> |
|||
<el-select |
|||
v-model="formListValue.ssfsOd" |
|||
class="width-180" |
|||
placeholder="请选择" |
|||
> |
|||
<el-option |
|||
v-for="item in operaList" |
|||
:key="item.operaId" |
|||
:label="item.bieMing" |
|||
:value="item.bieMing" |
|||
/> |
|||
</el-select> |
|||
</div> |
|||
<!-- 矫正度数 --> |
|||
<div v-if="scope.row.JZDS.length>0" class="width-50 center"> |
|||
<el-input v-model="formListValue.jzdsOd1" placeholder="" /> / |
|||
<el-input v-model="formListValue.jzdsOd2" placeholder="" /> X |
|||
<el-input v-model="formListValue.jzdsOd3" placeholder="" /> |
|||
</div> |
|||
<!-- 光学/治疗区直径 --> |
|||
<div v-if="scope.row.GXZL.length>0" class="width-70 center"> |
|||
<el-input v-model="formListValue.gxOd" placeholder="" /> / |
|||
<el-input v-model="formListValue.zlqOd" placeholder="" /> mm |
|||
</div> |
|||
<!-- 吸引环参数 --> |
|||
<div v-if="scope.row.XYHCS.length>0" class="width-120 center"> |
|||
<el-input v-model="formListValue.xyhOd" placeholder="" /> |
|||
</div> |
|||
<!-- 瓣/帽厚度 --> |
|||
<div v-if="scope.row.BDS.length>0" class="width-120 center"> |
|||
<el-input v-model="formListValue.bmhdOd" placeholder="" /> μm |
|||
</div> |
|||
<!-- 切削深度 --> |
|||
<div v-if="scope.row.QXSD.length>0" class="width-120 center"> |
|||
<el-input v-model="formListValue.xqsdOd" placeholder="" /> μm |
|||
</div> |
|||
<!-- 剩余基质厚度 --> |
|||
<div v-if="scope.row.SYJZHD.length>0" class="width-120 center"> |
|||
<el-input v-model="formListValue.syjzhdOd" placeholder="" /> μm |
|||
</div> |
|||
<!-- 移心量 --> |
|||
<div v-if="scope.row.YXL.length>0" class="width-70 center"> |
|||
r |
|||
<el-input v-model="formListValue.yxlOd1" placeholder="" /> mm/Angle |
|||
<el-input v-model="formListValue.yxlOd2" placeholder="" /> ° |
|||
</div> |
|||
<!-- 术中情况 --> |
|||
<div v-if="scope.row.SZQK.length>0" class="width-120 center"> |
|||
<el-input v-model="formListValue.szqkOd" placeholder="" /> |
|||
</div> |
|||
<!-- 手术仪器 --> |
|||
<div v-if="scope.row.operaYQ.length>0" class="center"> |
|||
<el-select v-model="formListValue.ssyqOd" placeholder="请选择" clearable> |
|||
<el-option |
|||
v-for="(item,index) in scope.row.operaYQ" |
|||
:key="index" |
|||
:label="item.name" |
|||
:value="item.name" |
|||
/> |
|||
</el-select> |
|||
</div> |
|||
<!-- 签字 --> |
|||
<div v-if="scope.row.QZ.length>0" class="left"> |
|||
<span |
|||
v-if="!formListValue.sign && saveEidtTitle==='保存'" |
|||
class="sign" |
|||
@click="getZdDoctorSign('sign')" |
|||
>获取签字</span> |
|||
<span v-if="formListValue.sign"> |
|||
<img |
|||
:src="formListValue.sign" |
|||
alt="" |
|||
width="90px" |
|||
> |
|||
<i |
|||
v-show="saveEidtTitle==='保存'" |
|||
class="el-icon-circle-close" |
|||
style="font-size:20px;cursor:pointer;" |
|||
@click="imageRemoveClick('sign')" |
|||
/> |
|||
</span> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="左眼(OS)" :resizable="false" align="center"> |
|||
<template slot-scope="scope"> |
|||
<!-- 手术方式 --> |
|||
<div v-if="scope.row.operationList.length>0" class="center operaListSpan"> |
|||
<!-- <span v-if="formListValue.ssfsOs"> |
|||
<span>{{ formListValue.ssfsOs }}</span> |
|||
<i |
|||
class="el-icon-circle-close opera-icon" |
|||
style="cursor: pointer;" |
|||
@click="closeOperaHandle('ssfsOs')" |
|||
/> |
|||
</span> |
|||
<el-select |
|||
v-if="!formListValue.ssfsOs" |
|||
v-model="formListValue.ssfsOs" |
|||
class="width-180" |
|||
placeholder="请选择" |
|||
> |
|||
<el-option |
|||
v-for="item in operaList" |
|||
:key="item.operaId" |
|||
:label="item.operaName" |
|||
:value="item.operaName" |
|||
/> |
|||
</el-select> --> |
|||
<el-select |
|||
v-model="formListValue.ssfsOs" |
|||
class="width-180" |
|||
placeholder="请选择" |
|||
> |
|||
<el-option |
|||
v-for="item in operaList" |
|||
:key="item.operaId" |
|||
:label="item.bieMing" |
|||
:value="item.bieMing" |
|||
/> |
|||
</el-select> |
|||
</div> |
|||
<!-- 度数矫正 --> |
|||
<div v-if="scope.row.JZDS.length>0" class="width-50 center"> |
|||
<el-input v-model="formListValue.jzdsOs1" placeholder="" /> / |
|||
<el-input v-model="formListValue.jzdsOs2" placeholder="" /> X |
|||
<el-input v-model="formListValue.jzdsOs3" placeholder="" /> |
|||
</div> |
|||
<!-- 光学/治疗区直径 --> |
|||
<div v-if="scope.row.GXZL.length>0" class="width-70 center"> |
|||
<el-input v-model="formListValue.gxOs" placeholder="" /> / |
|||
<el-input v-model="formListValue.zlqOs" placeholder="" /> mm |
|||
</div> |
|||
<!-- 吸引环参数 --> |
|||
<div v-if="scope.row.XYHCS.length>0" class="width-120 center"> |
|||
<el-input v-model="formListValue.xyhOs" placeholder="" /> |
|||
</div> |
|||
<!-- 瓣度数 --> |
|||
<div v-if="scope.row.BDS.length>0" class="width-120 center"> |
|||
<el-input v-model="formListValue.bmhdOs" placeholder="" /> μm |
|||
</div> |
|||
<!-- 切削深度 --> |
|||
<div v-if="scope.row.QXSD.length>0" class="width-120 center"> |
|||
<el-input v-model="formListValue.xqsdOs" placeholder="" /> μm |
|||
</div> |
|||
<!-- 剩余基质厚度 --> |
|||
<div v-if="scope.row.SYJZHD.length>0" class="width-120 center"> |
|||
<el-input v-model="formListValue.syjzhdOs" placeholder="" /> μm |
|||
</div> |
|||
<!-- 移心量 --> |
|||
<div v-if="scope.row.YXL.length>0" class="width-70 center"> |
|||
r |
|||
<el-input v-model="formListValue.yxlOs1" placeholder="" /> mm/Angle |
|||
<el-input v-model="formListValue.yxlOs2" placeholder="" /> ° |
|||
</div> |
|||
<!-- 术中情况 --> |
|||
<div v-if="scope.row.SZQK.length>0" class="width-120 center"> |
|||
<el-input v-model="formListValue.szqkOs" placeholder="" /> |
|||
</div> |
|||
<!-- 手术仪器 --> |
|||
<div v-if="scope.row.operaYQ.length>0" class="center"> |
|||
<el-select v-model="formListValue.ssyqOs" placeholder="请选择"> |
|||
<el-option |
|||
v-for="(item,index) in scope.row.operaYQ" |
|||
:key="index" |
|||
:label="item.name" |
|||
:value="item.name" |
|||
/> |
|||
</el-select> |
|||
</div> |
|||
<!-- 签字 --> |
|||
<div v-if="scope.row.QZ.length>0" /> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="其它信息"> |
|||
<template slot-scope="scope"> |
|||
123 |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
</el-form> |
|||
</div> |
|||
<div class="saveInfo"> |
|||
<span class="padding-right-10">保存人:{{ formListValue.createName ? formListValue.createName : '-' }}</span> |
|||
<span>保存时间:{{ formListValue.createDate ? formListValue.createDate : '-' }}</span> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import signGet from '@/mixins/signGet' |
|||
import publicFile from '@/mixins/publicFile' |
|||
import operationRecord from '@/mixins/operationRecord' |
|||
import h5formButton from '@/components/H5formOhter/h5formButton' |
|||
export default { |
|||
components: { |
|||
h5formButton |
|||
}, |
|||
mixins: [signGet, publicFile, operationRecord], |
|||
props: { |
|||
archiveCaseCRFItem: { |
|||
type: Object, |
|||
default: () => { } |
|||
}, |
|||
formContent: { |
|||
// type: Array, |
|||
default: () => [] |
|||
}, |
|||
pageTitle: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
operaId: { |
|||
type: String, |
|||
default: '' |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
saveEidtTitle: '编辑', |
|||
formListValue: { |
|||
formId: '', |
|||
formName: '手术记录', |
|||
formDate: '', |
|||
operaId: '', |
|||
patientId: '', |
|||
patientIdNumber: '', |
|||
patientName: '', |
|||
patientSex: '', |
|||
patientBirthday: '', |
|||
patientAge: '', |
|||
nsOuOperaName: '', |
|||
nsOdOperaName: '', |
|||
nsOsOperaName: '', |
|||
ssfsOd: '', |
|||
ssfsOs: '', |
|||
// 矫正度数 |
|||
jzdsOd1: '', |
|||
jzdsOd2: '', |
|||
jzdsOd3: '', |
|||
jzdsOs1: '', |
|||
jzdsOs2: '', |
|||
jzdsOs3: '', |
|||
// 光学 |
|||
gxOd: '', |
|||
gxOs: '', |
|||
// 治疗区直径 |
|||
zlqOd: '', |
|||
zlqOs: '', |
|||
// 吸引环参数 |
|||
xyhOd: '', |
|||
xyhOs: '', |
|||
// 瓣帽厚度 |
|||
bmhdOd: '', |
|||
bmhdOs: '', |
|||
// 削切深度 |
|||
xqsdOd: '', |
|||
xqsdOs: '', |
|||
// 剩余基质厚度 |
|||
syjzhdOd: '', |
|||
syjzhdOs: '', |
|||
// 移心量 |
|||
yxlOd1: '', |
|||
yxlOd2: '', |
|||
yxlOs1: '', |
|||
yxlOs2: '', |
|||
// 术中情况 |
|||
szqkOd: '', |
|||
szqkOs: '', |
|||
// 手术仪器 |
|||
ssyqOd: '', |
|||
ssyqOs: '', |
|||
// 签字 |
|||
sign: '' |
|||
}, |
|||
operaList: [] |
|||
} |
|||
}, |
|||
computed: { |
|||
operationRecord: { |
|||
get() { |
|||
return this.$store.getters.operationRecord |
|||
} |
|||
} |
|||
}, |
|||
watch: { |
|||
operationRecord: { |
|||
handler(value) { |
|||
console.log(value) |
|||
}, |
|||
deep: true, |
|||
immediate: true |
|||
}, |
|||
formContent: { |
|||
handler(value) { |
|||
console.log(value) |
|||
}, |
|||
deep: true |
|||
} |
|||
}, |
|||
created() { |
|||
this.getOperaList() |
|||
// this.$parent.deleteErmUpdating(this.archiveCaseCRFItem.id) |
|||
}, |
|||
destroyed() { |
|||
console.log('手术记录destroyed') |
|||
// this.$parent.deleteErmUpdating(this.archiveCaseCRFItem.id) |
|||
}, |
|||
methods: { |
|||
init() { |
|||
this.$emit('load') |
|||
this.getInfo() |
|||
}, |
|||
setSaveEidtTitle(title) { |
|||
this.saveEidtTitle = title |
|||
}, |
|||
// 点编辑按钮自动获取签名 |
|||
getSign() { |
|||
console.log(123123) |
|||
this.getSystomSign('sign') |
|||
}, |
|||
// 签名 |
|||
singHandle(text) { |
|||
const value = { |
|||
text: text, |
|||
pageName: 'operationRecord' |
|||
} |
|||
this.$store.commit('beginSign', value) |
|||
}, |
|||
// 获取表单 |
|||
async getInfo() { |
|||
const { data: res } = await this.$http.get('/quguang/opera/record/getOperaRecordInfoByOperaId', { |
|||
params: { |
|||
operaId: this.pageTitle === '手术列表' ? this.archiveCaseCRFItem.id : this.archiveCaseCRFItem.operaId, |
|||
patientIdNumber: this.archiveCaseCRFItem.patientIdNumber |
|||
} |
|||
}) |
|||
if (res.code === 0) { |
|||
this.$emit('load') |
|||
if ((this.archiveCaseCRFItem.id === res.data.formId && this.pageTitle === '档案') || this.pageTitle === '手术列表') { |
|||
// console.log(res.data) |
|||
Object.keys(res.data).forEach((item) => { |
|||
// console.log(res.data) |
|||
// 如果data中没有定义这个字段,就自动加进去 |
|||
this.formListValue[item] || typeof this.formListValue[item] === 'boolean' ? '' : this.formListValue[item] = '' |
|||
// 如果不为空就赋值上去 |
|||
if ((res.data[item] && res.data[item] !== 'false' && res.data[item] !== 'true') || typeof res.data[item] === 'number') { |
|||
this.formListValue[item] = res.data[item] |
|||
} |
|||
if (res.data[item] && typeof res.data[item] !== 'number') { |
|||
res.data[item].includes('[') || res.data[item] === 'false' || res.data[item] === 'true' ? this.formListValue[item] = JSON.parse(res.data[item]) : '' |
|||
} |
|||
}) |
|||
console.log(this.formListValue) |
|||
} |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
// 获取术士项目列表 |
|||
async getOperaList() { |
|||
const { data: res } = await this.$http.get('/quguang/opera/patient/getOperaList') |
|||
if (res.code === 0) { |
|||
res.data.forEach(item => { |
|||
item.name = item.operaName |
|||
item.id = item.operaId |
|||
}) |
|||
this.operaList = res.data |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
// 关闭术士 |
|||
closeOperaHandle(text) { |
|||
this.formListValue[text] = '' |
|||
}, |
|||
// 保存表单 |
|||
async saveAllForm() { |
|||
const formvalue = JSON.parse(JSON.stringify(this.formListValue)) |
|||
Object.keys(formvalue).forEach(item => { |
|||
if (Array.isArray(formvalue[item])) { |
|||
formvalue[item] = JSON.stringify(formvalue[item]) |
|||
} |
|||
}) |
|||
const { data: res } = await this.$http.post('/quguang/opera/record/saveOperaRecordInfo', formvalue) |
|||
if (res.code === 0) { |
|||
this.saveEidtTitle = '编辑' |
|||
this.$message({ |
|||
message: '您已保存成功', |
|||
type: 'success' |
|||
}) |
|||
this.pageTitle === '手术列表' ? this.$emit('closeDialog') : '' |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
// 给table每一行设置名字 |
|||
returnName(obj) { |
|||
// console.log(obj) |
|||
// rowIndex 就是第几行的意思 |
|||
// 当时 第一列的时候 返回tableTextColor 当的class |
|||
// 否则 不处理不添加class |
|||
return obj.row.nameClass |
|||
}, |
|||
// 合并表单 |
|||
objectSpanMethod({ row, column, rowIndex, columnIndex }) { |
|||
// console.log(rowIndex, columnIndex) |
|||
// 第一列手术计划合并 |
|||
// if (row.nameClass === 'ssfs' && columnIndex === 0) { |
|||
// return { |
|||
// rowspan: [10], |
|||
// colspan: 1 |
|||
// } |
|||
// } else if (row.nameClass !=='qz' && columnIndex === 0) { |
|||
// // 偏移原因及解决方案 清除就是这俩属性设置为0 |
|||
// return { |
|||
// rowspan: 0, |
|||
// colspan: 0 |
|||
// } |
|||
// } |
|||
// if (row.nameClass === 'qz' && columnIndex === 1) { |
|||
// return { |
|||
// rowspan: 1, |
|||
// colspan: 2 |
|||
// } |
|||
// } else if (row.nameClass === 'qz' && (columnIndex < 2)) { |
|||
// // 偏移原因及解决方案 清除就是这俩属性设置为0 |
|||
// return { |
|||
// rowspan: 0, |
|||
// colspan: 0 |
|||
// } |
|||
// } |
|||
if (row.nameClass === 'qz' && columnIndex === 1) { |
|||
return { |
|||
rowspan: 1, |
|||
colspan: 3 |
|||
} |
|||
} else if (row.nameClass === 'qz' && (columnIndex > 2 && columnIndex < 4)) { |
|||
// 偏移原因及解决方案 清除就是这俩属性设置为0 |
|||
return { |
|||
rowspan: 0, |
|||
colspan: 0 |
|||
} |
|||
} |
|||
// 最后一列合并 |
|||
if (row.nameClass !== 'qz' && columnIndex === 3) { |
|||
return { |
|||
rowspan: 10, |
|||
colspan: 1 |
|||
} |
|||
} else if (row.nameClass !== 'qz' && columnIndex === 3) { |
|||
// 偏移原因及解决方案 清除就是这俩属性设置为0 |
|||
return { |
|||
rowspan: 0, |
|||
colspan: 0 |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
.operation-record { |
|||
background: #fff; |
|||
padding: 10px 20px 50px 20px; |
|||
// overflow: auto; |
|||
.patientInfo-one{ |
|||
text-align: center; |
|||
} |
|||
.operation-record-table { |
|||
width: 100%; |
|||
.operation-text { |
|||
font-weight: 700; |
|||
} |
|||
.text { |
|||
font-weight: 700; |
|||
} |
|||
.sign { |
|||
cursor: pointer; |
|||
color: #46a1ff; |
|||
font-weight: 400; |
|||
} |
|||
} |
|||
.operaListSpan:hover { |
|||
.opera-icon { |
|||
display: inline-block; |
|||
} |
|||
} |
|||
.operaListSpan { |
|||
.opera-icon { |
|||
// display: none; |
|||
font-size: 20px; |
|||
} |
|||
} |
|||
.center { |
|||
text-align: center; |
|||
} |
|||
.left { |
|||
text-align: left; |
|||
} |
|||
|
|||
.el-textarea { |
|||
width: auto !important; |
|||
} |
|||
|
|||
.el-input__prefix { |
|||
display: none; |
|||
} |
|||
.el-date-editor.el-input, |
|||
.el-date-editor.el-input__inner { |
|||
width: 140px !important; |
|||
} |
|||
|
|||
.el-radio { |
|||
margin-right: 8px; |
|||
display: block; |
|||
} |
|||
.has-gutter { |
|||
.cell { |
|||
font-weight: 700; |
|||
} |
|||
.el-table__cell { |
|||
background: #ced4d9; |
|||
} |
|||
} |
|||
.el-select { |
|||
width: auto; |
|||
} |
|||
// 下拉框下拉图标动画有问题的原因 |
|||
.el-input__icon { |
|||
line-height: 100% !important; |
|||
} |
|||
} |
|||
</style> |
|||
File diff suppressed because it is too large
File diff suppressed because it is too large
File diff suppressed because it is too large
@ -1,712 +0,0 @@ |
|||
<template> |
|||
<div> |
|||
<h5formButton |
|||
ref="h5formButtonRef" |
|||
:archive-case-c-r-f-item="archiveCaseCRFItem" |
|||
:get-save-eidt-title="saveEidtTitle" |
|||
:edit-save-button-show="(positionName.join().includes('医生') || positionName.join().includes('护士')) ? true : false" |
|||
/> |
|||
<div |
|||
id="printH5" |
|||
class="shouquanBook formTablePrint form-setclass pdf-scale-box" |
|||
style="page-break-after:always;height:100%;margin:0 auto;width:100%" |
|||
> |
|||
<!-- v-if="currentUrl.includes('192')" --> |
|||
<p v-if="currentUrl.includes('192')" style="color:#000000;font-size:32px;margin:0 0 0 0;text-align:center;"> |
|||
温州医科大学附属眼视光医院</p> |
|||
<p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;"> |
|||
告知书/授权书</p> |
|||
<el-form :disabled="saveEidtTitle==='编辑' ? true : false"> |
|||
<div class="shouquanBook-content"> |
|||
<div class="title">尊敬的患者及家属:</div> |
|||
<p> |
|||
依照《中华人民共和国民法典》第一千二百一十九条规定:“医务人员在诊疗活动中应当向患者说明病情和医疗措施。需要实施手术、特殊检查、特殊治疗的,医务人员应当及时向患者具体说明医疗风险、替代医疗方案等情况,并取得其明确同意;不能或者不宜向患者说明的,应当向患者的近亲属说明,并取得其明确同意。”《病历书与基本规范》第十条规定:“对需取得患者书面同意方可进行的医疗活动,应当由患者本人签署知情同意书。患者不具备完全民事行为能力时,应当由其法定代理人签名;患者因病无法签名时,应当由其授权的人员签名;为抢救患者,在法定代理人或被授权人无法及时签名的情况下,可由医疗机构负责人或者授权的负责人签名。”为切实保障患者的知情同意权和实施保护性医疗措施,敬请你们根据自己的实际情况,慎重考虑,选择确定作为患者病情,医疗措施,医疗风险及替代方案等的被告知者,并签署各项医疗活动同意书。 |
|||
</p> |
|||
<p class="right">温州医科大学附属眼视光医院</p> |
|||
<div>上述告知内容本人已充分了解,经慎重考虑,我确定:</div> |
|||
<div style="font-size:15px;"> |
|||
<el-radio-group v-model="formListValue.ceshi"> |
|||
<el-radio :label="3">备选项</el-radio> |
|||
<el-radio :label="6">备选项</el-radio> |
|||
<el-radio :label="9">备选项</el-radio> |
|||
</el-radio-group> |
|||
<!-- 第一行 --> |
|||
<el-form :disabled="formListValue.brCheckDisabled"> |
|||
<div> |
|||
<div> |
|||
<el-checkbox v-model="formListValue.brCheck" @change="checkChange('sqCheckDisabled','dlrCheckDisabled',$event)" /> |
|||
由本人作为病情、医疗措施、医疗风险及替代医疗方案等的被告知者,并签署各项医疗活动同意书。 |
|||
</div> |
|||
<div class="flex margin-top-10 margin-left-24"> |
|||
<div> |
|||
<span>患者签字:</span> |
|||
<!-- <span |
|||
v-if="!formListValue.patientSign && saveEidtTitle==='保存'" |
|||
class="sign" |
|||
@click="singHandle('patientSign')" |
|||
>点击签字</span> --> |
|||
<span v-if="formListValue.patientSign"> |
|||
<img :src="formListValue.patientSign" alt="" width="90px" @click="singHandle('patientSign')"> |
|||
<i |
|||
v-show="saveEidtTitle==='保存'" |
|||
class="el-icon-circle-close" |
|||
style="font-size:20px;cursor:pointer;" |
|||
@click="imageRemoveClick('patientSign')" |
|||
/> |
|||
</span> |
|||
</div> |
|||
<div> |
|||
<span>与患者关系:</span> |
|||
<span>本人</span> |
|||
</div> |
|||
<div class="width-inner-200 left input__inner-bordernone flex-2"> |
|||
<span>签名时间:</span> |
|||
<el-date-picker |
|||
v-model="formListValue.patientSignDate" |
|||
class="margin-right-6" |
|||
type="datetime" |
|||
placeholder="" |
|||
/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</el-form> |
|||
<!-- 第二行 --> |
|||
<el-form ref="formListValue1" :model="formListValue" :rules="dataRule" :disabled="formListValue.sqCheckDisabled"> |
|||
<div class="margin-top-30"> |
|||
<div class="width-120"> |
|||
<el-checkbox v-model="formListValue.sqCheck" @change="checkChange('brCheckDisabled','dlrCheckDisabled',$event)" /> |
|||
授权 |
|||
<el-input v-model="formListValue.sqCheckInput" placeholder="" class="margin-right-6" /> |
|||
作为病情、医疗措施、医疗风险及替代医疗方案等的被告知者,并全权代表本人签署各项医疗活动同意书,被授权人的签名视同本人的签名。 |
|||
</div> |
|||
<div class="flex margin-top-10 margin-left-24"> |
|||
<div> |
|||
<span> |
|||
<span>患者签字:</span> |
|||
<!-- <span |
|||
v-if="!formListValue.patientSign1 && saveEidtTitle==='保存'" |
|||
class="sign" |
|||
@click="singHandle('patientSign1')" |
|||
>点击签字</span> --> |
|||
</span> |
|||
<span v-if="formListValue.patientSign1"> |
|||
<img :src="formListValue.patientSign1" alt="" width="90px" @click="singHandle('patientSign')"> |
|||
<i |
|||
v-show="saveEidtTitle==='保存'" |
|||
class="el-icon-circle-close" |
|||
style="font-size:20px;cursor:pointer;" |
|||
@click="imageRemoveClick('patientSign1')" |
|||
/> |
|||
</span> |
|||
</div> |
|||
<div> |
|||
<span>与患者关系:</span> |
|||
<span>本人</span> |
|||
</div> |
|||
<div class="width-inner-200 left input__inner-bordernone flex-2"> |
|||
<span>签名时间:</span> |
|||
<el-date-picker |
|||
v-model="formListValue.patientSignDate1" |
|||
class="margin-right-6" |
|||
type="datetime" |
|||
placeholder="" |
|||
/> |
|||
</div> |
|||
</div> |
|||
<div class="margin-top-10"> |
|||
<div class="width-120" style="text-indent: 24px"> |
|||
本人接受患者 |
|||
<el-input v-model="formListValue.sqPatientName" placeholder="" class="margin-right-6" /> |
|||
的授权,同意代理行使该患者在医院医疗期间的知情同意权和选择权,并签署各项医疗活动同意书。 |
|||
</div> |
|||
<div class="margin-top-10"> |
|||
<span class="flex margin-left-24"> |
|||
<div> |
|||
<span> |
|||
<span>被授权人签名:</span> |
|||
<!-- <span |
|||
v-if="!formListValue.bsqrSign && saveEidtTitle==='保存'" |
|||
class="sign" |
|||
@click="singHandle('bsqrSign')" |
|||
>点击签字</span> --> |
|||
</span> |
|||
<span v-if="formListValue.bsqrSign"> |
|||
<img :src="formListValue.bsqrSign" alt="" width="90px" @click="singHandle('bsqrSign')"> |
|||
<i |
|||
v-show="saveEidtTitle==='保存'" |
|||
class="el-icon-circle-close" |
|||
style="font-size:20px;cursor:pointer;" |
|||
@click="imageRemoveClick('bsqrSign')" |
|||
/> |
|||
</span> |
|||
</div> |
|||
|
|||
<el-form-item prop="bsqrIdNumber"> |
|||
<div class="flex-2"> |
|||
<el-select |
|||
v-model="formListValue.bsqrZj" |
|||
class="zjClass" |
|||
default-first-option |
|||
filterable |
|||
placeholder="" |
|||
> |
|||
<el-option |
|||
v-for="(item,index) in zjList" |
|||
:key="index" |
|||
:label="item" |
|||
:value="item" |
|||
/> |
|||
</el-select> |
|||
<div class="width-220"> |
|||
<el-input v-model="formListValue.bsqrIdNumber" placeholder="" class="margin-right" /> |
|||
</div> |
|||
</div> |
|||
</el-form-item> |
|||
|
|||
<div class="width-180 flex-2"> |
|||
<span>联系电话:</span> |
|||
<el-input v-model="formListValue.bsqrPhone" placeholder="" class="margin-right" /> |
|||
</div> |
|||
</span> |
|||
<span class="flex margin-top-10 margin-left-24"> |
|||
<div class="width-inner-120 flex-2"> |
|||
<span>于患者关系:</span> |
|||
<el-select |
|||
v-model="formListValue.bsqrHzGx" |
|||
default-first-option |
|||
filterable |
|||
placeholder="" |
|||
> |
|||
<el-option |
|||
v-for="(item,index) in hzgx" |
|||
:key="index" |
|||
:label="item" |
|||
:value="item" |
|||
/> |
|||
</el-select> |
|||
<div class="width-220 margin-left-24"> |
|||
<el-input v-model="formListValue.bsqrHzGxqT" placeholder="" class="margin-right" /> |
|||
</div> |
|||
|
|||
</div> |
|||
<div class="width-inner-200 input__inner-bordernone left"> |
|||
<span>签名时间:</span> |
|||
<el-date-picker |
|||
v-model="formListValue.bsqrSignDate" |
|||
class="margin-right-6" |
|||
type="datetime" |
|||
placeholder="" |
|||
/> |
|||
</div> |
|||
</span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</el-form> |
|||
<!-- 第三行 --> |
|||
<el-form ref="formListValue2" :model="formListValue" :rules="dataRule" :disabled="formListValue.dlrCheckDisabled"> |
|||
<div class="margin-top-30 printPagebreak"> |
|||
<el-checkbox v-model="formListValue.dlrCheck" @change="checkChange('brCheckDisabled','sqCheckDisabled',$event)" /> |
|||
未成年人(小于18周岁)、无完全民事行为能力的成年患者,由其法定代理人代为行使上述权利。 |
|||
<div class="flex margin-top-10 margin-left-24"> |
|||
<div> |
|||
<span> |
|||
<span>代理人签名:</span> |
|||
<!-- <span |
|||
v-if="!formListValue.dlrSign && saveEidtTitle==='保存'" |
|||
class="sign" |
|||
@click="singHandle('dlrSign')" |
|||
>点击签字</span> --> |
|||
</span> |
|||
<span v-if="formListValue.dlrSign"> |
|||
<img :src="formListValue.dlrSign" alt="" width="90px" @click="singHandle('dlrSign')"> |
|||
<i |
|||
v-show="saveEidtTitle==='保存'" |
|||
class="el-icon-circle-close" |
|||
style="font-size:20px;cursor:pointer;" |
|||
@click="imageRemoveClick('dlrSign')" |
|||
/> |
|||
</span> |
|||
</div> |
|||
|
|||
<el-form-item prop="dlrIdNumber"> |
|||
<div class="flex-2"> |
|||
<el-select |
|||
v-model="formListValue.dlrZj" |
|||
class="zjClass" |
|||
default-first-option |
|||
filterable |
|||
placeholder="" |
|||
> |
|||
<el-option |
|||
v-for="(item,index) in zjList" |
|||
:key="index" |
|||
:label="item" |
|||
:value="item" |
|||
/> |
|||
</el-select> |
|||
<div class="width-220"> |
|||
<el-input v-model="formListValue.dlrIdNumber" placeholder="" class="margin-right" /> |
|||
</div> |
|||
</div> |
|||
</el-form-item> |
|||
|
|||
<div class="width-180 flex-2"> |
|||
<span>联系电话:</span> |
|||
<el-input v-model="formListValue.dlrPhone" placeholder="" class="margin-right" /> |
|||
</div> |
|||
</div> |
|||
<div class="flex margin-top-10 margin-left-24"> |
|||
<div class="width-inner-120 flex-2"> |
|||
<span>于患者关系:</span> |
|||
<el-select |
|||
v-model="formListValue.dlrHzGx" |
|||
default-first-option |
|||
filterable |
|||
placeholder="" |
|||
> |
|||
<el-option |
|||
v-for="(item,index) in hzgx" |
|||
:key="index" |
|||
:label="item" |
|||
:value="item" |
|||
/> |
|||
</el-select> |
|||
<div class="width-220 margin-left-24"> |
|||
<el-input v-model="formListValue.dlrHzGxQt" placeholder="" class="margin-right" /> |
|||
</div> |
|||
|
|||
</div> |
|||
<div class="width-inner-200 input__inner-bordernone left"> |
|||
<span>签名时间:</span> |
|||
<el-date-picker |
|||
v-model="formListValue.dlrSignDate" |
|||
class="margin-right-6" |
|||
type="datetime" |
|||
placeholder="" |
|||
/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</el-form> |
|||
<!-- 第七行 --> |
|||
<div class="margin-top-30">(需代理人签字的授权书)</div> |
|||
</div> |
|||
</div> |
|||
</el-form> |
|||
</div> |
|||
<div class="saveInfo"> |
|||
<span class="padding-right-10">保存人:{{ formListValue.createName ? formListValue.createName : '-' }}</span> |
|||
<span>保存时间:{{ formListValue.createDate ? formListValue.createDate : '-' }}</span> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import signGet from '@/mixins/signGet' |
|||
import publicFile from '@/mixins/publicFile' |
|||
import h5formButton from '@/components/H5formOhter/h5formButton' |
|||
import { isMobile, isIDNumber } from '@/utils/validate' |
|||
import htmlToPdfToBlob from '@/mixins/htmlToPdfToBlob' |
|||
export default { |
|||
components: { |
|||
h5formButton |
|||
}, |
|||
mixins: [signGet, publicFile, htmlToPdfToBlob], |
|||
props: { |
|||
archiveCaseCRFItem: { |
|||
// type: Object, |
|||
default: () => { } |
|||
}, |
|||
currentUrl: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
formContent: { |
|||
default: () => { } |
|||
}, |
|||
operaId: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
pageTitle: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
patientId: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
patientInfoObj: { |
|||
type: Object, |
|||
default: () => { } |
|||
}, |
|||
userData: { |
|||
type: Object, |
|||
default: () => { } |
|||
}, |
|||
roleList: { |
|||
type: Array, |
|||
default: () => [] |
|||
}, |
|||
positionName: { |
|||
type: Array, |
|||
default: () => [] |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
saveEidtTitle: '编辑', |
|||
formListValue: { |
|||
// 表单id |
|||
formId: '', |
|||
// 表单名称 |
|||
formName: '告知书/授权书', |
|||
// 表单日期 |
|||
formDate: '', |
|||
// 病历号 |
|||
patientId: '', |
|||
// 身份证 |
|||
patientIdNumber: '', |
|||
// 姓名 |
|||
patientName: '', |
|||
// 就诊号 |
|||
treatmentId: '', |
|||
// 年龄 |
|||
patientAge: '', |
|||
// 性别 |
|||
patientSex: '', |
|||
// 专科 |
|||
zk: '', |
|||
ceshi: '', |
|||
// 第一行------------------------------ |
|||
// 本人选择框 |
|||
brCheck: '', |
|||
// 本人check是否禁用 |
|||
brCheckDisabled: false, |
|||
// 患者签名 |
|||
patientSign: '', |
|||
// 患者签名时间 |
|||
patientSignDate: '', |
|||
|
|||
// 第二行------------------------------ |
|||
// 授权选择框 |
|||
sqCheck: '', |
|||
// 授权check是否禁用 |
|||
sqCheckDisabled: false, |
|||
// 授权选择框后的输入框 |
|||
sqCheckInput: '', |
|||
// 患者签名1 |
|||
patientSign1: '', |
|||
// 患者签名1时间 |
|||
patientSignDate1: '', |
|||
// ============= |
|||
// 授权人姓名 |
|||
sqPatientName: '', |
|||
// 被授权人签字 |
|||
bsqrSign: '', |
|||
// 被授权人证件选择 |
|||
bsqrZj: '身份证号', |
|||
// 被授权人身份证 |
|||
bsqrIdNumber: '', |
|||
// 被授权人电话 |
|||
bsqrPhone: '', |
|||
// 被授权人与患者关系 |
|||
bsqrHzGx: '', |
|||
// 被授权人与患者关系其他内容 |
|||
bsqrHzGxqT: '', |
|||
// 被授权人签名时间 |
|||
bsqrSignDate: '', |
|||
// 第三行------------------------------ |
|||
// 代理人选择框 |
|||
dlrCheck: '', |
|||
// 代理人check是否禁用 |
|||
dlrCheckDisabled: false, |
|||
// 代理人签名 |
|||
dlrSign: '', |
|||
// 被授权人证件选择 |
|||
dlrZj: '身份证号', |
|||
// 代理人身份证 |
|||
dlrIdNumber: '', |
|||
// 代理人与患者关系 |
|||
dlrHzGx: '', |
|||
// 代理人与患者关系其他内容 |
|||
dlrHzGxQt: '', |
|||
// 代理人电话 |
|||
dlrPhone: '', |
|||
// 代理人签名时间 |
|||
dlrSignDate: '', |
|||
// 保存人姓名 |
|||
createName: '', |
|||
// 保存人工号 |
|||
createCode: '', |
|||
// 保存时间 |
|||
createDate: '' |
|||
|
|||
}, |
|||
operaList: [], |
|||
hzgx: ['家属', '见证人'], |
|||
zjList: ['身份证号', '护照号'] |
|||
} |
|||
}, |
|||
computed: { |
|||
shouquanBook: { |
|||
get() { |
|||
return this.$store.getters.shouquanBook |
|||
} |
|||
}, |
|||
dataRule() { |
|||
var validataIDNumber = (rule, value, callback) => { |
|||
console.log('value', value) |
|||
if (value && !isIDNumber(value)) { |
|||
return callback(new Error('您输入的身份证格式不正确')) |
|||
} else if (!value) { |
|||
return callback(new Error('请输入身份证号')) |
|||
} |
|||
callback() |
|||
} |
|||
return { |
|||
bsqrIdNumber: [ |
|||
{ required: true, validator: validataIDNumber, trigger: 'blur' } |
|||
], |
|||
dlrIdNumber: [ |
|||
{ required: true, validator: validataIDNumber, trigger: 'blur' } |
|||
] |
|||
} |
|||
} |
|||
}, |
|||
watch: { |
|||
shouquanBook: { |
|||
handler(value) { |
|||
console.log(value) |
|||
value.patientSign ? this.formListValue.patientSign = value.patientSign : '' |
|||
value.bsqrSign ? this.formListValue.bsqrSign = value.bsqrSign : '' |
|||
value.patientSign1 ? this.formListValue.patientSign1 = value.patientSign1 : '' |
|||
value.dlrSign ? this.formListValue.dlrSign = value.dlrSign : '' |
|||
}, |
|||
deep: true, |
|||
immediate: true |
|||
}, |
|||
formContent: { |
|||
handler(value) { |
|||
console.log(Object.values(value).length) |
|||
// Object.values(value).length === Object.values(this.formListValue).length ? this.formListValue = value : '' |
|||
}, |
|||
deep: true |
|||
} |
|||
}, |
|||
created() { |
|||
}, |
|||
destroyed() { |
|||
console.log('告知书/授权书destroyed') |
|||
// this.$parent.deleteErmUpdating(this.archiveCaseCRFItem.id) |
|||
}, |
|||
methods: { |
|||
init() { |
|||
this.getInfo() |
|||
// this.$parent.deleteErmUpdating(this.archiveCaseCRFItem.id) |
|||
}, |
|||
// 点编辑按钮自动获取签名和日期 |
|||
getSign() { |
|||
// this.getSystomSign('gzrSign') |
|||
this.formListValue.patientSignDate ? '' : this.formListValue.patientSignDate = this.$moment().format('YYYY-MM-DD HH:mm:ss') |
|||
this.formListValue.bsqrSignDate ? '' : this.formListValue.bsqrSignDate = this.$moment().format('YYYY-MM-DD HH:mm:ss') |
|||
this.formListValue.patientSignDate1 ? '' : this.formListValue.patientSignDate1 = this.$moment().format('YYYY-MM-DD HH:mm:ss') |
|||
this.formListValue.dlrSignDate ? '' : this.formListValue.dlrSignDate = this.$moment().format('YYYY-MM-DD HH:mm:ss') |
|||
}, |
|||
// 签名 |
|||
singHandle(text) { |
|||
const value = { |
|||
text: text, |
|||
pageName: 'shouquanBook' |
|||
} |
|||
this.$store.commit('beginSign', value) |
|||
}, |
|||
checkChange(checkDisabled1, checkDisabled2, e) { |
|||
console.log(e) |
|||
console.log(checkDisabled1, checkDisabled2) |
|||
this.formListValue[checkDisabled1] = this.formListValue[checkDisabled2] = e |
|||
console.log(this.formListValue[checkDisabled1], this.formListValue[checkDisabled2]) |
|||
}, |
|||
// 获取表单 |
|||
async getInfo() { |
|||
const { data: res } = await this.$http.get('/quguang/shouquan/getOperaShouQuanInfo', { |
|||
params: { |
|||
formId: this.archiveCaseCRFItem.id, |
|||
formName: this.archiveCaseCRFItem.formName, |
|||
formDate: this.archiveCaseCRFItem.formDate, |
|||
patientIdNumber: this.archiveCaseCRFItem.patientIdNumber, |
|||
patientId: this.patientId |
|||
} |
|||
}) |
|||
if (res.code === 0) { |
|||
this.$emit('load') |
|||
if (this.archiveCaseCRFItem.id === res.data.formId) { |
|||
// console.log(res.data) |
|||
Object.keys(res.data).forEach((item) => { |
|||
// console.log(res.data) |
|||
// 如果data中没有定义这个字段,就自动加进去 |
|||
this.formListValue[item] || typeof this.formListValue[item] === 'boolean' ? '' : this.formListValue[item] = '' |
|||
// 如果不为空就赋值上去 |
|||
if ((res.data[item] && res.data[item] !== 'false' && res.data[item] !== 'true') || typeof res.data[item] === 'number') { |
|||
this.formListValue[item] = res.data[item] |
|||
} |
|||
if (res.data[item] && typeof res.data[item] !== 'number') { |
|||
res.data[item].includes('[') || res.data[item] === 'false' || res.data[item] === 'true' ? this.formListValue[item] = JSON.parse(res.data[item]) : '' |
|||
} |
|||
}) |
|||
} |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
// 保存表单 |
|||
saveAllForm() { |
|||
if (this.formListValue.sqCheck) { |
|||
this.ruleFun('formListValue1') |
|||
} else if (this.formListValue.dlrCheck) { |
|||
this.ruleFun('formListValue2') |
|||
} |
|||
}, |
|||
ruleFun(formListValue) { |
|||
this.$refs[formListValue].validate((valid) => { |
|||
console.log('valid', valid) |
|||
if (!valid) { |
|||
this.$message({ |
|||
message: '您的表单不符合提交要求,请仔细查阅无误后再提交', |
|||
type: 'warning' |
|||
}) |
|||
return false |
|||
} else { |
|||
this.saveAllFormFun() |
|||
} |
|||
}) |
|||
}, |
|||
// 表单保存封装 |
|||
async saveAllFormFun() { |
|||
const formvalue = JSON.parse(JSON.stringify(this.formListValue)) |
|||
Object.keys(formvalue).forEach(item => { |
|||
if (Array.isArray(formvalue[item])) { |
|||
formvalue[item] = JSON.stringify(formvalue[item]) |
|||
} |
|||
}) |
|||
const { data: res } = await this.$http.post('/quguang/shouquan/saveOperaShouQuan', formvalue) |
|||
if (res.code === 0) { |
|||
this.saveEidtTitle = '编辑' |
|||
this.$message({ |
|||
message: '您已保存成功', |
|||
type: 'success' |
|||
}) |
|||
// this.loading = this.$loading({ |
|||
// lock: true, |
|||
// text: '转存PDF中请稍等...', |
|||
// spinner: 'el-icon-loading', |
|||
// background: 'rgba(255, 255, 255, 0.7)' |
|||
// }) |
|||
// this.exportPDF({ |
|||
// paperSize: 'A4', // 纸张格式 |
|||
// customOrientation: 'portrait', // 纸张方向 |
|||
// customMargin: [10, 10, 10, 10], // 页边距 |
|||
// customElementId: 'printH5', |
|||
// isHtml2canvas: true, |
|||
// isCurrentPageLoad: true // CA发送后端接口是否使用loading |
|||
// }) |
|||
this.getInfo() |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style lang="scss"> |
|||
.shouquanBook { |
|||
background: #fff; |
|||
padding: 10px 0 50px 20px; |
|||
.saveInfo{ |
|||
text-align: center; |
|||
} |
|||
.shouquanBook-content { |
|||
text-align: left; |
|||
p { |
|||
text-indent: 2em; |
|||
margin: 3px 0; |
|||
font-size: 15px; |
|||
} |
|||
} |
|||
.title { |
|||
font-weight: 700; |
|||
font-size: 20px; |
|||
text-indent: 0; |
|||
} |
|||
.sign { |
|||
cursor: pointer; |
|||
color: #46a1ff; |
|||
font-weight: 400; |
|||
} |
|||
.sign-right-width { |
|||
width: 280px; |
|||
text-align: left; |
|||
} |
|||
.opera-icon { |
|||
// display: none; |
|||
font-size: 20px; |
|||
} |
|||
.el-textarea { |
|||
width: auto !important; |
|||
} |
|||
.el-radio { |
|||
margin-right: 8px; |
|||
} |
|||
.el-input__prefix { |
|||
display: none; |
|||
} |
|||
.el-date-editor.el-input, |
|||
.el-date-editor.el-input__inner { |
|||
width: 140px; |
|||
} |
|||
.el-input__suffix { |
|||
top: -7px; |
|||
} |
|||
.el-table--border::after, |
|||
.el-table--group::after, |
|||
.el-table::before { |
|||
z-index: 1; |
|||
} |
|||
.el-table--border::after, |
|||
.el-table--group::after, |
|||
.el-table::before { |
|||
background: #000; |
|||
} |
|||
.el-input__icon { |
|||
line-height: 100% !important; |
|||
} |
|||
.el-input__suffix { |
|||
top: -2px !important; |
|||
right: -8px; |
|||
} |
|||
.el-table--enable-row-hover .el-table__body tr:hover > td.el-table__cell { |
|||
background: none !important; |
|||
} |
|||
.el-checkbox { |
|||
margin-right: 0; |
|||
} |
|||
.el-form-item__error { |
|||
top: 30px; |
|||
right: 0; |
|||
left:auto; |
|||
} |
|||
.el-form-item { |
|||
margin: 0; |
|||
} |
|||
.el-select { |
|||
width: auto !important; |
|||
} |
|||
.zjClass { |
|||
.el-input__inner { |
|||
border-bottom: none !important; |
|||
width: 100px; |
|||
} |
|||
} |
|||
} |
|||
</style> |
|||
@ -1,771 +0,0 @@ |
|||
<template> |
|||
<div> |
|||
<h5formButton |
|||
ref="h5formButtonRef" |
|||
:archive-case-c-r-f-item="archiveCaseCRFItem" |
|||
:get-save-eidt-title="saveEidtTitle" |
|||
:edit-save-button-show="(positionName.join().includes('医生') || positionName.join().includes('护士')) ? true : false" |
|||
/> |
|||
<div |
|||
id="printH5" |
|||
class="shouquanBook formTablePrint form-setclass pdf-scale-box" |
|||
style="page-break-after:always;height:100%;margin:0 auto;width:100%" |
|||
> |
|||
<!-- v-if="currentUrl.includes('192')" --> |
|||
<p v-if="currentUrl.includes('192')" style="color:#000000;font-size:32px;margin:0 0 0 0;text-align:center;"> |
|||
温州医科大学附属眼视光医院</p> |
|||
<p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;"> |
|||
告知书/授权书</p> |
|||
<el-form ref="formListValue" :model="formListValue" :disabled="saveEidtTitle==='编辑' ? true : false" :rules="dataRule"> |
|||
<div class="shouquanBook-content"> |
|||
<div class="title">尊敬的患者及家属:</div> |
|||
<p> |
|||
依照《中华人民共和国民法典》第一千二百一十九条规定:“医务人员在诊疗活动中应当向患者说明病情和医疗措施。需要实施手术、特殊检查、特殊治疗的,医务人员应当及时向患者具体说明医疗风险、替代医疗方案等情况,并取得其明确同意;不能或者不宜向患者说明的,应当向患者的近亲属说明,并取得其明确同意。”《病历书与基本规范》第十条规定:“对需取得患者书面同意方可进行的医疗活动,应当由患者本人签署知情同意书。患者不具备完全民事行为能力时,应当由其法定代理人签名;患者因病无法签名时,应当由其授权的人员签名;为抢救患者,在法定代理人或被授权人无法及时签名的情况下,可由医疗机构负责人或者授权的负责人签名。”为切实保障患者的知情同意权和实施保护性医疗措施,敬请你们根据自己的实际情况,慎重考虑,选择确定作为患者病情,医疗措施,医疗风险及替代方案等的被告知者,并签署各项医疗活动同意书。 |
|||
</p> |
|||
<p class="right">温州医科大学附属眼视光医院</p> |
|||
<div>上述告知内容本人已充分了解,经慎重考虑,我确定:</div> |
|||
<div style="font-size:15px;"> |
|||
<!-- 第一行 --> |
|||
<div> |
|||
<div> |
|||
<el-checkbox v-model="formListValue.brCheck" /> |
|||
由本人作为病情、医疗措施、医疗风险及替代医疗方案等的被告知者,并签署各项医疗活动同意书。 |
|||
</div> |
|||
<div class="flex margin-top-10"> |
|||
<div> |
|||
<span>患者签字:</span> |
|||
<!-- <span |
|||
v-if="!formListValue.patientSign && saveEidtTitle==='保存'" |
|||
class="sign" |
|||
@click="singHandle('patientSign')" |
|||
>点击签字</span> --> |
|||
<span v-if="formListValue.patientSign"> |
|||
<img :src="formListValue.patientSign" alt="" width="90px" @click="singHandle('patientSign')"> |
|||
<i |
|||
v-show="saveEidtTitle==='保存'" |
|||
class="el-icon-circle-close" |
|||
style="font-size:20px;cursor:pointer;" |
|||
@click="imageRemoveClick('patientSign')" |
|||
/> |
|||
</span> |
|||
</div> |
|||
<div> |
|||
<span>与患者关系:</span> |
|||
<span>本人</span> |
|||
</div> |
|||
<div class="width-inner-200 left input__inner-bordernone flex-2"> |
|||
<span>签名时间:</span> |
|||
<el-date-picker |
|||
v-model="formListValue.patientSignDate" |
|||
class="margin-right-6" |
|||
type="datetime" |
|||
placeholder="" |
|||
/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- 第二行 --> |
|||
<div class="margin-top-10"> |
|||
<div class="width-120"> |
|||
<el-checkbox v-model="formListValue.sqCheck" /> |
|||
授权 |
|||
<el-input v-model="formListValue.sqCheckInput" placeholder="" class="margin-right-6" /> |
|||
作为病情、医疗措施、医疗风险及替代医疗方案等的被告知者,并全权代表本人签署各项医疗活动同意书,被授权人的签名视同本人的签名。 |
|||
</div> |
|||
<div class="flex margin-top-10"> |
|||
<div> |
|||
<span> |
|||
<span>患者签字:</span> |
|||
<!-- <span |
|||
v-if="!formListValue.patientSign && saveEidtTitle==='保存'" |
|||
class="sign" |
|||
@click="singHandle('patientSign')" |
|||
>点击签字</span> --> |
|||
</span> |
|||
<span v-if="formListValue.patientSign"> |
|||
<img :src="formListValue.patientSign" alt="" width="90px" @click="singHandle('patientSign')"> |
|||
<i |
|||
v-show="saveEidtTitle==='保存'" |
|||
class="el-icon-circle-close" |
|||
style="font-size:20px;cursor:pointer;" |
|||
@click="imageRemoveClick('patientSign')" |
|||
/> |
|||
</span> |
|||
</div> |
|||
<div> |
|||
<span>与患者关系:</span> |
|||
<span>本人</span> |
|||
</div> |
|||
<div class="width-inner-200 left input__inner-bordernone flex-2"> |
|||
<span>签名时间:</span> |
|||
<el-date-picker |
|||
v-model="formListValue.patientSignDate" |
|||
class="margin-right-6" |
|||
type="datetime" |
|||
placeholder="" |
|||
/> |
|||
</div> |
|||
</div> |
|||
<div class="margin-top-10"> |
|||
<div class="width-120" style="text-indent: 24pxasadd"> |
|||
本人接受患者 |
|||
<el-input v-model="formListValue.sqPatientName" placeholder="" class="margin-right-6" /> |
|||
的授权,同意代理行使该患者在医院医疗期间的知情同意权和选择权,并签署各项医疗活动同意书。 |
|||
</div> |
|||
<div class="margin-top-10"> |
|||
<span class="flex"> |
|||
<div> |
|||
<span> |
|||
<span>被授权人签名:</span> |
|||
<!-- <span |
|||
v-if="!formListValue.bsqrSign && saveEidtTitle==='保存'" |
|||
class="sign" |
|||
@click="singHandle('bsqrSign')" |
|||
>点击签字</span> --> |
|||
</span> |
|||
<span v-if="formListValue.bsqrSign"> |
|||
<img :src="formListValue.bsqrSign" alt="" width="90px" @click="singHandle('bsqrSign')"> |
|||
<i |
|||
v-show="saveEidtTitle==='保存'" |
|||
class="el-icon-circle-close" |
|||
style="font-size:20px;cursor:pointer;" |
|||
@click="imageRemoveClick('bsqrSign')" |
|||
/> |
|||
</span> |
|||
</div> |
|||
<div class="width-180 flex-2"> |
|||
<el-form-item prop="bsqrIdNumber"> |
|||
<span>身份证号:</span> |
|||
<el-input v-model="formListValue.bsqrIdNumber" placeholder="" class="margin-right" /> |
|||
</el-form-item> |
|||
</div> |
|||
<div class="width-180 flex-2"> |
|||
<span>联系电话:</span> |
|||
<el-input v-model="formListValue.bsqrPhone" placeholder="" class="margin-right" /> |
|||
</div> |
|||
</span> |
|||
<span class="flex margin-top-10"> |
|||
<div class="width-180 flex-2"> |
|||
<span>于患者关系:</span> |
|||
<el-input v-model="formListValue.bsqrHzGx" placeholder="" class="margin-right" /> |
|||
|
|||
</div> |
|||
<div class="width-inner-200 input__inner-bordernone left"> |
|||
<span>签字日期:</span> |
|||
<el-date-picker |
|||
v-model="formListValue.bsqrSignDate" |
|||
class="margin-right-6" |
|||
type="datetime" |
|||
placeholder="" |
|||
/> |
|||
</div> |
|||
</span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<!-- 第三行 --> |
|||
<div class="margin-top-10 printPagebreak"> 现确认增加以下被授权人,自签名时间起,被授权人均可独立代理行使本人本次治疗期间的权利。</div> |
|||
<!-- 第四行 --> |
|||
<div class="margin-top-10 printPagebreak"> |
|||
<div class="flex margin-top-10"> |
|||
<div> |
|||
<span> |
|||
<span>患者签字:</span> |
|||
<span |
|||
v-if="!formListValue.patientSign1 && saveEidtTitle==='保存'" |
|||
class="sign" |
|||
@click="singHandle('patientSign1')" |
|||
>点击签字</span> |
|||
</span> |
|||
<span v-if="formListValue.patientSign1"> |
|||
<img :src="formListValue.patientSign1" alt="" width="90px" @click="singHandle('patientSign1')"> |
|||
<i |
|||
v-show="saveEidtTitle==='保存'" |
|||
class="el-icon-circle-close" |
|||
style="font-size:20px;cursor:pointer;" |
|||
@click="imageRemoveClick('patientSign1')" |
|||
/> |
|||
</span> |
|||
</div> |
|||
<div class="width-inner-200 left input__inner-bordernone"> |
|||
<span>签字日期:</span> |
|||
<el-date-picker |
|||
v-model="formListValue.patientSignDate1" |
|||
class="margin-right-6" |
|||
type="datetime" |
|||
placeholder="" |
|||
/> |
|||
</div> |
|||
</div> |
|||
<div class="flex margin-top-10"> |
|||
<div> |
|||
<span> |
|||
<span>被授权人签名:</span> |
|||
<span |
|||
v-if="!formListValue.bsqrSign1 && saveEidtTitle==='保存'" |
|||
class="sign" |
|||
@click="singHandle('bsqrSign1')" |
|||
>点击签字</span> |
|||
</span> |
|||
<span v-if="formListValue.bsqrSign1"> |
|||
<img :src="formListValue.bsqrSign1" alt="" width="90px" @click="singHandle('bsqrSign1')"> |
|||
<i |
|||
v-show="saveEidtTitle==='保存'" |
|||
class="el-icon-circle-close" |
|||
style="font-size:20px;cursor:pointer;" |
|||
@click="imageRemoveClick('bsqrSign1')" |
|||
/> |
|||
</span> |
|||
</div> |
|||
<div class="width-180 flex-2"> |
|||
<el-form-item prop="bsqrIdNumber1"> |
|||
<span>身份证号:</span> |
|||
<el-input v-model="formListValue.bsqrIdNumber1" placeholder="" class="margin-right" /> |
|||
</el-form-item> |
|||
</div> |
|||
<div class="width-180 flex-2"> |
|||
<span>于患者关系:</span> |
|||
<el-input v-model="formListValue.bsqrHzGx1" placeholder="" class="margin-right" /> |
|||
</div> |
|||
</div> |
|||
<div class="flex margin-top-10"> |
|||
<div class="width-180 flex-2"> |
|||
<span>联系电话:</span> |
|||
<el-input v-model="formListValue.bsqrPhone1" placeholder="" class="margin-right" /> |
|||
</div> |
|||
<div class="width-inner-200 input__inner-bordernone left"> |
|||
<span>签字日期:</span> |
|||
<el-date-picker |
|||
v-model="formListValue.bsqrSignDate1" |
|||
class="margin-right-6" |
|||
type="datetime" |
|||
placeholder="" |
|||
/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- 第五行 --> |
|||
<div class="margin-top-10"> |
|||
<div class="flex margin-top-10"> |
|||
<div> |
|||
<span> |
|||
<span>患者签字:</span> |
|||
<span |
|||
v-if="!formListValue.patientSign2 && saveEidtTitle==='保存'" |
|||
class="sign" |
|||
@click="singHandle('patientSign2')" |
|||
>点击签字</span> |
|||
</span> |
|||
<span v-if="formListValue.patientSign2"> |
|||
<img :src="formListValue.patientSign2" alt="" width="90px" @click="singHandle('patientSign2')"> |
|||
<i |
|||
v-show="saveEidtTitle==='保存'" |
|||
class="el-icon-circle-close" |
|||
style="font-size:20px;cursor:pointer;" |
|||
@click="imageRemoveClick('patientSign2')" |
|||
/> |
|||
</span> |
|||
</div> |
|||
<div class="width-inner-200 left input__inner-bordernone"> |
|||
<span>签字日期:</span> |
|||
<el-date-picker |
|||
v-model="formListValue.patientSignDate2" |
|||
class="margin-right-6" |
|||
type="datetime" |
|||
placeholder="" |
|||
/> |
|||
</div> |
|||
</div> |
|||
<div class="flex margin-top-10"> |
|||
<div> |
|||
<span> |
|||
<span>被授权人签名:</span> |
|||
<span |
|||
v-if="!formListValue.bsqrSign2 && saveEidtTitle==='保存'" |
|||
class="sign" |
|||
@click="singHandle('bsqrSign2')" |
|||
>点击签字</span> |
|||
</span> |
|||
<span v-if="formListValue.bsqrSign2"> |
|||
<img :src="formListValue.bsqrSign2" alt="" width="90px" @click="singHandle('bsqrSign2')"> |
|||
<i |
|||
v-show="saveEidtTitle==='保存'" |
|||
class="el-icon-circle-close" |
|||
style="font-size:20px;cursor:pointer;" |
|||
@click="imageRemoveClick('bsqrSign2')" |
|||
/> |
|||
</span> |
|||
</div> |
|||
<div class="width-180 flex-2"> |
|||
<el-form-item prop="bsqrIdNumber2"> |
|||
<span>身份证号:</span> |
|||
<el-input v-model="formListValue.bsqrIdNumber2" placeholder="" class="margin-right" /> |
|||
</el-form-item> |
|||
</div> |
|||
<div class="width-180 flex-2"> |
|||
<span>于患者关系:</span> |
|||
<el-input v-model="formListValue.bsqrHzGx2" placeholder="" class="margin-right" /> |
|||
</div> |
|||
</div> |
|||
<div class="flex margin-top-10"> |
|||
<div class="width-180 flex-2"> |
|||
<span>联系电话:</span> |
|||
<el-input v-model="formListValue.bsqrPhone2" placeholder="" class="margin-right" /> |
|||
</div> |
|||
<div class="width-inner-200 input__inner-bordernone left"> |
|||
<span>签字日期:</span> |
|||
<el-date-picker |
|||
v-model="formListValue.bsqrSignDate2" |
|||
class="margin-right-6" |
|||
type="datetime" |
|||
placeholder="" |
|||
/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- 第六行 --> |
|||
<div class="margin-top-10 printPagebreak"> |
|||
<div>未成年人(小于18周岁)、无完全民事行为能力的成年患者,由其法定代理人代为行使上述权利。</div> |
|||
<div class="flex margin-top-10"> |
|||
<div> |
|||
<span> |
|||
<span>代理人签名:</span> |
|||
<span |
|||
v-if="!formListValue.dlrSign && saveEidtTitle==='保存'" |
|||
class="sign" |
|||
@click="singHandle('dlrSign')" |
|||
>点击签字</span> |
|||
</span> |
|||
<span v-if="formListValue.dlrSign"> |
|||
<img :src="formListValue.dlrSign" alt="" width="90px" @click="singHandle('dlrSign')"> |
|||
<i |
|||
v-show="saveEidtTitle==='保存'" |
|||
class="el-icon-circle-close" |
|||
style="font-size:20px;cursor:pointer;" |
|||
@click="imageRemoveClick('dlrSign')" |
|||
/> |
|||
</span> |
|||
</div> |
|||
<div class="width-180 flex-2"> |
|||
<el-form-item prop="dlrIdNumber"> |
|||
<span>身份证号:</span> |
|||
<el-input v-model="formListValue.dlrIdNumber" placeholder="" class="margin-right" /> |
|||
</el-form-item> |
|||
</div> |
|||
<div class="width-180 flex-2"> |
|||
<span>于患者关系:</span> |
|||
<el-input v-model="formListValue.dlrHzGx" placeholder="" class="margin-right" /> |
|||
</div> |
|||
</div> |
|||
<div class="flex margin-top-10"> |
|||
<div class="width-180 flex-2"> |
|||
<span>联系电话:</span> |
|||
<el-input v-model="formListValue.dlrPhone" placeholder="" class="margin-right" /> |
|||
</div> |
|||
<div class="width-inner-200 input__inner-bordernone left"> |
|||
<span>签字日期:</span> |
|||
<el-date-picker |
|||
v-model="formListValue.dlrSignDate" |
|||
class="margin-right-6" |
|||
type="datetime" |
|||
placeholder="" |
|||
/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- 第七行 --> |
|||
<div class="margin-top-10">(本授权书保留在病历中)</div> |
|||
</div> |
|||
</div> |
|||
</el-form> |
|||
</div> |
|||
<div class="saveInfo"> |
|||
<span class="padding-right-10">保存人:{{ formListValue.createName ? formListValue.createName : '-' }}</span> |
|||
<span>保存时间:{{ formListValue.createDate ? formListValue.createDate : '-' }}</span> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import signGet from '@/mixins/signGet' |
|||
import publicFile from '@/mixins/publicFile' |
|||
import h5formButton from '@/components/H5formOhter/h5formButton' |
|||
import { isMobile, isIDNumber } from '@/utils/validate' |
|||
import htmlToPdfToBlob from '@/mixins/htmlToPdfToBlob' |
|||
export default { |
|||
components: { |
|||
h5formButton |
|||
}, |
|||
mixins: [signGet, publicFile, htmlToPdfToBlob], |
|||
props: { |
|||
archiveCaseCRFItem: { |
|||
// type: Object, |
|||
default: () => { } |
|||
}, |
|||
currentUrl: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
formContent: { |
|||
default: () => { } |
|||
}, |
|||
operaId: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
pageTitle: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
patientId: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
patientInfoObj: { |
|||
type: Object, |
|||
default: () => { } |
|||
}, |
|||
userData: { |
|||
type: Object, |
|||
default: () => { } |
|||
}, |
|||
roleList: { |
|||
type: Array, |
|||
default: () => [] |
|||
}, |
|||
positionName: { |
|||
type: Array, |
|||
default: () => [] |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
saveEidtTitle: '编辑', |
|||
formListValue: { |
|||
// 表单id |
|||
formId: '', |
|||
// 表单名称 |
|||
formName: '授权书', |
|||
// 表单日期 |
|||
formDate: '', |
|||
// 病历号 |
|||
patientId: '', |
|||
// 身份证 |
|||
patientIdNumber: '', |
|||
// 姓名 |
|||
patientName: '', |
|||
// 就诊号 |
|||
treatmentId: '', |
|||
// 年龄 |
|||
patientAge: '', |
|||
// 性别 |
|||
patientSex: '', |
|||
// 专科 |
|||
zk: '', |
|||
// 本人选择框 |
|||
brCheck: '', |
|||
// 授权选择框 |
|||
sqCheck: '', |
|||
// 授权选择框后的输入框 |
|||
sqCheckInput: '', |
|||
// 患者签名 |
|||
patientSign: '', |
|||
// 患者签名时间 |
|||
patientSignDate: '', |
|||
// 授权患者姓名 |
|||
sqPatientName: '', |
|||
// 被授权人签字 |
|||
bsqrSign: '', |
|||
// 被授权人身份证 |
|||
bsqrIdNumber: '', |
|||
// 被授权人与患者关系 |
|||
bsqrHzGx: '', |
|||
// 被授权人电话 |
|||
bsqrPhone: '', |
|||
// 被授权人签名时间 |
|||
bsqrSignDate: '', |
|||
// 患者签名1 |
|||
patientSign1: '', |
|||
// 患者签名1时间 |
|||
patientSignDate1: '', |
|||
// 被授权人签名1 |
|||
bsqrSign1: '', |
|||
// 被授权人身份证1 |
|||
bsqrIdNumber1: '', |
|||
// 被授权人与患者关系1 |
|||
bsqrHzGx1: '', |
|||
// 被授权人电话1 |
|||
bsqrPhone1: '', |
|||
// 被授权人签名时间1 |
|||
bsqrSignDate1: '', |
|||
// 患者签名2 |
|||
patientSign2: '', |
|||
// 患者签名2时间 |
|||
patientSignDate2: '', |
|||
// 被授权人签名2 |
|||
bsqrSign2: '', |
|||
// 被授权人身份证2 |
|||
bsqrIdNumber2: '', |
|||
// 被授权人与患者关系2 |
|||
bsqrHzGx2: '', |
|||
// 被授权人电话2 |
|||
bsqrPhone2: '', |
|||
// 被授权人签名时间2 |
|||
bsqrSignDate2: '', |
|||
// 代理人签名 |
|||
dlrSign: '', |
|||
// 代理人身份证 |
|||
dlrIdNumber: '', |
|||
// 代理人与患者关系 |
|||
dlrHzGx: '', |
|||
// 代理人电话 |
|||
dlrPhone: '', |
|||
// 代理人签名时间 |
|||
dlrSignDate: '', |
|||
// 保存人姓名 |
|||
createName: '', |
|||
// 保存人工号 |
|||
createCode: '', |
|||
// 保存时间 |
|||
createDate: '' |
|||
|
|||
}, |
|||
operaList: [] |
|||
} |
|||
}, |
|||
computed: { |
|||
shouquanBook: { |
|||
get() { |
|||
return this.$store.getters.shouquanBook |
|||
} |
|||
}, |
|||
dataRule() { |
|||
var validataIDNumber = (rule, value, callback) => { |
|||
if (value && !isIDNumber(value)) { |
|||
return callback(new Error('您输入的身份证格式不正确')) |
|||
} else if (!value) { |
|||
return callback(new Error('请输入身份证号')) |
|||
} |
|||
callback() |
|||
} |
|||
return { |
|||
bsqrIdNumber: [ |
|||
{ required: true, validator: validataIDNumber, trigger: 'blur' } |
|||
], |
|||
bsqrIdNumber1: [ |
|||
{ required: true, validator: validataIDNumber, trigger: 'blur' } |
|||
], |
|||
bsqrIdNumber2: [ |
|||
{ required: true, validator: validataIDNumber, trigger: 'blur' } |
|||
], |
|||
dlrIdNumber: [ |
|||
{ required: true, validator: validataIDNumber, trigger: 'blur' } |
|||
] |
|||
|
|||
} |
|||
} |
|||
}, |
|||
watch: { |
|||
shouquanBook: { |
|||
handler(value) { |
|||
console.log(value) |
|||
value.patientSign ? this.formListValue.patientSign = value.patientSign : '' |
|||
value.bsqrSign ? this.formListValue.bsqrSign = value.bsqrSign : '' |
|||
value.patientSign1 ? this.formListValue.patientSign1 = value.patientSign1 : '' |
|||
value.bsqrSign1 ? this.formListValue.bsqrSign1 = value.bsqrSign1 : '' |
|||
value.patientSign2 ? this.formListValue.patientSign2 = value.patientSign2 : '' |
|||
value.bsqrSign2 ? this.formListValue.bsqrSign2 = value.bsqrSign2 : '' |
|||
value.dlrSign ? this.formListValue.dlrSign = value.dlrSign : '' |
|||
}, |
|||
deep: true, |
|||
immediate: true |
|||
}, |
|||
formContent: { |
|||
handler(value) { |
|||
console.log(Object.values(value).length) |
|||
// Object.values(value).length === Object.values(this.formListValue).length ? this.formListValue = value : '' |
|||
}, |
|||
deep: true |
|||
} |
|||
}, |
|||
created() { |
|||
}, |
|||
destroyed() { |
|||
console.log('告知书/授权书destroyed') |
|||
// this.$parent.deleteErmUpdating(this.archiveCaseCRFItem.id) |
|||
}, |
|||
methods: { |
|||
init() { |
|||
this.getInfo() |
|||
// this.$parent.deleteErmUpdating(this.archiveCaseCRFItem.id) |
|||
}, |
|||
// 点编辑按钮自动获取签名和日期 |
|||
getSign() { |
|||
// this.getSystomSign('gzrSign') |
|||
this.formListValue.patientSignDate ? '' : this.formListValue.patientSignDate = this.$moment().format('YYYY-MM-DD HH:mm:ss') |
|||
this.formListValue.bsqrSignDate ? '' : this.formListValue.bsqrSignDate = this.$moment().format('YYYY-MM-DD HH:mm:ss') |
|||
this.formListValue.patientSignDate1 ? '' : this.formListValue.patientSignDate1 = this.$moment().format('YYYY-MM-DD HH:mm:ss') |
|||
this.formListValue.bsqrSignDate1 ? '' : this.formListValue.bsqrSignDate1 = this.$moment().format('YYYY-MM-DD HH:mm:ss') |
|||
this.formListValue.patientSignDate2 ? '' : this.formListValue.patientSignDate2 = this.$moment().format('YYYY-MM-DD HH:mm:ss') |
|||
this.formListValue.bsqrSignDate2 ? '' : this.formListValue.bsqrSignDate2 = this.$moment().format('YYYY-MM-DD HH:mm:ss') |
|||
this.formListValue.dlrSignDate ? '' : this.formListValue.dlrSignDate = this.$moment().format('YYYY-MM-DD HH:mm:ss') |
|||
}, |
|||
// 签名 |
|||
singHandle(text) { |
|||
const value = { |
|||
text: text, |
|||
pageName: 'shouquanBook' |
|||
} |
|||
this.$store.commit('beginSign', value) |
|||
}, |
|||
// 获取表单 |
|||
async getInfo() { |
|||
const { data: res } = await this.$http.get('/quguang/shouquan/getOperaShouQuanInfo', { |
|||
params: { |
|||
formId: this.archiveCaseCRFItem.id, |
|||
formName: this.archiveCaseCRFItem.formName, |
|||
formDate: this.archiveCaseCRFItem.formDate, |
|||
patientIdNumber: this.archiveCaseCRFItem.patientIdNumber, |
|||
patientId: this.patientId |
|||
} |
|||
}) |
|||
if (res.code === 0) { |
|||
this.$emit('load') |
|||
if (this.archiveCaseCRFItem.id === res.data.formId) { |
|||
// console.log(res.data) |
|||
Object.keys(res.data).forEach((item) => { |
|||
// console.log(res.data) |
|||
// 如果data中没有定义这个字段,就自动加进去 |
|||
this.formListValue[item] || typeof this.formListValue[item] === 'boolean' ? '' : this.formListValue[item] = '' |
|||
// 如果不为空就赋值上去 |
|||
if ((res.data[item] && res.data[item] !== 'false' && res.data[item] !== 'true') || typeof res.data[item] === 'number') { |
|||
this.formListValue[item] = res.data[item] |
|||
} |
|||
if (res.data[item] && typeof res.data[item] !== 'number') { |
|||
res.data[item].includes('[') || res.data[item] === 'false' || res.data[item] === 'true' ? this.formListValue[item] = JSON.parse(res.data[item]) : '' |
|||
} |
|||
}) |
|||
} |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
// 保存表单 |
|||
async saveAllForm() { |
|||
const formvalue = JSON.parse(JSON.stringify(this.formListValue)) |
|||
Object.keys(formvalue).forEach(item => { |
|||
if (Array.isArray(formvalue[item])) { |
|||
formvalue[item] = JSON.stringify(formvalue[item]) |
|||
} |
|||
}) |
|||
const { data: res } = await this.$http.post('/quguang/shouquan/saveOperaShouQuan', formvalue) |
|||
if (res.code === 0) { |
|||
this.saveEidtTitle = '编辑' |
|||
this.$message({ |
|||
message: '您已保存成功', |
|||
type: 'success' |
|||
}) |
|||
// this.loading = this.$loading({ |
|||
// lock: true, |
|||
// text: '转存PDF中请稍等...', |
|||
// spinner: 'el-icon-loading', |
|||
// background: 'rgba(255, 255, 255, 0.7)' |
|||
// }) |
|||
// this.exportPDF({ |
|||
// paperSize: 'A4', // 纸张格式 |
|||
// customOrientation: 'portrait', // 纸张方向 |
|||
// customMargin: [10, 10, 10, 10], // 页边距 |
|||
// customElementId: 'printH5', |
|||
// isHtml2canvas: true, |
|||
// isCurrentPageLoad: true // CA发送后端接口是否使用loading |
|||
// }) |
|||
this.getInfo() |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style lang="scss"> |
|||
.shouquanBook { |
|||
background: #fff; |
|||
padding: 10px 0 50px 20px; |
|||
.saveInfo{ |
|||
text-align: center; |
|||
} |
|||
.shouquanBook-content { |
|||
text-align: left; |
|||
p { |
|||
text-indent: 2em; |
|||
margin: 3px 0; |
|||
font-size: 15px; |
|||
} |
|||
} |
|||
.title { |
|||
font-weight: 700; |
|||
font-size: 20px; |
|||
text-indent: 0; |
|||
} |
|||
.sign { |
|||
cursor: pointer; |
|||
color: #46a1ff; |
|||
font-weight: 400; |
|||
} |
|||
.sign-right-width { |
|||
width: 280px; |
|||
text-align: left; |
|||
} |
|||
.opera-icon { |
|||
// display: none; |
|||
font-size: 20px; |
|||
} |
|||
.el-textarea { |
|||
width: auto !important; |
|||
} |
|||
.el-radio { |
|||
margin-right: 8px; |
|||
} |
|||
.el-input__prefix { |
|||
display: none; |
|||
} |
|||
.el-date-editor.el-input, |
|||
.el-date-editor.el-input__inner { |
|||
width: 140px; |
|||
} |
|||
.el-input__suffix { |
|||
top: -7px; |
|||
} |
|||
.el-table--border::after, |
|||
.el-table--group::after, |
|||
.el-table::before { |
|||
z-index: 1; |
|||
} |
|||
.el-table--border::after, |
|||
.el-table--group::after, |
|||
.el-table::before { |
|||
background: #000; |
|||
} |
|||
.el-input__icon { |
|||
line-height: 100% !important; |
|||
} |
|||
.el-input__suffix { |
|||
top: -2px !important; |
|||
right: -8px; |
|||
} |
|||
.el-table--enable-row-hover .el-table__body tr:hover > td.el-table__cell { |
|||
background: none !important; |
|||
} |
|||
.el-checkbox { |
|||
margin-right: 0; |
|||
} |
|||
.el-form-item__error { |
|||
top: 30px; |
|||
right: 0; |
|||
left:auto; |
|||
} |
|||
.el-form-item { |
|||
margin: 0; |
|||
} |
|||
} |
|||
</style> |
|||
File diff suppressed because it is too large
File diff suppressed because it is too large
File diff suppressed because it is too large
File diff suppressed because it is too large
@ -1,42 +0,0 @@ |
|||
<template> |
|||
<!-- 分诊管理 --> |
|||
<div class="patient-info"> |
|||
<template v-if="isShowPatient"> |
|||
<div @click="browseClick">测试111</div> |
|||
</template> |
|||
<router-view v-else /> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
export default { |
|||
data() { |
|||
return { |
|||
isShowPatient:true |
|||
} |
|||
}, |
|||
watch: { |
|||
$route(val) { |
|||
console.log('val',val) |
|||
// 如果两级以上就隐藏父级 |
|||
this.isShowPatient = !(val.matched.length > 2) |
|||
} |
|||
}, |
|||
created() { |
|||
console.log(1111111111111) |
|||
}, |
|||
methods: { |
|||
// 浏览 |
|||
browseClick(scopeRow) { |
|||
this.$router.push({ |
|||
path: '/seeDoctor', |
|||
query: { |
|||
info: this.$Base64.encode(JSON.stringify({ |
|||
patientIdNumber: '340526199002035411', |
|||
patientCentreId: '1501022662955876354' |
|||
})) |
|||
} |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
Loading…
Reference in new issue