Browse Source

修改杭州新需求

master
刘灿 11 months ago
parent
commit
6bcdf65724
  1. 7
      src/assets/scss/common.scss
  2. 2
      src/components/H5form/consent-book.vue
  3. 592
      src/components/H5form/consent-book保存pdf另一个版本.vue
  4. 2
      src/components/H5form/fzbl.vue
  5. 36
      src/components/H5form/historyData.vue
  6. 406
      src/components/H5form/jmjl-dzbl.vue
  7. 3
      src/components/H5form/jmjl-opera-check-record.vue
  8. 871
      src/components/H5form/lhopera-consent-book copy.vue
  9. 2
      src/components/H5form/lhopera-consent-book.vue
  10. 466
      src/components/H5form/notice-book-pdf备用.vue
  11. 1351
      src/components/H5form/operation-nursing-record.vue
  12. 2
      src/components/H5form/operation-plan.vue
  13. 2151
      src/components/H5form/operation-record copy.vue
  14. 3023
      src/components/H5form/operation-record-jdPdf备用.vue
  15. 674
      src/components/H5form/operation-record-老的表格方式.vue
  16. 1901
      src/components/H5form/operation-record.vue
  17. 1291
      src/components/H5form/operationed-check-record 处理检索版本.vue
  18. 110
      src/components/H5form/operationed-check-record.vue
  19. 2
      src/components/H5form/payDemandNote.vue
  20. 1981
      src/components/H5form/qg-dzbl.vue
  21. 522
      src/components/H5form/qgyj.vue
  22. 5
      src/components/H5form/safety-checklist.vue
  23. 712
      src/components/H5form/shouquanBook copy.vue
  24. 771
      src/components/H5form/shouquanBook 备份.vue
  25. 2
      src/components/H5form/shouquanBook.vue
  26. 1159
      src/components/H5form/talk-record copy.vue
  27. 1253
      src/components/H5form/talk-record-pdf备用.vue
  28. 2
      src/components/H5form/talk-record.vue
  29. 6
      src/mixins/clearContent.js
  30. 1
      src/mixins/htmlToPdfToBlob.js
  31. 1058
      src/mixins/jmjlDzbl.js
  32. 715
      src/mixins/qgdzbl.js
  33. 6
      src/page-subspecialty/store/modules/sign.js
  34. 3
      src/page-subspecialty/views/main-navbar.vue
  35. 42
      src/page-subspecialty/views/modules/ceshi/index.vue
  36. 5
      src/page-subspecialty/views/modules/systemManagement/formSet/operaRecordSet.vue
  37. 8
      src/page-subspecialty/views/pages/login.vue

7
src/assets/scss/common.scss

@ -1460,4 +1460,11 @@ img {
.el-input__suffix {
display: none;
}
}
.el-radio input[aria-hidden="true"] {
display: none !important;
}
.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner {
box-shadow: none !important;
}

2
src/components/H5form/consent-book.vue

@ -8,7 +8,7 @@
style="margin:0 auto;font-size:16px;width:750px;font-family:msyh;">
<!-- v-if="currentUrl.includes('192')" -->
<p style="color:#000000;font-size:32px;text-align:center;">
温州医科大学附属眼视光医院</p>
温州医科大学附属眼视光医院杭州院区</p>
<p style="color:#000000;font-size:32px;margin:10px 0 10px 0;text-align:center;">
角膜营养不良基因检测知情同意书</p>
<el-form ref="formListValue" :model="formListValue" :disabled="saveEidtTitle==='编辑' ? true : false"

592
src/components/H5form/consent-book保存pdf另一个版本.vue

@ -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>

2
src/components/H5form/fzbl.vue

@ -16,7 +16,7 @@
<p
style="color:#000000;font-size:32px;margin:0 0 20px 0;text-align:center;"
>
温州医科大学附属眼视光医院</p>
温州医科大学附属眼视光医院杭州院区</p>
<p style="color:#000000;font-size:32px;margin-bottom:30px;text-align:center;">
门诊病历</p>
<el-form ref="form" :model="formListValue" :disabled="saveEidtTitle==='编辑' ? true : false">

36
src/components/H5form/historyData.vue

@ -412,7 +412,7 @@
<el-radio-button label="tkzjAn">瞳孔直径</el-radio-button>
</div>
<div>
<el-radio-button label="tkzjJmzj">瞳孔直径/ 角膜直径</el-radio-button>
<el-radio-button label="jmzjJmhd">瞳孔直径/ 角膜直径</el-radio-button>
<el-radio-button label="yzJmhd">眼轴 / 角膜厚度</el-radio-button>
</div>
</el-radio-group>
@ -650,11 +650,11 @@
</el-table-column>
</el-table>
</div>
<div v-if="qtRadio==='all' || qtRadio==='tkzjJmzj'" class="margin-bottom-10">
<p class="left zuo-title" @click="saveEidtTitle==='保存' && qitaClick('整体引入','tkzjJmzj','','ODOS','tkzjJmzjDate')">瞳孔直径/ 角膜直径</p>
<div v-for="(item,index) in Object.keys(dataForm.tkzjJmzj)" :key="index">
<div v-if="qtRadio==='all' || qtRadio==='jmzjJmhd'" class="margin-bottom-10">
<p class="left zuo-title" @click="saveEidtTitle==='保存' && qitaClick('整体引入','jmzjJmhd','','ODOS','jmzjJmhdDate')">瞳孔直径/ 角膜直径</p>
<div v-for="(item,index) in Object.keys(dataForm.jmzjJmhd)" :key="index">
<p class="left">{{ item==="osData" ? '左眼(OS)' : '右眼(OD)' }}</p>
<el-table :data="dataForm.tkzjJmzj[item]" style="width: 100%" border>
<el-table :data="dataForm.jmzjJmhd[item]" style="width: 100%" border>
<el-table-column label="瞳孔直径(明)" align="center">
<template slot-scope="scope">
<span v-if="item==='odData'">{{ scope.row.tkzjMingOd ? scope.row.tkzjMingOd : '-' }}</span>
@ -669,23 +669,23 @@
</el-table-column>
<el-table-column label="日期" align="center" width="110px">
<template slot-scope="scope">
{{ scope.row.tkzjJmzjDate ? scope.row.tkzjJmzjDate : '-' }}
{{ scope.row.jmzjJmhdDate ? scope.row.jmzjJmhdDate : '-' }}
</template>
</el-table-column>
<el-table-column label="时间" align="center">
<template slot-scope="scope">
{{ scope.row.tkzjJmzjTime ? scope.row.tkzjJmzjTime : '-' }}
{{ scope.row.jmzjJmhdTime ? scope.row.jmzjJmhdTime : '-' }}
</template>
</el-table-column>
<el-table-column label="检查者" align="center">
<template slot-scope="scope">
<img v-if="scope.row.tkzjJmzjSign" :src="scope.row.tkzjJmzjSign" alt="" width="60px">
<img v-if="scope.row.jmzjJmhdSign" :src="scope.row.jmzjJmhdSign" alt="" width="60px">
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column v-if="saveEidtTitle==='保存'" label="操作" align="center">
<template slot-scope="scope">
<span class="yinru" @click="qitaClick('独立引入','tkzjJmzj',scope.row,item)">引入</span>
<span class="yinru" @click="qitaClick('独立引入','jmzjJmhd',scope.row,item)">引入</span>
</template>
</el-table-column>
</el-table>
@ -1075,13 +1075,13 @@ export default {
const oraOd = this.dataForm.ora.odData.length > 0 ? (this.dataForm.ora.odData[0].oraDate === this.todayDate ? this.dataForm.ora.odData[0] : {}) : {}
const oraOs = this.dataForm.ora.osData.length > 0 ? (this.dataForm.ora.osData[0].oraDate === this.todayDate ? this.dataForm.ora.osData[0] : {}) : {}
const tkzjJmzjOd = this.dataForm.tkzjJmzj.odData.length > 0 ? (this.dataForm.tkzjJmzj.odData[0].tkzjJmzjDate === this.todayDate ? this.dataForm.tkzjJmzj.odData[0] : {}) : {}
const tkzjJmzjOs = this.dataForm.tkzjJmzj.osData.length > 0 ? (this.dataForm.tkzjJmzj.osData[0].tkzjJmzjDate === this.todayDate ? this.dataForm.tkzjJmzj.osData[0] : {}) : {}
const jmzjJmhdOd = this.dataForm.jmzjJmhd.odData.length > 0 ? (this.dataForm.jmzjJmhd.odData[0].jmzjJmhdDate === this.todayDate ? this.dataForm.jmzjJmhd.odData[0] : {}) : {}
const jmzjJmhdOs = this.dataForm.jmzjJmhd.osData.length > 0 ? (this.dataForm.jmzjJmhd.osData[0].jmzjJmhdDate === this.todayDate ? this.dataForm.jmzjJmhd.osData[0] : {}) : {}
const yzJmhdOd = this.dataForm.yzJmhd.odData.length > 0 ? (this.dataForm.yzJmhd.odData[0].yzjmhdDate === this.todayDate ? this.dataForm.yzJmhd.odData[0] : {}) : {}
const yzJmhdOs = this.dataForm.yzJmhd.osData.length > 0 ? (this.dataForm.yzJmhd.osData[0].yzjmhdDate === this.todayDate ? this.dataForm.yzJmhd.osData[0] : {}) : {}
this.currentObj = {
...xjds, ...amp, ...tkzjAn, ...jmdxtOd, ...jmdxtOs, ...oraOd, ...oraOs, ...tkzjJmzjOd, ...tkzjJmzjOs, ...yzJmhdOd, ...yzJmhdOs
...xjds, ...amp, ...tkzjAn, ...jmdxtOd, ...jmdxtOs, ...oraOd, ...oraOs, ...jmzjJmhdOd, ...jmzjJmhdOs, ...yzJmhdOd, ...yzJmhdOs
}
this.yrFlag = Object.keys(this.currentObj).length > 0
this.funTodayYr2()
@ -1096,13 +1096,13 @@ export default {
const oraOd = this.dataForm.ora.odData.length > 0 ? this.dataForm.ora.odData[0] : {}
const oraOs = this.dataForm.ora.osData.length > 0 ? this.dataForm.ora.osData[0] : {}
const tkzjJmzjOd = this.dataForm.tkzjJmzj.odData.length > 0 ? this.dataForm.tkzjJmzj.odData[0] : {}
const tkzjJmzjOs = this.dataForm.tkzjJmzj.osData.length > 0 ? this.dataForm.tkzjJmzj.osData[0] : {}
const jmzjJmhdOd = this.dataForm.jmzjJmhd.odData.length > 0 ? this.dataForm.jmzjJmhd.odData[0] : {}
const jmzjJmhdOs = this.dataForm.jmzjJmhd.osData.length > 0 ? this.dataForm.jmzjJmhd.osData[0] : {}
const yzJmhdOd = this.dataForm.yzJmhd.odData.length > 0 ? this.dataForm.yzJmhd.odData[0] : {}
const yzJmhdOs = this.dataForm.yzJmhd.osData.length > 0 ? this.dataForm.yzJmhd.osData[0] : {}
this.currentObj = {
...xjds, ...amp, ...tkzjAn, ...jmdxtOd, ...jmdxtOs, ...oraOd, ...oraOs, ...tkzjJmzjOd, ...tkzjJmzjOs, ...yzJmhdOd, ...yzJmhdOs
...xjds, ...amp, ...tkzjAn, ...jmdxtOd, ...jmdxtOs, ...oraOd, ...oraOs, ...jmzjJmhdOd, ...jmzjJmhdOs, ...yzJmhdOd, ...yzJmhdOs
}
this.$emit('yinruClick', this.currentObj)
}
@ -1118,13 +1118,13 @@ export default {
// const oraOd = this.dataForm.ora.odData.length > 0 ? (this.dataForm.ora.odData[0].oraDate === this.todayDate ? this.dataForm.ora.odData[0] : {}) : {}
// const oraOs = this.dataForm.ora.osData.length > 0 ? (this.dataForm.ora.osData[0].oraDate === this.todayDate ? this.dataForm.ora.osData[0] : {}) : {}
// const tkzjJmzjOd = this.dataForm.tkzjJmzj.odData.length > 0 ? (this.dataForm.tkzjJmzj.odData[0].tkzjJmzjDate === this.todayDate ? this.dataForm.tkzjJmzj.odData[0] : {}) : {}
// const tkzjJmzjOs = this.dataForm.tkzjJmzj.osData.length > 0 ? (this.dataForm.tkzjJmzj.osData[0].tkzjJmzjDate === this.todayDate ? this.dataForm.tkzjJmzj.osData[0] : {}) : {}
// const jmzjJmhdOd = this.dataForm.jmzjJmhd.odData.length > 0 ? (this.dataForm.jmzjJmhd.odData[0].jmzjJmhdDate === this.todayDate ? this.dataForm.jmzjJmhd.odData[0] : {}) : {}
// const jmzjJmhdOs = this.dataForm.jmzjJmhd.osData.length > 0 ? (this.dataForm.jmzjJmhd.osData[0].jmzjJmhdDate === this.todayDate ? this.dataForm.jmzjJmhd.osData[0] : {}) : {}
// const yzJmhdOd = this.dataForm.yzJmhd.odData.length > 0 ? (this.dataForm.yzJmhd.odData[0].yzjmhdDate === this.todayDate ? this.dataForm.yzJmhd.odData[0] : {}) : {}
// const yzJmhdOs = this.dataForm.yzJmhd.osData.length > 0 ? (this.dataForm.yzJmhd.osData[0].yzjmhdDate === this.todayDate ? this.dataForm.yzJmhd.osData[0] : {}) : {}
// this.currentObj = {
// ...xjds, ...amp, ...tkzjAn, ...jmdxtOd, ...jmdxtOs, ...oraOd, ...oraOs, ...tkzjJmzjOd, ...tkzjJmzjOs, ...yzJmhdOd, ...yzJmhdOs
// ...xjds, ...amp, ...tkzjAn, ...jmdxtOd, ...jmdxtOs, ...oraOd, ...oraOs, ...jmzjJmhdOd, ...jmzjJmhdOs, ...yzJmhdOd, ...yzJmhdOs
// }
// this.yrFlag = Object.keys(this.currentObj).length > 0
// this.funTodayYr2()

406
src/components/H5form/jmjl-dzbl.vue

@ -27,7 +27,7 @@
</p>
</template>
<template v-else>
<p class="title" style="line-height:60px;">角膜交联病历</p>
<p class="title" style="line-height:60px;">杭州院区角膜交联病历</p>
</template>
</div>
<!-- 第1行 -->
@ -127,7 +127,6 @@
</div>
</div>
<div v-if="scope.row.zjygTwo.length>0" class="center" />
<div v-if="scope.row.dbmgdAn.length>0" class="center" :class="saveEidtTitle==='保存' ? 'cursor':''">
对比敏感度
</div>
@ -148,26 +147,22 @@
</div>
<div style="color:#1e79ff;font-size:14px;">(
{{ formListValue.jmdxtDeviceName ? formListValue.jmdxtDeviceName : '无设备信息' }} )</div>
</div>
<div v-if="scope.row.jmzjJmhd.length>0" class="center" :class="saveEidtTitle==='保存' ? 'cursor':''"
@dblclick="saveEidtTitle==='保存' && historyClick('getQtList')">
角膜直径/角膜厚度
</div>
<div v-if="scope.row.yanya.length>0" class="center" :class="saveEidtTitle==='保存' ? 'cursor':''"
@dblclick="saveEidtTitle==='保存' && historyClick('getYanyaList')">
眼压
</div>
<div v-if="scope.row.tkzjMjmzj.length>0" class="center" :class="saveEidtTitle==='保存' ? 'cursor':''"
@dblclick="saveEidtTitle==='保存' && historyClick('getQtList')">
瞳孔直径()/角膜直径
</div>
<div v-if="scope.row.tkzjAn.length>0" class="center" :class="saveEidtTitle==='保存' ? 'cursor':''"
@dblclick="saveEidtTitle==='保存' && historyClick('getQtList')">
瞳孔直径()
</div>
<div v-if="scope.row.ORA.length>0" class="center" :class="saveEidtTitle==='保存' ? 'cursor':''"
<div v-if="scope.row.atzj.length>0" class="center" :class="saveEidtTitle==='保存' ? 'cursor':''"
@dblclick="saveEidtTitle==='保存' && historyClick('getQtList')">
ORA
暗瞳直径
</div>
<div v-if="scope.row.yzjmhd.length>0" class="center" :class="saveEidtTitle==='保存' ? 'cursor':''"
<div v-if="scope.row.yz.length>0" class="center" :class="saveEidtTitle==='保存' ? 'cursor':''"
@dblclick="saveEidtTitle==='保存' && historyClick('getQtList')">
眼轴 / 角膜厚度
眼轴
</div>
<div v-if="scope.row.npxbmd.length>0" class="center" :class="saveEidtTitle==='保存' ? 'cursor':''"
@dblclick="saveEidtTitle==='保存' && historyClick('getQtList')">
@ -177,35 +172,21 @@
@dblclick="saveEidtTitle==='保存' && historyClick('getQtList')">
OCT上皮/最薄角膜厚度
</div>
<div v-if="scope.row.OCT.length>0" class="center flex-1">
OCT
<i class="el-icon-platform-eleme padding-left-6 sign" style="font-size:20px;"
@click.stop="pacsLinkClick" />
</div>
<div v-if="scope.row.tsjc.length>0" class="center flex-1">
特殊检查
<i class="el-icon-platform-eleme padding-left-6 sign" style="font-size:20px;"
@click.stop="pacsLinkClick" />
</div>
<div v-if="scope.row.TBUT.length>0" class="center">
TBUT
<i v-show="saveEidtTitle==='保存'" class="el-icon-refresh" @click="getTbut" />
</div>
<div v-if="scope.row.LXDJC.length>0" class="center">
裂隙灯检查
眼前段
</div>
<div v-if="scope.row.stydjc.length>0" class="center">
散瞳眼底检查
眼后段
</div>
<div v-if="scope.row.other.length>0" class="center" :class="saveEidtTitle==='保存' ? 'cursor':''"
@dblclick="saveEidtTitle==='保存' && templateLook('qt','','qtSign','qtDate')">
备注
<i v-show="saveEidtTitle==='保存'" class="el-icon-s-operation" />
</div>
<div v-if="scope.row.ldcx.length>0" class="center">
泪道冲洗
<i v-show="saveEidtTitle==='保存'" class="el-icon-refresh" @click="getNewLdcxInfo()" />
</div>
<div v-if="scope.row.zhenduan.length>0" class="center">
诊断
<i v-show="saveEidtTitle==='保存'" class="el-icon-refresh" @click="getNewZdInfo('zd')" />
@ -276,35 +257,29 @@
</span>
</span>
</div>
<div class="flex-2 margin-top-10">
<!-- <span class="flex-2">
现镜度数:
<el-radio-group v-model="formListValue.xjdsRadio" class="margin-left-6" @change="radioChange('xjdsRadio')">
<el-radio label="测量">测量</el-radio>
<el-radio label="未测量">未测量</el-radio>
</el-radio-group>
</span>
<span v-if="formListValue.xjdsRadio==='测量'">
<span class="width-80">
右眼
<el-input v-model="formListValue.xjdsOdInput" placeholder="" />
左眼
<el-input v-model="formListValue.xjdsOsInput" placeholder="" />
<div v-if="formListValue.dyjRadio === '有'" class="margin-top-10">
<div class="flex-2">
<span>戴镜度数</span>
<span class="flex">
右眼:
<el-form-item prop="djdsOd"
:rules="formListValue.djdsIsDisabled ? [{ required: false}] : [{ required: true, message: '请输入', trigger: ['blur']}] ">
<el-input v-model="formListValue.djdsOd" placeholder="度数" size="small"
:disabled="formListValue.djdsIsDisabled" class="margin-right-6" />
</el-form-item>
</span>
</span> -->
<span class="width-80">
现镜配置时间
<el-input v-model="formListValue.xjpzTimeInput" placeholder="" />
<el-dropdown trigger="click" @command="dropdownHandle($event,'xjpzTimeUnit')">
<span class="el-dropdown-link">
{{ formListValue.xjpzTimeUnit }}<i class="el-icon-arrow-down el-icon--right" />
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="(item,index) in unitList" :key="index" :command="item.text">
{{ item.text }}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</span>
<span class="flex padding-left-10">
左眼:
<el-form-item prop="djdsOs"
:rules="formListValue.djdsIsDisabled ? [{ required: false}] : [{ required: true, message: '请输入', trigger: ['blur']}] ">
<el-input v-model="formListValue.djdsOs" placeholder="度数" size="small"
:disabled="formListValue.djdsIsDisabled" class="margin-right-6" />
</el-form-item>
</span>
<span class="padding-left-10">
<el-checkbox v-model="formListValue.djdsBX" label="不详" @change="radioChange('djdsCheck')" />
</span>
</div>
</div>
<div class="width-50 margin-top-10">
<div class="flex-2">
@ -610,23 +585,13 @@
</div>
<div v-if="formListValue.fysCheck.includes('激素类药物')" class="textarea-610 flex-7">
激素类药物
<el-input
v-model="formListValue.fysJislInput"
type="textarea"
maxlength="100"
show-word-limit
placeholder=""
/>
<el-input v-model="formListValue.fysJislInput" type="textarea" maxlength="100" show-word-limit
placeholder="" />
</div>
<div v-if="formListValue.fysCheck.includes('精神类药物')" class="textarea-610 flex-7">
精神类药物
<el-input
v-model="formListValue.fysJingslInput"
type="textarea"
maxlength="150"
show-word-limit
placeholder=""
/>
<el-input v-model="formListValue.fysJingslInput" type="textarea" maxlength="150" show-word-limit
placeholder="" />
</div>
<div v-if="formListValue.fysCheck.includes('其它')" class="textarea-710 flex-7">
其它
@ -854,30 +819,15 @@
<div v-if="scope.row.jmdxt.length>0" class="left">
<div class="width-60">
K2
<el-input v-model="formListValue.jmdxtOd1" placeholder="" />/
<el-input v-model="formListValue.jmdxtK2Od" placeholder="" />
/
K1
<el-input v-model="formListValue.jmdxtOd2" placeholder="" />@
<el-input v-model="formListValue.jmdxtOd3" placeholder="" />
</div>
<div class="width-80">
Kmax
<el-input v-model="formListValue.jmdxtKmaxOd" placeholder="" /> /
Astig
<el-input v-model="formListValue.jmdxtAstigOd" placeholder="" />
<el-input v-model="formListValue.jmdxtK1Od1" placeholder="" />@
<el-input v-model="formListValue.jmdxtK1Od2" placeholder="" />
</div>
<div class="width-80">
Rm
<el-input v-model="formListValue.jmdxtRmOd" placeholder="" />mm /
Thin
<el-input v-model="formListValue.jmdxtThinOd" placeholder="" />
</div>
<div class="width-140">
Pupil x(mm)
<el-input v-model="formListValue.jmdxtPxOd" placeholder="" />/
</div>
<div class="width-160">
y(mm)
<el-input v-model="formListValue.jmdxtPyOd" placeholder="" />
ACD
<el-input v-model="formListValue.jmdxtAcdOd" placeholder="" />mm
</div>
</div>
<!-- 眼压-->
@ -885,8 +835,8 @@
<el-input v-model="formListValue.yyOd1" placeholder="" />/
<el-input v-model="formListValue.yyOd2" placeholder="" />mmHg@
</div>
<!-- 瞳孔直径明-角膜直径-->
<div v-if="scope.row.tkzjMjmzj.length>0" class="width-100 center">
<!-- 角膜直径/角膜厚度-->
<div v-if="scope.row.jmzjJmhd.length>0" class="width-100 center">
<el-input v-model="formListValue.tkzjMingOd" placeholder="" /> /
<el-input v-model="formListValue.jmzjOd" placeholder="" /> mm
</div>
@ -951,7 +901,7 @@
@input="inputChange('tbutSign','tbutDate')" />Sec
</span>
</div>
<!-- 裂隙灯检查-->
<!-- 眼前段-->
<div v-if="scope.row.LXDJC.length>0" class="center LXDJC"
:class="saveEidtTitle==='保存' ? 'el-select__input-edit' : 'el-select__input-save'">
<el-button v-if="saveEidtTitle==='保存'" type="primary" plain size="mini" class="moren"
@ -1041,7 +991,7 @@
@click="imgClick('lxdjcImgOd')">
</div>
</div>
<!--散瞳眼底检查-->
<!--眼后段-->
<div v-if="scope.row.stydjc.length>0" class="center stydjc select-width-auto"
:class="saveEidtTitle==='保存' ? 'el-select__input-edit' : 'el-select__input-save'">
<el-button v-if="saveEidtTitle==='保存'" type="primary" plain size="mini" class="moren"
@ -1307,30 +1257,15 @@
<div v-if="scope.row.jmdxt.length>0" class="left">
<div class="width-60">
K2
<el-input v-model="formListValue.jmdxtOs1" placeholder="" />/
<el-input v-model="formListValue.jmdxtK2Os" placeholder="" />
/
K1
<el-input v-model="formListValue.jmdxtOs2" placeholder="" />@
<el-input v-model="formListValue.jmdxtOs3" placeholder="" />
<el-input v-model="formListValue.jmdxtK1Os1" placeholder="" />@
<el-input v-model="formListValue.jmdxtK1Os2" placeholder="" />
</div>
<div class="width-80">
Kmax
<el-input v-model="formListValue.jmdxtKmaxOs" placeholder="" /> /
Astig
<el-input v-model="formListValue.jmdxtAstigOs" placeholder="" />
</div>
<div class="width-80">
Rm
<el-input v-model="formListValue.jmdxtRmOs" placeholder="" />mm /
Thin
<el-input v-model="formListValue.jmdxtThinOs" placeholder="" />
</div>
<div class="width-140">
Pupil x(mm)
<el-input v-model="formListValue.jmdxtPxOs" placeholder="" />/
</div>
<div class="width-160">
y(mm)
<el-input v-model="formListValue.jmdxtPyOs" placeholder="" />
ACD
<el-input v-model="formListValue.jmdxtAcdOs" placeholder="" />mm
</div>
</div>
<!-- 眼压-->
@ -1338,8 +1273,8 @@
<el-input v-model="formListValue.yyOs1" placeholder="" />/
<el-input v-model="formListValue.yyOs2" placeholder="" />mmHg@
</div>
<!-- 瞳孔直径明-角膜直径-->
<div v-if="scope.row.tkzjMjmzj.length>0" class="width-100 center">
<!--角膜直径/角膜厚度-->
<div v-if="scope.row.jmzjJmhd.length>0" class="width-100 center">
<el-input v-model="formListValue.tkzjMingOs" placeholder="" /> /
<el-input v-model="formListValue.jmzjOs" placeholder="" /> mm
</div>
@ -1404,7 +1339,7 @@
@input="inputChange('tbutSign','tbutDate')" />Sec
</span>
</div>
<!-- 裂隙灯检查-->
<!-- 眼前段-->
<div v-if="scope.row.LXDJC.length>0" class="center LXDJC"
:class="saveEidtTitle==='保存' ? 'el-select__input-edit' : 'el-select__input-save'">
<el-button v-if="saveEidtTitle==='保存'" type="primary" plain size="mini" class="moren"
@ -1488,7 +1423,7 @@
@click="imgClick('lxdjcImgOs')">
</div>
</div>
<!-- 散瞳眼底检查-->
<!-- 眼后段-->
<div v-if="scope.row.stydjc.length>0" class="center stydjc select-width-auto"
:class="saveEidtTitle==='保存' ? 'el-select__input-edit' : 'el-select__input-save'">
<el-button v-if="saveEidtTitle==='保存'" type="primary" plain size="mini" class="moren"
@ -1726,7 +1661,8 @@
<!-- 对比敏感度亮 -->
<div v-if="scope.row.dbmgdLiang.length>0" class="center">
<span v-if="formListValue.dbmgdLiangSign">
<img :src="formListValue.dbmgdLiangSign" alt="" width="60px" @click="getSystomSign('dbmgdLiangSign')">
<img :src="formListValue.dbmgdLiangSign" alt="" width="60px"
@click="getSystomSign('dbmgdLiangSign')">
<i v-show="saveEidtTitle==='保存'" class="el-icon-circle-close" style="font-size:20px;cursor:pointer;"
@click="imageRemoveClick('dbmgdLiangSign')" />
</span>
@ -1763,20 +1699,20 @@
<span v-if="formListValue.yyDate" class="font-size-13"> /
{{ formListValue.yyDate ? formListValue.yyDate : '-' }}</span>
</div>
<!-- 瞳孔直径明-角膜直径 -->
<div v-if="scope.row.tkzjMjmzj.length>0" class="center">
<!--角膜直径/角膜厚度 -->
<div v-if="scope.row.jmzjJmhd.length>0" class="center">
<!-- <span
v-if="!formListValue.tkzjJmzjSign && saveEidtTitle==='保存'"
v-if="!formListValue.jmzjJmhdSign && saveEidtTitle==='保存'"
class="sign"
@click="getSystomSign('tkzjJmzjSign')"
@click="getSystomSign('jmzjJmhdSign')"
>获取签字</span> -->
<span v-if="formListValue.tkzjJmzjSign">
<img :src="formListValue.tkzjJmzjSign" alt="" width="60px" @click="getSystomSign('tkzjJmzjSign')">
<span v-if="formListValue.jmzjJmhdSign">
<img :src="formListValue.jmzjJmhdSign" alt="" width="60px" @click="getSystomSign('jmzjJmhdSign')">
<i v-show="saveEidtTitle==='保存'" class="el-icon-circle-close" style="font-size:20px;cursor:pointer;"
@click="imageRemoveClick('tkzjJmzjSign')" />
@click="imageRemoveClick('jmzjJmhdSign')" />
</span>
<span v-if="formListValue.tkzjJmzjDate" class="font-size-13"> /
{{ formListValue.tkzjJmzjDate ? formListValue.tkzjJmzjDate : '-' }}</span>
<span v-if="formListValue.jmzjJmhdDate" class="font-size-13"> /
{{ formListValue.jmzjJmhdDate ? formListValue.jmzjJmhdDate : '-' }}</span>
</div>
<!-- 瞳孔直径暗 -->
<div v-if="scope.row.tkzjAn.length>0" class="center">
@ -1890,7 +1826,7 @@
<span v-if="formListValue.tbutDate" class="font-size-13"> /
{{ formListValue.tbutDate ? formListValue.tbutDate : '-' }}</span>
</div>
<!-- 裂隙灯检查 -->
<!-- 眼前段 -->
<div v-if="scope.row.LXDJC.length>0" class="center">
<span v-if="!formListValue.lxdjcSign && saveEidtTitle==='保存'" class="sign"
@click="getSystomSign('lxdjcSign','lxdjcDate')">获取签字</span>
@ -1903,7 +1839,7 @@
<span v-if="formListValue.lxdjcDate" class="font-size-13"> /
{{ formListValue.lxdjcDate ? formListValue.lxdjcDate : '-' }}</span>
</div>
<!-- 散瞳眼底检查 -->
<!-- 眼后段 -->
<div v-if="scope.row.stydjc.length>0" class="center">
<span v-if="!formListValue.stydjcSign && saveEidtTitle==='保存'" class="sign"
@click="getSystomSign('stydjcSign','stydjcDate')">获取签字</span>
@ -2103,6 +2039,12 @@ export default {
xjdsRadio: '',
xjdsOdInput: '',
xjdsOsInput: '',
//
djdsIsDisabled: false,
//
djdsOd: '',
djdsOs: '',
djdsBX: '',
//
xjpzTimeInput: '',
xjpzTimeUnit: '年',
@ -2141,11 +2083,11 @@ export default {
//
everyYearDsInput: '',
//
qtqgssRadio: '否认',
qtqgssRadio: '',
qtqgssInput: '',
qtbsBeizhu: '',
//
ybykSssRadio: '否认',
ybykSssRadio: '',
ybykSssInput: '',
//
yjbsCheckbox: [],
@ -2156,31 +2098,31 @@ export default {
//
ssqtInput: '',
// /
wsOperaRadio: '否认',
wsOperaRadio: '',
wsOperaInput: '',
//
ywgmsRadio: '否认',
ywgmsRadio: '',
ywgmsInput: '',
//
bhtzRadio: '否认',
bhtzRadio: '',
bhtzInput: '',
//
rysInput: '',
//
qtbsRadio: '否认',
qtbsRadio: '',
qtbsCheck: [],
qtbsInput: '',
//
fysRadio: '否认',
fysRadio: '',
fysCheck: [],
//
fysJislInput:'',
fysJislInput: '',
//
fysJingslInput:'',
fysJingslInput: '',
fysInput: '',
fysBeizhu: '',
//
jzsRadio: '否认',
jzsRadio: '',
jzsInput: '',
//
ycsOrYcqxs: '',
@ -2285,9 +2227,9 @@ export default {
dbmgdAn6cOs: '',
dbmgdAn12cOs: '',
dbmgdAn18cOs: '',
dbmgdAnSign:'',
dbmgdAnTime:'',
dbmgdAnDate:'',
dbmgdAnSign: '',
dbmgdAnTime: '',
dbmgdAnDate: '',
//
dbmgdDi3cOd: '',
dbmgdDi6cOd: '',
@ -2297,9 +2239,9 @@ export default {
dbmgdDi6cOs: '',
dbmgdDi12cOs: '',
dbmgdDi18cOs: '',
dbmgdDiSign:'',
dbmgdDiTime:'',
dbmgdDiDate:'',
dbmgdDiSign: '',
dbmgdDiTime: '',
dbmgdDiDate: '',
//
dbmgdGao3cOd: '',
dbmgdGao6cOd: '',
@ -2309,9 +2251,9 @@ export default {
dbmgdGao6cOs: '',
dbmgdGao12cOs: '',
dbmgdGao18cOs: '',
dbmgdGaoSign:'',
dbmgdGaoTime:'',
dbmgdGaoDate:'',
dbmgdGaoSign: '',
dbmgdGaoTime: '',
dbmgdGaoDate: '',
//
dbmgdLiang3cOd: '',
dbmgdLiang6cOd: '',
@ -2321,28 +2263,18 @@ export default {
dbmgdLiang6cOs: '',
dbmgdLiang12cOs: '',
dbmgdLiang18cOs: '',
dbmgdLiangSign:'',
dbmgdLiangTime:'',
dbmgdLiangDate:'',
dbmgdLiangSign: '',
dbmgdLiangTime: '',
dbmgdLiangDate: '',
//
jmdxtOd1: '',
jmdxtOd2: '',
jmdxtOd3: '',
jmdxtKmaxOd: '',
jmdxtAstigOd: '',
jmdxtThinOd: '',
jmdxtRmOd: '',
jmdxtPxOd: '',
jmdxtPyOd: '',
jmdxtOs1: '',
jmdxtOs2: '',
jmdxtOs3: '',
jmdxtKmaxOs: '',
jmdxtAstigOs: '',
jmdxtThinOs: '',
jmdxtRmOs: '',
jmdxtPxOs: '',
jmdxtPyOs: '',
jmdxtK2Od:'',
jmdxtK1Od1:'',
jmdxtK1Od2:'',
jmdxtAcdOd:'',
jmdxtK2Os:'',
jmdxtK1Os1:'',
jmdxtK1Os2:'',
jmdxtAcdOs:'',
jmdxtSign: '',
jmdxtTime: '',
jmdxtDate: '',
@ -2355,40 +2287,56 @@ export default {
yySign: '',
yyTime: '',
yyDate: '',
// -
tkzjMingOd: '',
tkzjMingOs: '',
//
jmzjOd: '',
jmzjOs: '',
tkzjJmzjSign: '',
tkzjJmzjTime: '',
tkzjJmzjDate: '',
// --
tkzjAnOd: '',
tkzjAnOs: '',
tkzjAnSign: '',
tkzjAnTime: '',
tkzjAnDate: '',
// ORA
oraIopccOd: '',
oraIopgOd: '',
oraCrfOd: '',
oraChOd: '',
oraIopccOs: '',
oraIopgOs: '',
oraCrfOs: '',
oraChOs: '',
oraSign: '',
oraTime: '',
oraDate: '',
// TBUT
tbutOd: '',
tbutOs: '',
tbutSign: '',
tbutTime: '',
tbutDate: '',
//
//
jmhdOd: '',
jmhdOs: '',
jmzjJmhdSign: '',
jmzjJmhdTime: '',
jmzjJmhdDate: '',
//
atzjOd: '',
atzjOs: '',
atzjSign: '',
atzjTime: '',
atzjDate: '',
// offset
offsetXOd:'',
offsetYOd:'',
offsetROd1:'',
offsetROd2:'',
offsetXOs:'',
offsetYOs:'',
offsetROs1:'',
offsetROs2:'',
offsetSign: '',
offsetTime: '',
offsetDate: '',
// corvis
corvisOd1:'',
corvisOd2:'',
corvisOd3:'',
corvisOs1:'',
corvisOs2:'',
corvisOs3:'',
corvisSign: '',
corvisTime: '',
corvisDate: '',
//
yzOd: '',
yzOs: '',
yzSign: '',
yzTime: '',
yzDate: '',
//
npOd:'',
npOs:'',
npSign: '',
npTime: '',
npDate: '',
//
lxdjcYanjOd: '',
lxdjcJiemOd: '',
lxdjcJiaomOd: '',
@ -2408,7 +2356,7 @@ export default {
lxdjcTime: '',
lxdjcDate: '',
lxdjcSign: '',
//
//
stydjcShipOd: '',
stydjcHuangbOd: '',
stydjcXuegOd: '',
@ -2424,14 +2372,6 @@ export default {
stydjcSign: '',
stydjcTime: '',
stydjcDate: '',
// /
yzOd: '',
yzOs: '',
jmhdOd: '',
jmhdOs: '',
yzJmhdSign: '',
yzjmhdTime: '',
yzjmhdDate: '',
// /6A
npxbmdOd1: '',
npxbmdOd2: '',
@ -2448,49 +2388,21 @@ export default {
octspZbjmhdSign: '',
octspZbjmhdTime: '',
octspZbjmhdDate: '',
// OCT
octOd: [],
octOs: [],
octSign: '',
octTime: '',
octDate: '',
//
tsjcOd: [],
tsjcOs: [],
siriusBzOd: '',
siriusBzOs: '',
tsjcSign: '',
tsjcTime: '',
tsjcDate: '',
//
qt: '',
qtSign: '',
qtTime: '',
qtDate: '',
//
// zdEyeType: '',
// zdCheck: [],
// zdRemark: '',
zd: '',
zdSign: '',
zdTime: '',
zdDate: '',
//
ldcx: '',
ldcxSign: '',
ldcxTime: '',
ldcxDate: '',
//
clyj: '',
clyjSign: '',
clyjTime: '',
clyjDate: '',
saveName: '',
saveSign: '',
saveTime: ''
@ -2734,8 +2646,8 @@ export default {
}
//
let xlpgContent = (!this.formListValue.xlpgScoreOdd || !this.formListValue.xlpgScoreEven) && this.formListValue.clyj ? '<div>此患者心理评估分数目前为空!</div>' : ''
//
let stydjcContent = this.formListValue.stydjcShipOs.length <= 0 && this.formListValue.clyj ? '<div>此患者散瞳眼底检查还未保存!</div>' : ''
//
let stydjcContent = this.formListValue.stydjcShipOs.length <= 0 && this.formListValue.clyj ? '<div>此患者眼后段还未保存!</div>' : ''
let sumContent = xlpgContent + stydjcContent
if (sumContent && yrFlag !== '引入保存') {
this.$confirm(`${sumContent}您是否要继续保存?`, '提示', {
@ -2760,7 +2672,7 @@ export default {
savePd(yrFlag) {
if ((!this.formListValue.slMingDate || !this.formListValue.xjdsDate || !this.formListValue.dnygXtDate ||
!this.formListValue.dnygStDate || !this.formListValue.zjygXtDate || !this.formListValue.jmdxtDate ||
!this.formListValue.yyDate || !this.formListValue.tkzjJmzjDate || !this.formListValue.oraDate ||
!this.formListValue.yyDate || !this.formListValue.jmzjJmhdDate || !this.formListValue.oraDate ||
!this.formListValue.tkzjAnDate || !this.formListValue.yzjmhdDate) && this.formListValue.clyj && yrFlag !== '引入保存') {
this.$confirm('当前表单还有检查数据为空,您是否需要一键引入当天检查数据后再保存?', '提示', {
confirmButtonText: '引入保存',
@ -2881,12 +2793,12 @@ export default {
}
}
//
if ((row.name === 'jcxm' || row.name === 'xjds' || row.name === 'Amp' || row.name === 'jmdxt' || row.name === 'yanya' || row.name === 'tkzjMjmzj' || row.name === 'tkzjAn' || row.name === 'ORA' || row.name === 'yzjmhd' || row.name === 'npxbmd' || row.name === 'octspZbjmhd' || row.name === 'OCT' || row.name === 'tsjc' || row.name === 'TBUT' || row.name === 'LXDJC' || row.name === 'stydjc' || row.name === 'other' || row.name === 'zhenduan' || row.name === 'ldcx' || row.name === 'clyj') && columnIndex === 0) {
if ((row.name === 'jcxm' || row.name === 'xjds' || row.name === 'Amp' || row.name === 'jmdxt' || row.name === 'yanya' || row.name === 'jmzjJmhd' || row.name === 'tkzjAn' || row.name === 'ORA' || row.name === 'yzjmhd' || row.name === 'npxbmd' || row.name === 'octspZbjmhd' || row.name === 'OCT' || row.name === 'tsjc' || row.name === 'TBUT' || row.name === 'LXDJC' || row.name === 'stydjc' || row.name === 'other' || row.name === 'zhenduan' || row.name === 'ldcx' || row.name === 'clyj') && columnIndex === 0) {
return {
rowspan: 1,
colspan: 2
}
} else if ((row.name === 'jcxm' || row.name === 'xjds' || row.name === 'Amp' || row.name === 'jmdxt' || row.name === 'yanya' || row.name === 'tkzjMjmzj' || row.name === 'tkzjAn' || row.name === 'ORA' || row.name === 'yzjmhd' || row.name === 'npxbmd' || row.name === 'octspZbjmhd' || row.name === 'OCT' || row.name === 'tsjc' || row.name === 'TBUT' || row.name === 'LXDJC' || row.name === 'stydjc' || row.name === 'other' || row.name === 'zhenduan' || row.name === 'ldcx' || row.name === 'clyj') && (columnIndex > 0 && columnIndex < 2)) {
} else if ((row.name === 'jcxm' || row.name === 'xjds' || row.name === 'Amp' || row.name === 'jmdxt' || row.name === 'yanya' || row.name === 'jmzjJmhd' || row.name === 'tkzjAn' || row.name === 'ORA' || row.name === 'yzjmhd' || row.name === 'npxbmd' || row.name === 'octspZbjmhd' || row.name === 'OCT' || row.name === 'tsjc' || row.name === 'TBUT' || row.name === 'LXDJC' || row.name === 'stydjc' || row.name === 'other' || row.name === 'zhenduan' || row.name === 'ldcx' || row.name === 'clyj') && (columnIndex > 0 && columnIndex < 2)) {
// 0
return {
rowspan: 0,

3
src/components/H5form/jmjl-opera-check-record.vue

@ -18,7 +18,8 @@
class="operationed-check-record formTablePrint form-setclass"
style="page-break-after:always;height:100%;margin:0 auto;width:900px"
>
<p v-if="currentUrl.includes('192')" style="color:#000000;font-size:32px;marginTop:20px;text-align:center;">温州医科大学附属眼视光医院</p>
<!-- v-if="currentUrl.includes('192')" -->
<p style="color:#000000;font-size:32px;marginTop:20px;text-align:center;">温州医科大学附属眼视光医院杭州院区</p>
<p style="color:#000000;font-size:32px;margin:10px 0 30px 0;text-align:center;">
屈光角膜交联术后检查记录单</p>
<el-form ref="formListValue" class="input-size" :model="formListValue" :disabled="saveEidtTitle==='编辑' ? true : false" :rules="dataRule">

871
src/components/H5form/lhopera-consent-book copy.vue

@ -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">
15FS-LASIK术后恢复快可个性化切削但角膜切口大存在角膜瓣相关风险如角膜瓣形成不良而终止手术术后早期角膜瓣未完全愈合时因用力眯眼揉眼等原因会出现角膜瓣皱褶移位可能切口愈合后应尽量避免眼部外伤否则有角膜瓣皱褶移位甚至丢失的可能FS-LASIK术后极少数患者有角膜瓣下上皮内生或植入严重者出现角膜瓣溶解可能极少数患者出现弥漫性层间角膜炎严重者局部角膜变薄浑浊而影响视力术中负压吸引可能引起结膜下出血一般需数周自行消退
</p>
<p class="printPagebreak">
16Smart全激光由准分子激光一步完成无刀无瓣无切口无接触无负压术后无痕可个性化切削但术后恢复慢存在上皮愈合不良可能术后需防护紫外线可能出现角膜雾状浑浊严重者影响视力</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: [
{
// X0-10,1 * :2
coX: '0.700',
// Y0-10,1 * :2
coY: '0.690',
// :1
keyword: '',
// :1
offsetX: '',
// :1
offsetY: '',
// :2 * A-B"AB1-5"150-0"
pageNo: '3-3',
// * 1(); * 6:
signatureType: '',
// /, * 10 ()
timestamp: '1',
// 123
type: '2',
// /
width: '75',
// /
height: '30'
}
],
//
userId: this.userData.employeeId
}
}
//
const patientSignPositionsParams = [{
// X0-10,1 * :2
coX: '0.623',
// Y0-10,1 * :2
coY: '0.483',
// :1
keyword: '',
// :1
offsetX: '',
// :1
offsetY: '',
// :2 * A-B"AB1-5"150-0"
pageNo: '3-3',
// * 1(); * 6:
signatureType: '',
// /, * 10 ()
timestamp: '1',
// 123
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>

2
src/components/H5form/lhopera-consent-book.vue

@ -20,7 +20,7 @@
margin: 0 0 0 0;
text-align: center;
">
温州医科大学附属眼视光医院
温州医科大学附属眼视光医院杭州分院
</p>
<p style="
color: #000000;

466
src/components/H5form/notice-book-pdf备用.vue

@ -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>

1351
src/components/H5form/operation-nursing-record.vue

File diff suppressed because it is too large

2
src/components/H5form/operation-plan.vue

@ -25,7 +25,7 @@
text-align: center;
"
>
温州医科大学附属眼视光医院
温州医科大学附属眼视光医院杭州院区
</p>
<p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;">
手术计划

2151
src/components/H5form/operation-record copy.vue

File diff suppressed because it is too large

3023
src/components/H5form/operation-record-jdPdf备用.vue

File diff suppressed because it is too large

674
src/components/H5form/operation-record-老的表格方式.vue

@ -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>

1901
src/components/H5form/operation-record.vue

File diff suppressed because it is too large

1291
src/components/H5form/operationed-check-record 处理检索版本.vue

File diff suppressed because it is too large

110
src/components/H5form/operationed-check-record.vue

@ -9,8 +9,9 @@
<span v-show="!formListValue.createName && isGetFormValue" class="title-ts">(提示:此表单尚未保存)</span>
<div id="printH5" class="operationed-check-record formTablePrint form-setclass"
style="page-break-after:always;height:100%;margin:0 auto;width:900px">
<p v-if="currentUrl.includes('192')" style="color:#000000;font-size:32px;marginTop:20px;text-align:center;">
温州医科大学附属眼视光医院</p>
<!-- v-if="currentUrl.includes('192')" -->
<p style="color:#000000;font-size:32px;marginTop:20px;text-align:center;">
温州医科大学附属眼视光医院杭州院区</p>
<p style="color:#000000;font-size:32px;margin:10px 0 30px 0;text-align:center;">
屈光手术术后检查记录单</p>
<el-form ref="formListValue" class="input-size" :model="formListValue"
@ -315,30 +316,13 @@
</div>
<!-- 角膜地形图 -->
<div v-if="scope.row.JMDXT.length>0" class="left">
<div class="width-80">
<div class="width-60">
K2
<el-input v-model="formListValue.jmdxtOd1" placeholder="" /> /
<el-input v-model="formListValue.jmdxtK2Od" placeholder="" />
/
K1
<el-input v-model="formListValue.jmdxtOd2" placeholder="" /> @
<el-input v-model="formListValue.jmdxtOd3" placeholder="" />
</div>
<div class="width-120 margin-top-10">
Kmax
<el-input v-model="formListValue.jmdxtKmaxOd" placeholder="" /> /
Astig
<el-input v-model="formListValue.jmdxtAstigOd" placeholder="" />
</div>
<div class="width-120 margin-top-10">
Rm
<el-input v-model="formListValue.jmdxtRmOd" placeholder="" />mm /
Thin
<el-input v-model="formListValue.jmdxtThinOd" placeholder="" />
</div>
<div class="width-90 margin-top-10">
Pupil x(mm)
<el-input v-model="formListValue.jmdxtPxOd" placeholder="" /> /
y(mm)
<el-input v-model="formListValue.jmdxtPyOd" placeholder="" />
<el-input v-model="formListValue.jmdxtK1Od1" placeholder="" />@
<el-input v-model="formListValue.jmdxtK1Od2" placeholder="" />
</div>
</div>
<!-- 眼轴 -->
@ -653,30 +637,13 @@
</div>
<!-- 角膜地形图 -->
<div v-if="scope.row.JMDXT.length>0" class="left">
<div class="width-80">
<div class="width-60">
K2
<el-input v-model="formListValue.jmdxtOs1" placeholder="" /> /
<el-input v-model="formListValue.jmdxtK2Os" placeholder="" />
/
K1
<el-input v-model="formListValue.jmdxtOs2" placeholder="" /> @
<el-input v-model="formListValue.jmdxtOs3" placeholder="" />
</div>
<div class="width-120 margin-top-10">
Kmax
<el-input v-model="formListValue.jmdxtKmaxOs" placeholder="" /> /
Astig
<el-input v-model="formListValue.jmdxtAstigOs" placeholder="" />
</div>
<div class="width-120 margin-top-10">
Rm
<el-input v-model="formListValue.jmdxtRmOs" placeholder="" />mm /
Thin
<el-input v-model="formListValue.jmdxtThinOs" placeholder="" />
</div>
<div class="width-90 margin-top-10">
Pupil x(mm)
<el-input v-model="formListValue.jmdxtPxOs" placeholder="" /> /
y(mm)
<el-input v-model="formListValue.jmdxtPyOs" placeholder="" />
<el-input v-model="formListValue.jmdxtK1Os1" placeholder="" />@
<el-input v-model="formListValue.jmdxtK1Os2" placeholder="" />
</div>
</div>
<!-- 眼轴 -->
@ -986,24 +953,13 @@ export default {
yyOs1: '',
yyOs2: '',
//
jmdxtOd1: '',
jmdxtOd2: '',
jmdxtOd3: '',
jmdxtKmaxOd: '',
jmdxtAstigOd: '',
jmdxtThinOd: '',
jmdxtRmOd: '',
jmdxtPxOd: '',
jmdxtPyOd: '',
jmdxtOs1: '',
jmdxtOs2: '',
jmdxtOs3: '',
jmdxtKmaxOs: '',
jmdxtAstigOs: '',
jmdxtThinOs: '',
jmdxtRmOs: '',
jmdxtPxOs: '',
jmdxtPyOs: '',
jmdxtK2Od: '',
jmdxtK1Od1: '',
jmdxtK1Od2: '',
jmdxtK2Os: '',
jmdxtK1Os1: '',
jmdxtK1Os2: '',
jmdxtDeviceName: '',
//
yzOd: '',
yzOs: '',
@ -1176,7 +1132,7 @@ export default {
this.getInfo()
}
},
//
async getInfo() {
this.isGetFormValue = false
@ -1192,7 +1148,7 @@ export default {
}
})
if (res.code === 0) {
this.rowShow(res.data)
this.rowShow(res.data)
this.$emit('load')
if (this.archiveCaseCRFItem.id === res.data.formId) {
res.data.ssOuOperaName ? this.setyyssfsList('ouList', res.data.ssOuOperaName) : ''
@ -1217,16 +1173,16 @@ export default {
this.$message.error(res.msg)
}
},
//
//
rowShow(data) {
let operaName = data.ssOuOperaName + '、'+ data.ssOuOperaBieM + '、' + data.ssOdOperaName + '、' + data.ssOdOperaBieM + '、' + data.ssOsOperaName + '、' + data.ssOsOperaBieM
let tableData = JSON.parse(JSON.stringify(this.tableData))
if(operaName.includes('Presby MAX') || operaName.includes('FS-LASIK+老视') || operaName.includes('Smart+老视')) {
this.tableDataNew = this.tableData
} else {
this.tableDataNew = tableData.filter(item => item.name !== 'UCVA' && item.name !== 'BSCVA')
}
let operaName = data.ssOuOperaName + '、' + data.ssOuOperaBieM + '、' + data.ssOdOperaName + '、' + data.ssOdOperaBieM + '、' + data.ssOsOperaName + '、' + data.ssOsOperaBieM
let tableData = JSON.parse(JSON.stringify(this.tableData))
if (operaName.includes('Presby MAX') || operaName.includes('FS-LASIK+老视') || operaName.includes('Smart+老视')) {
this.tableDataNew = this.tableData
} else {
this.tableDataNew = tableData.filter(item => item.name !== 'UCVA' && item.name !== 'BSCVA')
}
},
//
setyyssfsList(text, operaNameArr) {
@ -1248,8 +1204,8 @@ export default {
// console.log(this.formListValue[operaBieMText]);
let tableData = JSON.parse(JSON.stringify(this.tableData))
let operaName = this.formListValue[operaNameText] + '、' + this.formListValue[operaBieMText]
if(operaName.includes('Presby MAX') || operaName.includes('FS-LASIK+老视') || operaName.includes('Smart+老视')) {
this.tableDataNew =tableData
if (operaName.includes('Presby MAX') || operaName.includes('FS-LASIK+老视') || operaName.includes('Smart+老视')) {
this.tableDataNew = tableData
} else {
this.tableDataNew = tableData.filter(item => item.name !== 'UCVA' && item.name !== 'BSCVA')
}

2
src/components/H5form/payDemandNote.vue

@ -20,7 +20,7 @@
<div ref="htmlContent">
<!-- v-if="currentUrl.includes('192')" -->
<p style="color:#000000;font-size:32px;text-align:center;">
温州医科大学附属眼视光医院</p>
温州医科大学附属眼视光医院杭州分院</p>
<p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;">
医疗收费知情同意书
</p>

1981
src/components/H5form/qg-dzbl.vue

File diff suppressed because it is too large

522
src/components/H5form/qgyj.vue

@ -1,20 +1,14 @@
<template>
<div class="qgyj-eyeQuestion">
<h5formButton
ref="h5formButtonRef"
:yrmb-button-show="false"
:archive-case-c-r-f-item="archiveCaseCRFItem"
<h5formButton ref="h5formButtonRef" :yrmb-button-show="false" :archive-case-c-r-f-item="archiveCaseCRFItem"
:get-save-eidt-title="saveEidtTitle"
:edit-save-button-show="positionName.join().includes('护士') || positionName.join().includes('医生') ? true : false"
/>
:edit-save-button-show="positionName.join().includes('护士') || positionName.join().includes('医生') ? true : false" />
<span v-show="!formListValue.createName && isGetFormValue" class="title-ts">(提示:此表单尚未保存)</span>
<div
id="printH5"
class="eyeQuestionPrint formTablePrint form-setclass"
style="page-break-after:always;height:100%;margin:0 auto;width:900px"
>
<p v-if="currentUrl.includes('192')" style="color:#000;font-size:34px;margin:0 0 10px 0;text-align:center;">
温州医科大学附属眼视光医院</p>
<div id="printH5" class="eyeQuestionPrint formTablePrint form-setclass"
style="page-break-after:always;height:100%;margin:0 auto;width:900px">
<!-- v-if="currentUrl.includes('192')" -->
<p style="color:#000;font-size:34px;margin:0 0 10px 0;text-align:center;">
温州医科大学附属眼视光医院杭州院区</p>
<p style="color:#000;font-size:34px;margin:0 0 20px 0;text-align:center;">
屈光预检</p>
<div class="question-base-father">
@ -35,44 +29,32 @@
<div class="question-base">
<!-- 焦虑评分 -->
<span v-if="!formListValue.xlpgScore" class="width-60">
<span
class="title-custom"
:class="formListValue.xlpgScoreOdd >=8 && formListValue.xlpgScoreOdd <= 10 ? 'title-yellow' : (
formListValue.xlpgScoreOdd >= 11 && formListValue.xlpgScoreOdd <= 21 ? 'title-red' : '')"
>
A分<el-input v-model="formListValue.xlpgScoreOdd" />
<span class="title-custom" :class="formListValue.xlpgScoreOdd >=8 && formListValue.xlpgScoreOdd <= 10 ? 'title-yellow' : (
formListValue.xlpgScoreOdd >= 11 && formListValue.xlpgScoreOdd <= 21 ? 'title-red' : '')">
A分
<el-input v-model="formListValue.xlpgScoreOdd" />
</span>
</span>
<!-- 抑郁评分 -->
<span v-if="!formListValue.xlpgScore" class="width-60">
<span
class="title-custom"
:class="formListValue.xlpgScoreEven >=8 && formListValue.xlpgScoreEven <= 10 ? 'title-yellow' : (
formListValue.xlpgScoreEven >= 11 && formListValue.xlpgScoreEven <= 21 ? 'title-red' : '')"
>
D分<el-input v-model="formListValue.xlpgScoreEven" />
<span class="title-custom" :class="formListValue.xlpgScoreEven >=8 && formListValue.xlpgScoreEven <= 10 ? 'title-yellow' : (
formListValue.xlpgScoreEven >= 11 && formListValue.xlpgScoreEven <= 21 ? 'title-red' : '')">
D分
<el-input v-model="formListValue.xlpgScoreEven" />
</span>
</span>
</div>
</div>
<el-form
ref="formListValue"
:model="formListValue"
:disabled="saveEidtTitle==='编辑' ? true : false"
:rules="dataRule"
>
<el-form ref="formListValue" :model="formListValue" :disabled="saveEidtTitle==='编辑' ? true : false"
:rules="dataRule">
<div class="qustion-content" style="font-size:16px;text-align:left;">
<div class="li-row" style="margin-bottom:8px;display:flex;">
<div style="display:flex;align-items:center;">
<span style="font-weight:700;" class="required">1发现近视/远视/散光</span>
<el-form-item
prop="jsEyetypeRadio"
class="error3"
:rules="[{
<el-form-item prop="jsEyetypeRadio" class="error3" :rules="[{
required: true, message: '请选择', trigger: ['blur', 'change']
}] "
>
}] ">
<el-radio-group v-model="formListValue.jsEyetypeRadio">
<el-radio label="双眼">双眼</el-radio>
<el-radio label="右眼">右眼</el-radio>
@ -99,18 +81,11 @@
<div class="li-row" style="margin-bottom:8px;">
<div style="display:flex;align-items: center;">
<span style="font-weight:700;" class="required">2戴眼镜</span>
<el-form-item
prop="dyjRadio"
class="error3"
:rules="[{
<el-form-item prop="dyjRadio" class="error3" :rules="[{
required: true, message: '请选择', trigger: ['blur', 'change']
}] "
>
<el-radio-group
v-model="formListValue.dyjRadio"
style="display:inline-block;"
@change="radioChange('dyjRadio')"
>
}] ">
<el-radio-group v-model="formListValue.dyjRadio" style="display:inline-block;"
@change="radioChange('dyjRadio')">
<el-radio label="有"></el-radio>
<el-radio label="无"></el-radio>
</el-radio-group>
@ -137,48 +112,39 @@
{{ item.text }}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</span>
</div>
</div>
<div class="li-row error6" style="margin-bottom:8px;">
<div style="display:flex;align-items: center;">
<span class="width-80 flex">
<span style="font-weight:700;" class="required">3现镜配置时间</span>
<el-form-item
prop="xjpzTimeInput"
:rules="[{
required: true, message: '请输入', trigger: ['blur']
}] "
>
<el-input v-model="formListValue.xjpzTimeInput" placeholder="" class="margin-right-6" />
</el-form-item>
<el-dropdown trigger="click" @command="dropdownHandle($event,'xjpzTimeUnit')">
<span class="el-dropdown-link">
{{ formListValue.xjpzTimeUnit }}<i class="el-icon-arrow-down el-icon--right" />
<div class="flex margin-left-10">
<span style="font-weight:700;">戴镜度数</span>
<span class="flex">
右眼:
<el-form-item prop="djdsOd"
:rules="formListValue.djdsIsDisabled ? [{ required: false}] : [{ required: true, message: '请输入', trigger: ['blur']}] ">
<el-input v-model="formListValue.djdsOd" placeholder="度数" size="small"
:disabled="formListValue.djdsIsDisabled" class="margin-right-6" />
</el-form-item>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="(item,index) in unitList" :key="index" :command="item.text">
{{ item.text }}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<span class="flex padding-left-10">
左眼:
<el-form-item prop="djdsOs"
:rules="formListValue.djdsIsDisabled ? [{ required: false}] : [{ required: true, message: '请输入', trigger: ['blur']}] ">
<el-input v-model="formListValue.djdsOs" placeholder="度数" size="small"
:disabled="formListValue.djdsIsDisabled" class="margin-right-6" />
</el-form-item>
</span>
<span class="padding-left-10">
<el-checkbox v-model="formListValue.djdsBX" label="不详" @change="radioChange('djdsCheck')" />
</span>
</div>
</span>
</div>
</div>
<div class="li-row" style="margin-bottom:8px;">
<div style="margin-bottom:12px;display:flex;align-items: center;" class="error3">
<span style="font-weight:700;" class="required">4戴隐形眼镜</span>
<el-form-item
prop="yxyjRadio"
:rules="[{
<span style="font-weight:700;" class="required">3戴隐形眼镜</span>
<el-form-item prop="yxyjRadio" :rules="[{
required: true, message: '请输入', trigger: ['blur', 'change']
}] "
>
<el-radio-group
v-model="formListValue.yxyjRadio"
class="margin-left-6"
@change="radioChange('yxyjRadio')"
>
}] ">
<el-radio-group v-model="formListValue.yxyjRadio" class="margin-left-6"
@change="radioChange('yxyjRadio')">
<el-radio label="有"></el-radio>
<el-radio label="无"></el-radio>
</el-radio-group>
@ -190,13 +156,8 @@
<el-checkbox v-model="formListValue.yxyjOkCheck" label="OK镜:" @change="radioChange('yxyjOkCheck')" />
<template v-if="formListValue.yxyjOkCheck">
<el-form-item prop="yxyjOkInput" class="error1">
<el-input
v-model="formListValue.yxyjOkInput"
placeholder=""
size="small"
class="margin-right-6"
@input="setCheck('yxyjOkCheck',$event)"
/>
<el-input v-model="formListValue.yxyjOkInput" placeholder="" size="small" class="margin-right-6"
@input="setCheck('yxyjOkCheck',$event)" />
</el-form-item>
<el-dropdown trigger="click" @command="dropdownHandle($event,'yxyjOkUnit')">
<span class="el-dropdown-link">
@ -208,11 +169,8 @@
</el-dropdown-menu>
</el-dropdown>
<el-form-item prop="yxyjOkPlRadio" class="error2">
<el-radio-group
v-model="formListValue.yxyjOkPlRadio"
class="margin-left-6"
@change="setCheck('yxyjOkCheck',$event)"
>
<el-radio-group v-model="formListValue.yxyjOkPlRadio" class="margin-left-6"
@change="setCheck('yxyjOkCheck',$event)">
<el-radio label="常戴">常戴</el-radio>
<el-radio label="偶戴">偶戴</el-radio>
</el-radio-group>
@ -220,13 +178,8 @@
<span>
停戴时间
<span>
<el-input
v-model="formListValue.yxyjOkTdTimeInput"
placeholder=""
size="small"
class="margin-right-6"
@input="setCheck('yxyjOkCheck',$event)"
/>
<el-input v-model="formListValue.yxyjOkTdTimeInput" placeholder="" size="small"
class="margin-right-6" @input="setCheck('yxyjOkCheck',$event)" />
<el-dropdown trigger="click" @command="dropdownHandle($event,'yxyjOkTdTimeUnit')">
<span class="el-dropdown-link">
{{ formListValue.yxyjOkTdTimeUnit }}<i class="el-icon-arrow-down el-icon--right" />
@ -241,16 +194,12 @@
</template>
</span>
<span class="flex-2 width-100 padding-bottom-10">
<el-checkbox v-model="formListValue.yxyjGmjCheck" label="巩膜镜:" @change="radioChange('yxyjGmjCheck')" />
<el-checkbox v-model="formListValue.yxyjGmjCheck" label="巩膜镜:"
@change="radioChange('yxyjGmjCheck')" />
<template v-if="formListValue.yxyjGmjCheck">
<el-form-item prop="yxyjGmjInput" class="error1">
<el-input
v-model="formListValue.yxyjGmjInput"
placeholder=""
size="small"
class="margin-right-6"
@input="setCheck('yxyjGmjCheck',$event)"
/>
<el-input v-model="formListValue.yxyjGmjInput" placeholder="" size="small" class="margin-right-6"
@input="setCheck('yxyjGmjCheck',$event)" />
</el-form-item>
<el-dropdown trigger="click" @command="dropdownHandle($event,'yxyjGmjUnit')">
<span class="el-dropdown-link">
@ -262,11 +211,8 @@
</el-dropdown-menu>
</el-dropdown>
<el-form-item prop="yxyjGmjPlRadio" class="error2">
<el-radio-group
v-model="formListValue.yxyjGmjPlRadio"
class="margin-left-6"
@change="setCheck('yxyjGmjCheck',$event)"
>
<el-radio-group v-model="formListValue.yxyjGmjPlRadio" class="margin-left-6"
@change="setCheck('yxyjGmjCheck',$event)">
<el-radio label="常戴">常戴</el-radio>
<el-radio label="偶戴">偶戴</el-radio>
</el-radio-group>
@ -274,13 +220,8 @@
<span>
停戴时间
<span>
<el-input
v-model="formListValue.yxyjGmjTdTimeInput"
placeholder=""
size="small"
class="margin-right-6"
@input="setCheck('yxyjGmjCheck',$event)"
/>
<el-input v-model="formListValue.yxyjGmjTdTimeInput" placeholder="" size="small"
class="margin-right-6" @input="setCheck('yxyjGmjCheck',$event)" />
<el-dropdown trigger="click" @command="dropdownHandle($event,'yxyjGmjTdTimeUnit')">
<span class="el-dropdown-link">
{{ formListValue.yxyjGmjTdTimeUnit }}<i class="el-icon-arrow-down el-icon--right" />
@ -295,20 +236,12 @@
</template>
</span>
<span class="flex-2 width-100 padding-bottom-10">
<el-checkbox
v-model="formListValue.yxyjRgpCheck"
label="RGP:"
@change="radioChange('yxyjRgpCheck')"
/>
<el-checkbox v-model="formListValue.yxyjRgpCheck" label="RGP:"
@change="radioChange('yxyjRgpCheck')" />
<template v-if="formListValue.yxyjRgpCheck">
<el-form-item prop="yxyjRgpInput" class="error1">
<el-input
v-model="formListValue.yxyjRgpInput"
placeholder=""
size="small"
class="margin-right-6"
@input="setCheck('yxyjRgpCheck',$event)"
/>
<el-input v-model="formListValue.yxyjRgpInput" placeholder="" size="small" class="margin-right-6"
@input="setCheck('yxyjRgpCheck',$event)" />
</el-form-item>
<el-dropdown trigger="click" @command="dropdownHandle($event,'yxyjRgpUnit')">
@ -321,11 +254,8 @@
</el-dropdown-menu>
</el-dropdown>
<el-form-item prop="yxyjRgpPlRadio" class="error2">
<el-radio-group
v-model="formListValue.yxyjRgpPlRadio"
class="margin-left-6"
@change="setCheck('yxyjRgpCheck',$event)"
>
<el-radio-group v-model="formListValue.yxyjRgpPlRadio" class="margin-left-6"
@change="setCheck('yxyjRgpCheck',$event)">
<el-radio label="常戴">常戴</el-radio>
<el-radio label="偶戴">偶戴</el-radio>
</el-radio-group>
@ -333,13 +263,8 @@
<span>
停戴时间
<span>
<el-input
v-model="formListValue.yxyjRgpTdTimeInput"
placeholder=""
size="small"
class="margin-right-6"
@input="setCheck('yxyjRgpCheck',$event)"
/>
<el-input v-model="formListValue.yxyjRgpTdTimeInput" placeholder="" size="small"
class="margin-right-6" @input="setCheck('yxyjRgpCheck',$event)" />
<el-dropdown trigger="click" @command="dropdownHandle($event,'yxyjRgpTdTimeUnit')">
<span class="el-dropdown-link">
{{ formListValue.yxyjRgpTdTimeUnit }}<i class="el-icon-arrow-down el-icon--right" />
@ -357,13 +282,8 @@
<el-checkbox v-model="formListValue.yxyjRjCheck" label="软镜:" @change="radioChange('yxyjRjCheck')" />
<template v-if="formListValue.yxyjRjCheck">
<el-form-item prop="yxyjRjInput" class="error1">
<el-input
v-model="formListValue.yxyjRjInput"
placeholder=""
size="small"
class="margin-right-6"
@input="setCheck('yxyjRjCheck',$event)"
/>
<el-input v-model="formListValue.yxyjRjInput" placeholder="" size="small" class="margin-right-6"
@input="setCheck('yxyjRjCheck',$event)" />
</el-form-item>
<el-dropdown trigger="click" @command="dropdownHandle($event,'yxyjRjUnit')">
@ -376,11 +296,8 @@
</el-dropdown-menu>
</el-dropdown>
<el-form-item prop="yxyjRjPlRadio" class="error2">
<el-radio-group
v-model="formListValue.yxyjRjPlRadio"
class="margin-left-6"
@change="setCheck('yxyjRjCheck',$event)"
>
<el-radio-group v-model="formListValue.yxyjRjPlRadio" class="margin-left-6"
@change="setCheck('yxyjRjCheck',$event)">
<el-radio label="常戴">常戴</el-radio>
<el-radio label="偶戴">偶戴</el-radio>
</el-radio-group>
@ -388,13 +305,8 @@
<span>
停戴时间
<span>
<el-input
v-model="formListValue.yxyjRjTdTimeInput"
placeholder=""
size="small"
class="margin-right-6"
@input="setCheck('yxyjRjCheck',$event)"
/>
<el-input v-model="formListValue.yxyjRjTdTimeInput" placeholder="" size="small"
class="margin-right-6" @input="setCheck('yxyjRjCheck',$event)" />
<el-dropdown trigger="click" @command="dropdownHandle($event,'yxyjRjTdTimeUnit')">
<span class="el-dropdown-link">
{{ formListValue.yxyjRjTdTimeUnit }}<i class="el-icon-arrow-down el-icon--right" />
@ -413,14 +325,10 @@
</div>
<div class="li-row" style="margin-bottom:8px">
<div class="width-100 flex-2">
<span style="font-weight:700;" class="required">52年内稳定情况</span>
<el-form-item
prop="twoYearwdqkRadio"
class="error3"
:rules="[{
<span style="font-weight:700;" class="required">42年内稳定情况</span>
<el-form-item prop="twoYearwdqkRadio" class="error3" :rules="[{
required: true, message: '请输入', trigger: ['blur', 'change']
}] "
>
}] ">
<el-radio-group v-model="formListValue.twoYearwdqkRadio" @change="radioChange('twoYearwdqkRadio')">
<el-radio label="稳定">稳定</el-radio>
<el-radio label="不稳定">不稳定</el-radio>
@ -430,80 +338,74 @@
<span v-if="formListValue.twoYearwdqkRadio==='不稳定'" class="flex-2 error5">
每年增长
<el-form-item prop="everyYearDsInput">
<el-input
v-model="formListValue.everyYearDsInput"
placeholder=""
class="margin-right-6"
size="small"
/>
<el-input v-model="formListValue.everyYearDsInput" placeholder="" class="margin-right-6"
size="small" />
</el-form-item>
</span>
</div>
</div>
<div class="li-row error4" style="margin-bottom:8px">
<div class="li-row" style="margin-bottom:8px">
<div class="flex-2">
<div style="font-weight:700; padding-left:8px;">6其它屈光手术史</div>
<el-radio-group v-model="formListValue.qtqgssRadio" @change="radioChange('qtqgssRadio')">
<el-radio label="否认">否认</el-radio>
<el-radio label="有"></el-radio>
</el-radio-group>
<div style="font-weight:700;" class="required">5其它屈光手术史</div>
<el-form-item prop="qtqgssRadio" class="error3" :rules="[{
required: true, message: '请输入', trigger: ['blur', 'change']
}] ">
<el-radio-group v-model="formListValue.qtqgssRadio" @change="radioChange('qtqgssRadio')">
<el-radio label="否认">否认</el-radio>
<el-radio label="有"></el-radio>
</el-radio-group>
</el-form-item>
</div>
<div v-if="formListValue.qtqgssRadio==='有'" class="margin-top-10 margin-left-24">
<el-form-item prop="qtqgssInput">
<el-input v-model="formListValue.qtqgssInput" maxlength="150" show-word-limit type="textarea" autosize :rows="2" placeholder="" />
<el-input v-model="formListValue.qtqgssInput" maxlength="150" show-word-limit type="textarea" autosize
:rows="2" placeholder="" />
</el-form-item>
</div>
</div>
<div class="li-row error4" style="margin-bottom:8px">
<div class="li-row" style="margin-bottom:8px">
<div class="flex-2">
<span style="font-weight:700; padding-left:8px;">7眼病及眼科手术史</span>
<el-radio-group v-model="formListValue.ybykSssRadio" @change="radioChange('ybykSssRadio')">
<el-radio label="否认">否认</el-radio>
<el-radio label="有"></el-radio>
</el-radio-group>
<span style="font-weight:700;" class="required">6眼病及眼科手术史</span>
<el-form-item prop="ybykSssRadio" class="error3" :rules="[{
required: true, message: '请输入', trigger: ['blur', 'change']
}] ">
<el-radio-group v-model="formListValue.ybykSssRadio" @change="radioChange('ybykSssRadio')">
<el-radio label="否认">否认</el-radio>
<el-radio label="有"></el-radio>
</el-radio-group>
</el-form-item>
</div>
<div v-if="formListValue.ybykSssRadio==='有'" class="margin-left-24 margin-top-10">
<el-form-item prop="ybykSssInput">
<el-input v-model="formListValue.ybykSssInput" maxlength="150" show-word-limit type="textarea" autosize :rows="2" placeholder="" />
<el-input v-model="formListValue.ybykSssInput" maxlength="150" show-word-limit type="textarea" autosize
:rows="2" placeholder="" />
</el-form-item>
</div>
</div>
<div class="li-row li-row-checkbox error2" style="margin-bottom:8px">
<p style="margin-bottom:12px;">
<span style="font-weight:700;" class="required">8眼睛是否有不适</span>
<span style="font-weight:700;" class="required">7眼睛是否有不适</span>
</p>
<el-form-item
prop="yjbsCheckbox"
:rules="[{
<el-form-item prop="yjbsCheckbox" :rules="[{
required: true, message: '请选择', trigger: ['change']
}] "
>
<el-checkbox-group
v-model="formListValue.yjbsCheckbox"
class="margin-left-24"
@change="checkChange('yjbsCheckbox')"
>
}] ">
<el-checkbox-group v-model="formListValue.yjbsCheckbox" class="margin-left-24"
@change="checkChange('yjbsCheckbox')">
<el-checkbox v-for="(item,index) in visualSymptomslist" :key="index" :label="item" />
</el-checkbox-group>
</el-form-item>
</div>
<div class="li-row error2" style="margin-bottom:8px">
<span style="font-weight:700;" class="required">9要求手术原因</span>
<span style="font-weight:700;" class="required">8要求手术原因</span>
<div class="flex-2">
<el-form-item
prop="yqssCheckbox"
:rules="[{
<el-form-item prop="yqssCheckbox" :rules="[{
required: true, message: '请选择', trigger: ['blur', 'change']
}] "
>
<el-checkbox-group
v-model="formListValue.yqssCheckbox"
class="margin-left-24"
@change="checkChange('yqssCheckbox')"
>
}] ">
<el-checkbox-group v-model="formListValue.yqssCheckbox" class="margin-left-24"
@change="checkChange('yqssCheckbox')">
<el-checkbox v-for="(item,index) in causesOperationlist" :key="index" :label="item" />
</el-checkbox-group>
</el-form-item>
@ -523,63 +425,79 @@
</div>
</div>
<div class="li-row error4" style="margin-bottom:8px">
<div class="li-row" style="margin-bottom:8px">
<div class="flex-2">
<p style="font-weight:700;padding-left:8px;">10外伤/手术史</p>
<el-radio-group v-model="formListValue.wsOperaRadio" @change="radioChange('wsOperaRadio')">
<el-radio label="否认">否认</el-radio>
<el-radio label="有"></el-radio>
</el-radio-group>
<p style="font-weight:700;" class="required">9外伤/手术史</p>
<el-form-item prop="wsOperaRadio" class="error3" :rules="[{
required: true, message: '请输入', trigger: ['blur', 'change']
}] ">
<el-radio-group v-model="formListValue.wsOperaRadio" @change="radioChange('wsOperaRadio')">
<el-radio label="否认">否认</el-radio>
<el-radio label="有"></el-radio>
</el-radio-group>
</el-form-item>
</div>
<div v-if="formListValue.wsOperaRadio==='有'" class="margin-top-10 margin-left-24">
<el-form-item prop="wsOperaInput">
<el-input v-model="formListValue.wsOperaInput" maxlength="150" show-word-limit type="textarea" autosize :rows="2" placeholder="" />
<el-input v-model="formListValue.wsOperaInput" maxlength="150" show-word-limit type="textarea" autosize
:rows="2" placeholder="" />
</el-form-item>
</div>
</div>
<div class="li-row error4" style="margin-bottom:8px">
<div class="li-row" style="margin-bottom:8px">
<div class="flex-2">
<p style="font-weight:700;padding-left:8px;">11药物过敏史</p>
<el-radio-group v-model="formListValue.ywgmsRadio" @change="radioChange('ywgmsRadio')">
<el-radio label="否认">否认</el-radio>
<el-radio label="有"></el-radio>
</el-radio-group>
<p style="font-weight:700;" class="required">10药物过敏史</p>
<el-form-item prop="ywgmsRadio" class="error3" :rules="[{
required: true, message: '请输入', trigger: ['blur', 'change']
}] ">
<el-radio-group v-model="formListValue.ywgmsRadio" @change="radioChange('ywgmsRadio')">
<el-radio label="否认">否认</el-radio>
<el-radio label="有"></el-radio>
</el-radio-group>
</el-form-item>
</div>
<div v-if="formListValue.ywgmsRadio==='有'" class="margin-top-10 margin-left-24">
<el-form-item prop="ywgmsInput">
<el-input v-model="formListValue.ywgmsInput" maxlength="150" show-word-limit type="textarea" autosize :rows="2" placeholder="" />
<el-input v-model="formListValue.ywgmsInput" maxlength="150" show-word-limit type="textarea" autosize
:rows="2" placeholder="" />
</el-form-item>
</div>
</div>
<div class="li-row error4" style="margin-bottom:8px">
<div class="li-row" style="margin-bottom:8px">
<div class="flex-2">
<p style="font-weight:700;padding-left:8px;">12瘢痕体质</p>
<el-radio-group v-model="formListValue.bhtzRadio" @change="radioChange('bhtzRadio')">
<el-radio label="否认">否认</el-radio>
<el-radio label="有"></el-radio>
</el-radio-group>
<p style="font-weight:700;" class="required">11瘢痕体质</p>
<el-form-item prop="bhtzRadio" class="error3" :rules="[{
required: true, message: '请输入', trigger: ['blur', 'change']
}] ">
<el-radio-group v-model="formListValue.bhtzRadio" @change="radioChange('bhtzRadio')">
<el-radio label="否认">否认</el-radio>
<el-radio label="有"></el-radio>
</el-radio-group>
</el-form-item>
</div>
<div v-if="formListValue.bhtzRadio==='有'" class="margin-top-10 margin-left-24">
<el-form-item prop="bhtzInput">
<el-input v-model="formListValue.bhtzInput" maxlength="150" show-word-limit type="textarea" autosize :rows="2" placeholder="" />
<el-input v-model="formListValue.bhtzInput" maxlength="150" show-word-limit type="textarea" autosize
:rows="2" placeholder="" />
</el-form-item>
</div>
</div>
<div class="li-row" style="margin-bottom:8px">
<div class="flex-2">
<p style="font-weight:700;padding-left:8px;">13其它全身病史</p>
<el-radio-group v-model="formListValue.qtbsRadio" @change="radioChange('qtbsRadio')">
<el-radio label="否认">否认</el-radio>
<el-radio label="有"></el-radio>
</el-radio-group>
<p style="font-weight:700;" class="required">12其它全身病史</p>
<el-form-item prop="qtbsRadio" class="error3" :rules="[{
required: true, message: '请输入', trigger: ['blur', 'change']
}] ">
<el-radio-group v-model="formListValue.qtbsRadio" @change="radioChange('qtbsRadio')">
<el-radio label="否认">否认</el-radio>
<el-radio label="有"></el-radio>
</el-radio-group>
</el-form-item>
</div>
<div
v-if="formListValue.qtbsRadio==='有'"
class="margin-top-10 margin-left-24"
>
<div v-if="formListValue.qtbsRadio==='有'" class="margin-top-10 margin-left-24">
<el-form-item prop="qtbsCheck">
<el-checkbox-group v-model="formListValue.qtbsCheck" @change="checkChange('qtbsCheck')">
<el-checkbox v-for="(item,index) in historyList" :key="index" :label="item" />
@ -587,26 +505,23 @@
</el-form-item>
<div v-if="formListValue.qtbsCheck.includes('其它')">
<el-form-item prop="qtbsInput" class="error1 width-260">
<el-input
v-model="formListValue.qtbsInput"
maxlength="150"
show-word-limit
type="textarea"
autosize
:rows="2"
placeholder=""
/>
<el-input v-model="formListValue.qtbsInput" maxlength="150" show-word-limit type="textarea" autosize
:rows="2" placeholder="" />
</el-form-item>
</div>
</div>
</div>
<div class="li-row" style="margin-bottom:8px">
<div class="flex-2">
<span style="font-weight:700;padding-left:8px;">14半年内服药史</span>
<el-radio-group v-model="formListValue.fysRadio" @change="radioChange('fysRadio')">
<el-radio label="否认">否认</el-radio>
<el-radio label="有"></el-radio>
</el-radio-group>
<span style="font-weight:700;" class="required">13半年内服药史</span>
<el-form-item prop="fysRadio" class="error3" :rules="[{
required: true, message: '请输入', trigger: ['blur', 'change']
}] ">
<el-radio-group v-model="formListValue.fysRadio" @change="radioChange('fysRadio')">
<el-radio label="否认">否认</el-radio>
<el-radio label="有"></el-radio>
</el-radio-group>
</el-form-item>
</div>
<div v-if="formListValue.fysRadio==='有'" class="margin-top-10 margin-left-24">
<el-form-item prop="fysCheck">
@ -617,66 +532,42 @@
<div v-if="formListValue.fysCheck.includes('激素类药物')" class="margin-top-10">
激素类药物
<el-form-item prop="fysJislInput">
<el-input
v-model="formListValue.fysJislInput"
maxlength="150"
show-word-limit
type="textarea"
autosize
:rows="2"
placeholder="请输入激素类药物"
/>
<el-input v-model="formListValue.fysJislInput" maxlength="150" show-word-limit type="textarea"
autosize :rows="2" placeholder="请输入激素类药物" />
</el-form-item>
</div>
<div v-if="formListValue.fysCheck.includes('精神类药物')" class="margin-top-10">
精神类药物
<el-form-item prop="fysJingslInput">
<el-input
v-model="formListValue.fysJingslInput"
maxlength="150"
show-word-limit
type="textarea"
autosize
:rows="2"
placeholder="请输入精神类药物"
/>
<el-input v-model="formListValue.fysJingslInput" maxlength="150" show-word-limit type="textarea"
autosize :rows="2" placeholder="请输入精神类药物" />
</el-form-item>
</div>
<div v-if="formListValue.fysCheck.includes('其它')" class="margin-top-10">
其它
<el-form-item prop="fysInput">
<el-input
v-model="formListValue.fysInput"
maxlength="150"
show-word-limit
type="textarea"
autosize
:rows="2"
placeholder="请输入其他半年内服药史"
/>
<el-input v-model="formListValue.fysInput" maxlength="150" show-word-limit type="textarea" autosize
:rows="2" placeholder="请输入其他半年内服药史" />
</el-form-item>
</div>
</div>
</div>
<div class="li-row error4" style="margin-bottom:8px">
<div class="li-row" style="margin-bottom:8px">
<div class="flex-2">
<span style="font-weight:700;padding-left:8px;">15直系亲属近视/远视/散光</span>
<el-radio-group v-model="formListValue.jzsRadio" @change="radioChange('jzsRadio')">
<el-radio label="否认">否认</el-radio>
<el-radio label="有"></el-radio>
</el-radio-group>
<span style="font-weight:700;" class="required">14直系亲属近视/远视/散光</span>
<el-form-item prop="jzsRadio" class="error3" :rules="[{
required: true, message: '请输入', trigger: ['blur', 'change']
}] ">
<el-radio-group v-model="formListValue.jzsRadio" @change="radioChange('jzsRadio')">
<el-radio label="否认">否认</el-radio>
<el-radio label="有"></el-radio>
</el-radio-group>
</el-form-item>
</div>
<div v-if="formListValue.jzsRadio==='有'" class="margin-top-10 margin-left-24">
<el-form-item prop="jzsInput">
<el-input
v-model="formListValue.jzsInput"
maxlength="150"
show-word-limit
type="textarea"
autosize
:rows="2"
placeholder=""
/>
<el-input v-model="formListValue.jzsInput" maxlength="150" show-word-limit type="textarea" autosize
:rows="2" placeholder="" />
</el-form-item>
</div>
</div>
@ -775,9 +666,12 @@ export default {
xjdsRadio: null,
xjdsOdInput: null,
xjdsOsInput: null,
//
xjpzTimeInput: null,
xjpzTimeUnit: '年',
//
djdsIsDisabled: false,
//
djdsOd: '',
djdsOs: '',
djdsBX: '',
//
yxyjRadio: '',
// ok
@ -813,10 +707,10 @@ export default {
//
everyYearDsInput: '',
//
qtqgssRadio: '否认',
qtqgssRadio: '',
qtqgssInput: '',
//
ybykSssRadio: '否认',
ybykSssRadio: '',
ybykSssInput: '',
//
yjbsCheckbox: [],
@ -827,28 +721,28 @@ export default {
//
ssqtInput: '',
// /
wsOperaRadio: '否认',
wsOperaRadio: '',
wsOperaInput: '',
//
ywgmsRadio: '否认',
ywgmsRadio: '',
ywgmsInput: '',
//
bhtzRadio: '否认',
bhtzRadio: '',
bhtzInput: '',
//
qtbsRadio: '否认',
qtbsRadio: '',
qtbsCheck: [],
qtbsInput: '',
//
fysRadio: '否认',
fysRadio: '',
fysCheck: [],
//
fysJislInput:'',
fysJislInput: '',
//
fysJingslInput:'',
fysJingslInput: '',
fysInput: '',
//
jzsRadio: '否认',
jzsRadio: '',
jzsInput: '',
xlpgScore: '',
//
@ -856,7 +750,7 @@ export default {
//
xlpgScoreEven: ''
},
visualSymptomslist: ['视疲劳', '眩光', '眼干', '眼酸', '眼胀', '眼痛', '飞蚊症', '眼痒', '流泪', '重影', '无'],
visualSymptomslist: ['视疲劳', '眩光', '眼干', '无'],
causesOperationlist: ['体检', '戴镜不适', '改变形象', '方便工作生活', '其它'],
tijianList: ['兵检', '军检', '医检', '公务员', '警校'],
historyList: ['甲亢', '甲减', '高血压', '抑郁', '焦虑', '糖尿病', '其它'],

5
src/components/H5form/safety-checklist.vue

@ -12,8 +12,9 @@
id="printH5"
class="safety-checklist formTablePrint form-setclass printSet"
>
<p v-if="currentUrl.includes('192')" style="color:#000000;font-size:32px;margin:0 0 20px 0;text-align:center;">
温州医科大学附属眼视光医院</p>
<!-- v-if="currentUrl.includes('192')" -->
<p style="color:#000000;font-size:32px;margin:0 0 20px 0;text-align:center;">
温州医科大学附属眼视光医院杭州分院</p>
<p style="color:#000000;font-size:32px;margin-bottom:30px;text-align:center;">
屈光手术安全核查表</p>
<el-form ref="form" :model="formListValue" :disabled="saveEidtTitle==='编辑' ? true : false">

712
src/components/H5form/shouquanBook copy.vue

@ -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>

771
src/components/H5form/shouquanBook 备份.vue

@ -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>

2
src/components/H5form/shouquanBook.vue

@ -15,7 +15,7 @@
>
<!-- v-if="currentUrl.includes('192')" -->
<p style="color:#000000;font-size:32px;margin:0 0 0 0;text-align:center;">
温州医科大学附属眼视光医院</p>
温州医科大学附属眼视光医院杭州分院</p>
<p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;">
告知书/授权书</p>
<div class="patientInfo-one left margin-bottom-10">

1159
src/components/H5form/talk-record copy.vue

File diff suppressed because it is too large

1253
src/components/H5form/talk-record-pdf备用.vue

File diff suppressed because it is too large

2
src/components/H5form/talk-record.vue

@ -20,7 +20,7 @@
margin: 0 0 0 0;
text-align: center;
">
温州医科大学附属眼视光医院
温州医科大学附属眼视光医院杭州院区
</p>
<p style="
color: #000000;

6
src/mixins/clearContent.js

@ -74,6 +74,12 @@ export default {
if (this.formListValue[text] !== '有' && text === 'jzsRadio') {
this.formListValue.jzsInput = ''
}
if(text === 'djdsCheck') {
console.log('djdsCheck',this.formListValue.djdsBX);
this.formListValue.djdsOd = ''
this.formListValue.djdsOs = ''
this.formListValue.djdsIsDisabled = this.formListValue.djdsBX
}
},
// 复选判断清除内容
checkChange(text) {

1
src/mixins/htmlToPdfToBlob.js

@ -70,6 +70,7 @@ export default {
this.$message('您提交的病历CA已异步处理,无需继续等待。')
this.caSign('', customParam)
} else {
console.log('前端转',this.isJavaTransformPdf);
customParam.isHtml2canvas ? this.convertHtmlToImage(customParams, element) : this.jspdfFun(customParams, element)
}

1058
src/mixins/jmjlDzbl.js

File diff suppressed because it is too large

715
src/mixins/qgdzbl.js

File diff suppressed because it is too large

6
src/page-subspecialty/store/modules/sign.js

@ -58,7 +58,7 @@ export default {
// 眼压
yanyaSign: '',
// 瞳孔直径-角膜直径
tkzjJmzjSign: '',
jmzjJmhdSign: '',
// ORA
ORASign: '',
// TBUT
@ -67,8 +67,8 @@ export default {
lxdjcSign: '',
// 散瞳眼底检查
stydjcSign: '',
// 眼轴/角膜厚度
yzjmhdSign: '',
// 眼轴
yzSign: '',
// OCT
OCTSign: '',
// 特殊检查

3
src/page-subspecialty/views/main-navbar.vue

@ -5,7 +5,8 @@
<h1 class="aui-navbar__brand" @click="logoClick">
<a class="aui-navbar__brand-lg" href="javascript:;" style="text-align:center;">
<svg-icon icon-class="icon-yzk-login" style="font-size:36px" />
<div style="margin-top:5px;">屈光信息系统</div>
<div style="margin-top:5px;">杭州分院</div>
<div>屈光信息系统</div>
</a>
<a class="aui-navbar__brand-mini" href="javascript:;"> <svg-icon icon-class="icon-yzk-login" style="font-size:36px" /></a>
</h1>

42
src/page-subspecialty/views/modules/ceshi/index.vue

@ -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>

5
src/page-subspecialty/views/modules/systemManagement/formSet/operaRecordSet.vue

@ -196,7 +196,7 @@
v-if="addFormSetVisible"
:title="currentList.bieMing + '默认值设置'"
:visible.sync="addFormSetVisible"
width="50%"
width="70%"
@close="closeDialog"
>
<el-form ref="dataForm" :model="dataForm" :rules="dataRule" label-width="auto">
@ -412,6 +412,9 @@ export default {
right: 30px;
bottom: 30px;
}
.el-form-item {
margin-bottom: 0 !important;
}
}
</style>
<style lang="scss">

8
src/page-subspecialty/views/pages/login.vue

@ -2,14 +2,14 @@
<div class="login">
<!-- 公司左上角logo -->
<div class="left-logo">
<svg-icon icon-class="icon-hm-login1" style="font-size:130px;" />
<svg-icon icon-class="icon-hm-login1" style="font-size:120px;" />
</div>
<!-- 中间背景 -->
<div class="login-bgm" />
<!-- <img src="../../../assets/img/login_bgm.png" alt="" class="login-bgm"> -->
<div class="login-content">
<div class="login-content-title">
<p class="main-title">屈光信息系统</p>
<p class="main-title">杭州分院屈光信息系统</p>
<p class="subtitle-title">登录</p>
</div>
<el-form
@ -182,8 +182,8 @@ export default {
color: #262626;
margin-bottom: 32px;
.main-title {
font-size: 38px;
margin-bottom: 20px;
font-size: 30px;
margin-bottom: 10px;
color:#1E79FF;
font-weight: 700;
}

Loading…
Cancel
Save