Browse Source

peter

360view
newPeter7 2 years ago
parent
commit
a4025efbca
  1. 16
      src/components/360View/medicalRecord/index.vue
  2. 2
      src/components/360View/medicalRecord/outPatientRecord/leftFormList.vue
  3. 18
      src/page-subspecialty/store/modules/sign.js
  4. 238
      src/page-subspecialty/views/modules/formList/conjunctivalOperation.vue

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

@ -91,6 +91,16 @@
@handleSaveTable="updateForm"
@formDelete="formDelete"
/>
<conjunctival-operation
v-if="name==='眼科门诊手术同意书'"
ref="conjunctival"
:only-read="onlyRead"
:is-platform="isPlatform"
:patient-detail="patientData"
:case-id="id"
@handleSaveTable="updateForm"
@formDelete="formDelete"
/>
</div>
</div>
</div>
@ -106,6 +116,7 @@ import LaserSurgery from '@/page-subspecialty/views/modules/formList/laserSurger
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'
import conjunctivalOperation from '@/page-subspecialty/views/modules/formList/conjunctivalOperation'
export default {
components: {
MinorOperation,
@ -116,6 +127,7 @@ export default {
MraForm,
InformedConsent,
LeftFormList,
conjunctivalOperation,
ourPatientRecord
},
mixins: [],
@ -273,6 +285,10 @@ export default {
break
case '眼科激光手术治疗':
this.$refs.laserSurgery.formDelete()
break
case '眼科门诊手术同意书':
this.$refs.conjunctival.formDelete()
break
}
} else {
this.getFormList()

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

@ -59,7 +59,7 @@ export default {
},
{
type: '同意书',
list: ['门诊小手术同意书']
list: ['门诊小手术同意书', '眼科门诊手术同意书']
},
{
type: '其他',

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

@ -31,8 +31,8 @@ export default {
kinSign: '',
performerSign: '',
checkerSign: '',
minorPatientSign: '',
minorKinSign: ''
conPatientSign: '',
conKinSign: ''
},
getters: {
doctorSignImg: state => state.doctorSignImg,
@ -53,7 +53,9 @@ export default {
performerSign: state => state.performerSign,
checkerSign: state => state.checkerSign,
minorPatientSign: state => state.minorPatientSign,
minorKinSign: state => state.minorKinSign
minorKinSign: state => state.minorKinSign,
conPatientSign: state => state.conPatientSign,
conKinSign: state => state.conKinSign
},
mutations: {
// 销毁签字笔
@ -210,6 +212,10 @@ export default {
this.commit('minorPatientSign', img_base64)
} else if (state.type === 18) {
this.commit('minorKinSign', img_base64)
} else if (state.type === 19) {
this.commit('conPatientSign', img_base64)
} else if (state.type === 20) {
this.commit('conKinSign', img_base64)
}
} else {
// debugPrint("saveSignToBase64 error,description:" + args[0]);
@ -273,6 +279,12 @@ export default {
},
minorKinSign(state, val) {
state.minorKinSign = val
},
conPatientSign(state, val) {
state.conPatientSign = val
},
conKinSign(state, val) {
state.conKinSign = val
}
}
}

238
src/page-subspecialty/views/modules/formList/conjunctivalOperation.vue

@ -0,0 +1,238 @@
<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 }}
<el-input v-if="item.flag === 1" v-model="confirmData.treatWay" style="width: 400px" />
<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="!conPatientSign" :src="require('@/assets/img/signature.png')" alt="" style="margin-right: 12px">
<img v-else style="width: 80px;height: 40px;" :src="conPatientSign">
</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="!conKinSign" :src="require('@/assets/img/signature.png')" alt="">
<img v-else style="width: 80px;height: 40px;" :src="conKinSign">
</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: 'ConjunctivalOperation',
props: {
onlyRead: {
type: Boolean,
default: false
},
isPlatform: {
type: Boolean,
default: true
},
patientDetail: {
type: Object
},
caseId: {
type: String,
default: ''
}
},
data() {
return {
content: [
{
title: '一、治疗方案:',
flag: 1
},
{
title: '二、治疗中可能发生的风险:',
detail: [
'1、麻醉风险及药物过敏等',
'2、术后泪道置管脱落',
'3、术后任然流泪或需要再次手术'
]
},
{
title: '病员或家属意见:我们了解该治疗的各种可能发生的风险,同意接受治疗。'
}
],
print: {
id: 'mraFunc',
closeCallback: () => {
this.printHidden = true
}
},
printHidden: true,
confirmData: {
patientName: '',
patientAge: '',
patientSex: '',
patientPhone: '',
diagnose: '',
treatWay: '',
patientSign: '',
familySign: '',
operator: '',
operateDate: ''
}
}
},
computed: {
conPatientSign() {
return this.$store.getters.conPatientSign
},
conKinSign() {
return this.$store.getters.conKinSign
}
},
created() {
const date = this.$moment().format('YYYY-MM-DD')
this.confirmData.patientName = this.patientDetail.patientName
this.confirmData.patientPhone = this.patientDetail.patientPhone
this.confirmData.patientSex = this.patientDetail.patientSex
this.confirmData.patientAge = this.patientDetail.patientAge
this.confirmData.operateDate = date
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.conPatientSign
// 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>
Loading…
Cancel
Save