Browse Source

'表单'

360view
bianyaqi 2 years ago
parent
commit
39ebb1dda2
  1. 12
      src/components/360View/medicalRecord/index.vue
  2. 2
      src/components/360View/medicalRecord/outPatientRecord/leftFormList.vue
  3. 22
      src/page-subspecialty/store/modules/sign.js
  4. 243
      src/page-subspecialty/views/modules/formList/MinorOperation.vue
  5. 8
      src/page-subspecialty/views/modules/formList/reportForm.vue

12
src/components/360View/medicalRecord/index.vue

@ -81,6 +81,16 @@
@handleSaveTable="updateForm"
@formDelete="formDelete"
/>
<minor-operation
v-if="name==='门诊小手术同意书'"
ref="reportForm"
:only-read="onlyRead"
:is-platform="isPlatform"
:patient-detail="patientData"
:case-id="id"
@handleSaveTable="updateForm"
@formDelete="formDelete"
/>
</div>
</div>
</div>
@ -95,8 +105,10 @@ import MraForm from '@/page-subspecialty/views/modules/formList/mraForm.vue'
import LaserSurgery from '@/page-subspecialty/views/modules/formList/laserSurgery.vue'
import ReportForm from '@/page-subspecialty/views/modules/formList/reportForm.vue'
import MraOrder from '@/page-subspecialty/views/modules/formList/mraOrder.vue'
import MinorOperation from '@/page-subspecialty/views/modules/formList/MinorOperation.vue'
export default {
components: {
MinorOperation,
MraOrder,
callMedical,
ReportForm,

2
src/components/360View/medicalRecord/outPatientRecord/leftFormList.vue

@ -59,7 +59,7 @@ export default {
},
{
type: '同意书',
list: ['睑板腺按摩']
list: ['门诊小手术同意书']
},
{
type: '其他',

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

@ -30,7 +30,9 @@ export default {
fundusDocSign: '',
kinSign: '',
performerSign: '',
checkerSign: ''
checkerSign: '',
minorPatientSign: '',
minorKinSign: ''
},
getters: {
doctorSignImg: state => state.doctorSignImg,
@ -46,10 +48,12 @@ export default {
informedDocSign: state => state.informedDocSign,
informPatientSign: state => state.informPatientSign,
checkSign: state => state.checkSign,
fundusDocSign: state => state.fundusDocSign,
fundusDocSign: state => state.fundusDocSign,
kinSign: state => state.kinSign,
performerSign: state => state.performerSign,
checkerSign: state => state.checkerSign
checkerSign: state => state.checkerSign,
minorPatientSign: state => state.minorPatientSign,
minorKinSign: state => state.minorKinSign
},
mutations: {
// 销毁签字笔
@ -192,7 +196,7 @@ export default {
this.commit('informedDocSign', img_base64)
} else if (state.type === 11) {
this.commit('informPatientSign', img_base64)
} else if (state.type === 12) {
} else if (state.type === 12) {
this.commit('fundusDocSign', img_base64)
} else if (state.type === 13) {
this.commit('kinSign', img_base64)
@ -202,6 +206,10 @@ export default {
this.commit('checkerSign', img_base64)
} else if (state.type === 16) {
this.commit('checkSign', img_base64)
} else if (state.type === 17) {
this.commit('minorPatientSign', img_base64)
} else if (state.type === 18) {
this.commit('minorKinSign', img_base64)
}
} else {
// debugPrint("saveSignToBase64 error,description:" + args[0]);
@ -259,6 +267,12 @@ export default {
},
checkerSign(state, val) {
state.checkerSign = val
},
minorPatientSign(state, val) {
state.minorPatientSign = val
},
minorKinSign(state, val) {
state.minorKinSign = val
}
}
}

243
src/page-subspecialty/views/modules/formList/MinorOperation.vue

@ -0,0 +1,243 @@
<template>
<div class="formListBox">
<div v-if="!onlyRead && isPlatform" class="btnBox_top">
<el-button v-print="'#minorOperation'" size="small" @click="handlePrint">打印</el-button>
<el-button type="primary" size="small" @click="handleSaveTable">保存</el-button>
<el-button type="danger" size="small" @click="formDelete">删除</el-button>
</div>
<div id="minorOperation" style="width: 840px;padding-right: 8px">
<div class="flex j-c">
<img width="450" src="@/assets/img/xianganlogo.png">
</div>
<hr>
<p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;">
门诊小手术同意书
</p>
<!--患者信息-->
<div class="form_top">
<div class="flex a-c j-b">
<div class="flex a-c">
姓名<el-input v-model="confirmData.patientName" style="flex: 1" />
</div>
<div class="flex a-c">
性别<el-input v-model="confirmData.patientSex" style="flex: 1" />
</div>
<div class="flex a-c">
年龄<el-input v-model="confirmData.patientAge" style="flex: 1" />
</div>
<div class="flex a-c">
联系电话<el-input v-model="confirmData.patientPhone" style="flex: 1" />
</div>
</div>
<div class="flex a-c">
诊断<el-input v-model="confirmData.diagnose" style="width: 400px" />
</div>
</div>
<div class="form_content">
<div v-for="(item,index) in content" :key="index" style="margin: 5px 0">
{{ item.title }}
<div v-for="(text,idx) in item.detail" :key="`${index}_${idx}`" class="form_detail">
{{ text }}
</div>
</div>
</div>
<div class="flex" style="margin-top: 15px">
<div class="flex a-c">
<span style="word-break: keep-all">本人签名</span>
<div v-if="printHidden" style="margin-left:10px" @click="signClick(17)">
<img v-if="!minorPatientSign" :src="require('@/assets/img/signature.png')" alt="">
<img v-else style="width: 80px;height: 40px;" :src="minorPatientSign">
</div>
<el-input v-else style="width: 120px" />
</div>
<div class="flex a-c">
或家属签名
<div v-if="printHidden" style="margin-left:10px" @click="signClick(18)">
<img v-if="!minorKinSign" :src="require('@/assets/img/signature.png')" alt="">
<img v-else style="width: 80px;height: 40px;" :src="minorKinSign">
</div>
<el-input v-else style="width: 120px" />
</div>
<div class="flex a-c">
<span style="word-break: keep-all">操作者</span><img v-if="confirmData.operator" :src="confirmData.operator" alt="" style="width: 80px;height: 50px;border-style:none;flex: 1">
</div>
<div class="flex a-c" style="margin-left: 15px">
日期<el-date-picker
v-model="confirmData.operateDate"
style="flex: 1"
type="date"
format="yyyy年MM月dd日"
value-format="yyyy-MM-dd"
/>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'MinorOperation',
props: {
onlyRead: {
type: Boolean,
default: false
},
isPlatform: {
type: Boolean,
default: true
},
patientDetail: {
type: Object
},
caseId: {
type: String,
default: ''
}
},
data() {
return {
content: [
{
title: '一、治疗方案:在表面麻醉后实施角膜异物剔除术'
},
{
title: '二、角膜异物剔除潜在风险:',
detail: [
'1、某些异物无法一次剔除干净,需分次剔除治疗;部分粉末状异物可能会永久残留;',
'2、异物剔除后异物感、畏光、流泪、疼痛加重可能;',
'3、角膜疤痕形成而引起视力下降可能;',
'4、异物带入致病菌引起角膜感染,可能造成角膜溃疡、角膜穿孔等。',
'针对上述情况,医生会采取相应措施。'
]
},
{
title: '三、异物剔除后需注意的事项:',
detail: [
'1、遵医嘱按时使用眼药水。第一天多闭眼休息。',
'2、次日复诊。期间如有不适,请即刻复诊。',
'3、注意眼部卫生,勿揉眼。一周内防止不洁水进入眼内。'
]
},
{
title: '病员或家属意见:我们了解该治疗的各种可能发生的风险,同意接受治疗。'
}
],
print: {
id: 'mraFunc',
closeCallback: () => {
this.printHidden = true
}
},
printHidden: true,
confirmData: {
patientName: '',
patientAge: '',
patientSex: '',
patientPhone: '',
diagnose: '',
patientSign: '',
familySign: '',
operator: '',
operateDate: ''
}
}
},
computed: {
minorPatientSign() {
return this.$store.getters.minorPatientSign
},
minorKinSign() {
return this.$store.getters.minorKinSign
}
},
created() {
this.confirmData.patientName = this.patientDetail.patientName
this.confirmData.patientPhone = this.patientDetail.patientPhone
this.confirmData.patientSex = this.patientDetail.patientSex
this.confirmData.patientAge = this.patientDetail.patientAge
const userData = JSON.parse(window.sessionStorage.getItem('qg-userData'))
this.$store.commit('initPlugin')
this.confirmData.operator = userData.signImgBase
},
methods: {
signClick(index) {
this.$store.commit('beginSign', index)
},
handlePrint() {
this.printHidden = false
this.handleSaveTable()
},
//
handleSaveTable() {
this.confirmData.patientSign = this.minorPatientSign
// this.confirmData.jzNumber = window.sessionStorage.getItem('jzNumber')
// this.$http.post('/mzbl/saveMzblJgshzl', {
// caseId: this.caseId,
// ...this.confirmData
// }).then(() => {
// this.$emit('handleSaveTable')
// })
},
//
formDelete() {
this.$confirmFun('确定删除吗?').then(() => {
this.$http.post('/mzbl/delMzblJgshzlInfo', {
id: this.caseId
}).then(() => {
this.$message.success('删除成功')
this.$emit('formDelete', 'del')
})
})
}
}
}
</script>
<style lang="scss" scoped>
.flex{
display: flex;
}
.a-c{
align-items: center;
}
.j-c{
justify-content: center;
}
.j-b{
justify-content: space-between;
}
.formListBox{
background: #fff;
padding: 10px 20px 50px 20px;
page-break-after:always;
height: 100%;
overflow: auto;
}
.btnBox_top{
position: fixed;
z-index: 999;
right: 90px;
}
.form_top{
margin-bottom: 15px;
}
.form_content{
text-align: left;
}
.form_detail{
text-indent: 2rem;
margin: 3px 0;
}
::v-deep .el-input__inner{
border: none;
border-bottom: 1px solid #cccccc;
border-radius: 0;
font-size: 16px;
height: 26px;
text-align: center;
}
::v-deep .el-input__prefix{
display: none;
}
</style>

8
src/page-subspecialty/views/modules/formList/reportForm.vue

@ -143,9 +143,6 @@ export default {
},
created() {
this.origin = JSON.parse(JSON.stringify(this.formData))
this.confirmData.patientName = this.patientDetail.patientName
const userData = JSON.parse(window.sessionStorage.getItem('qg-userData'))
this.confirmData.operator = userData.signImgBase
this.getReportInfo()
},
methods: {
@ -210,6 +207,11 @@ export default {
this.handleResValue(res.fmwOs, this.formData.form.OS)
this.confirmData.remark = res.remark
this.confirmData.operator = res.operator
if (!res.jzNumber) {
this.confirmData.patientName = this.patientDetail.patientName
const userData = JSON.parse(window.sessionStorage.getItem('qg-userData'))
this.confirmData.operator = userData.signImgBase
}
})
},
// id

Loading…
Cancel
Save