4 changed files with 636 additions and 82 deletions
			
			
		| @ -0,0 +1,361 @@ | |||||
|  | <template> | ||||
|  |   <div class="formListBox"> | ||||
|  |     <div v-if="!onlyRead && isPlatform" class="btnBox_top"> | ||||
|  |       <el-button v-print="print" 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="styeForm" style="width: 1000px;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> | ||||
|  |         <div class="flex"> | ||||
|  |           诊断:<el-input v-model="confirmData.diagnose" style="flex: 1" /> | ||||
|  |         </div> | ||||
|  |         <div class="flex" style="margin: 8px 0"> | ||||
|  |           手术名称: | ||||
|  |           <el-select v-model="confirmData.operationName" style="flex: 1" clearable placeholder=""> | ||||
|  |             <el-option | ||||
|  |               v-for="item in types" | ||||
|  |               :key="item.id" | ||||
|  |               :label="item.label" | ||||
|  |               :value="item.value" | ||||
|  |             /> | ||||
|  |           </el-select> | ||||
|  |         </div> | ||||
|  |         <div class="flex"> | ||||
|  |           麻醉方式:<el-input v-model="confirmData.narcotism" style="flex: 1" /> | ||||
|  |         </div> | ||||
|  |       </div> | ||||
|  |       <div> | ||||
|  |         <div class="flex strongTitle"> | ||||
|  |           尊敬的患者、患者家属、授权委托人: | ||||
|  |         </div> | ||||
|  |         <div> | ||||
|  |           您好!根据患者目前病情拟选择以下手术治疗方案: | ||||
|  |           <div class="flex" style="margin-left: 2rem"> | ||||
|  |             <div v-for="(item,index) in confirmData.options" :key="index" style="margin: 0 20px 0 0" @click="item.isSelect = !item.isSelect"> | ||||
|  |               <input type="checkbox" :checked="item.isSelect">{{ item.name }} | ||||
|  |             </div> | ||||
|  |           </div> | ||||
|  |         </div> | ||||
|  |       </div> | ||||
|  |       <div style="text-indent: 2rem;text-align: left"> | ||||
|  |         <div class="flex strongTitle"> | ||||
|  |           在实施上述手术/治疗疗过程中及手术/治疗后可能会发生的并发症及风险主要有: | ||||
|  |         </div> | ||||
|  |         <div class="form_content"> | ||||
|  |           <div v-for="(item,index) in content" :key="index" style="margin: 5px 0"> | ||||
|  |             {{ item }} | ||||
|  |             <span v-if="index===10" class="strong underline">病情加重进展、形成肉芽肿、眶蜂窝织炎、全身感染、败血症 等</span> | ||||
|  |             <span v-if="index===11" class="underline">继续药物保守治疗,病情可能无法进展,仍需手术治疗</span> | ||||
|  |           </div> | ||||
|  |         </div> | ||||
|  |       </div> | ||||
|  |       <div> | ||||
|  |         在向患方说明各治疗方案并告知利弊后,患方基于当前病情需要,经慎重考虑,自愿选择 <el-input v-model="confirmData.treatOperate" style="width: 200px" /> 手术。 | ||||
|  |       </div> | ||||
|  |       <div class="flex strongTitle"> | ||||
|  |         患者知情选择: | ||||
|  |       </div> | ||||
|  |       <div style="text-align: left"> | ||||
|  |         我的医生已经告知我将要进行的手术/治疗、此次手术/治疗及手术/治疗后可能发生的风险,可能存在的其它手术/治疗方法,并且解答了我关于此次手术/治疗的相关问题,以上内容我已逐条认真阅读并理解行麦粒肿/霰粒肿/肉芽肿/眼睑肿物切除术的相关风险及可能并发症,同意进行此项手术/治疗。 | ||||
|  |       </div> | ||||
|  |       <div class="flex j-b" style="margin-top: 20px"> | ||||
|  |         <div class="flex a-c"> | ||||
|  |           <span style="word-break: keep-all;font-weight: bold">患者签名:</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: 80px" /> | ||||
|  |         </div> | ||||
|  |         <div style="margin-left: 100px"> | ||||
|  |           签名日期: | ||||
|  |           <el-date-picker | ||||
|  |             v-model="confirmData.patientDate" | ||||
|  |             style="flex: 1" | ||||
|  |             type="date" | ||||
|  |             format="yyyy年MM月dd日" | ||||
|  |             value-format="yyyy-MM-dd" | ||||
|  |           /> | ||||
|  |         </div> | ||||
|  |       </div> | ||||
|  |       <div class="flex"> | ||||
|  |         如果患者无法签署知情同意书,请其授权的亲属在此签名: | ||||
|  |       </div> | ||||
|  |       <div class="flex j-b"> | ||||
|  |         <div class="flex a-c"> | ||||
|  |           <div style="font-weight: bold">患者授权亲属签名:</div> | ||||
|  |           <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: 80px" /> | ||||
|  |           <span>与患者关系</span> | ||||
|  |           <el-input v-model="confirmData.relation" style="width: 100px" /> | ||||
|  |         </div> | ||||
|  |         <div> | ||||
|  |           签名日期: | ||||
|  |           <el-date-picker | ||||
|  |             v-model="confirmData.kinDate" | ||||
|  |             style="flex: 1" | ||||
|  |             type="date" | ||||
|  |             format="yyyy年MM月dd日" | ||||
|  |             value-format="yyyy-MM-dd" | ||||
|  |           /> | ||||
|  |         </div> | ||||
|  |       </div> | ||||
|  |       <div class="flex strongTitle"> | ||||
|  |         医生陈述: | ||||
|  |       </div> | ||||
|  |       <div style="font-weight: normal;font-size: 16px"> | ||||
|  |         我已经告知患者将要进行的手术/治疗、此次手术/治疗及手术/治疗后可能发生的风险,可能存在的其它手术/治疗方法并且解答了患者关于此次手术/治疗的相关问题。 | ||||
|  |       </div> | ||||
|  |       <div class="flex j-b" style="margin-top: 15px"> | ||||
|  |         <div class="flex a-c" style="margin-left: 10px"> | ||||
|  |           <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: 'StyeForm', | ||||
|  |   props: { | ||||
|  |     onlyRead: { | ||||
|  |       type: Boolean, | ||||
|  |       default: false | ||||
|  |     }, | ||||
|  |     isPlatform: { | ||||
|  |       type: Boolean, | ||||
|  |       default: true | ||||
|  |     }, | ||||
|  |     patientDetail: { | ||||
|  |       type: Object | ||||
|  |     }, | ||||
|  |     caseId: { | ||||
|  |       type: String, | ||||
|  |       default: '' | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   data() { | ||||
|  |     return { | ||||
|  |       types: [ | ||||
|  |         { | ||||
|  |           label: '麦粒肿', | ||||
|  |           value: 1, | ||||
|  |           id: '11' | ||||
|  |         }, | ||||
|  |         { | ||||
|  |           label: '霰粒肿', | ||||
|  |           value: 2, | ||||
|  |           id: '22' | ||||
|  |         }, | ||||
|  |         { | ||||
|  |           label: '肉芽肿', | ||||
|  |           value: 3, | ||||
|  |           id: '33' | ||||
|  |         }, | ||||
|  |         { | ||||
|  |           label: '眼睑肿物', | ||||
|  |           value: 4, | ||||
|  |           id: '44' | ||||
|  |         } | ||||
|  |       ], | ||||
|  |       content: [ | ||||
|  |         '1.麻醉意外,极少数人对麻醉药物过敏,引起药物反应。', | ||||
|  |         '2.手术操作过程中难以避免的组织或器官损伤:如结膜、角膜、肌肉、神经、血管、邻近器官等,并导致其他并发症的发生。', | ||||
|  |         '3.术中出血。', | ||||
|  |         '4.术中由于病情原因切除不干净,术后复发,需再次手术治疗。', | ||||
|  |         '5.术后切口感染。', | ||||
|  |         '6.术后切口愈合不良、肉芽组织增生,需再次手术治疗。', | ||||
|  |         '7.术后出现血肿、皮下瘀血。', | ||||
|  |         '8.术后结膜、皮肤瘢痕化。', | ||||
|  |         '9.根据患者病情,若切除的组织需进行病理检查,一般7个工作日可取得报告。', | ||||
|  |         '10.医护人员团队将尽全力按操作规范实施上述手术/治疗,并且一旦发生并发症或意外情况,将从维护患者及家属利益的角度出发积极采取措施,以努力降低并发症或意外情况导致的对患者的损害后果。', | ||||
|  |         '11.您有权选择同意或不同意接受上述手术/治疗,但是如果拒绝接受上述手术/治疗,您将面临以下风险:病情加重进展、形成肉芽肿、眶蜂窝织炎、全身感染、败血症 等。', | ||||
|  |         '12.根据患者目前的病情和我院目前开展的医疗技术,您还可以选择其他替代诊疗方案  继续药物保守治疗,病情可能无法进展,仍需手术治疗' | ||||
|  |       ], | ||||
|  |       print: { | ||||
|  |         id: 'styeForm', | ||||
|  |         closeCallback: () => { | ||||
|  |           this.printHidden = true | ||||
|  |         } | ||||
|  |       }, | ||||
|  |       printHidden: true, | ||||
|  |       orgin: '', | ||||
|  |       confirmData: { | ||||
|  |         options: [ | ||||
|  |           { | ||||
|  |             name: '麦粒肿切除术', | ||||
|  |             isSelect: false | ||||
|  |           }, { | ||||
|  |             name: '霰粒肿切除术', | ||||
|  |             isSelect: false | ||||
|  |           }, { | ||||
|  |             name: '肉芽肿切除术', | ||||
|  |             isSelect: false | ||||
|  |           }, { | ||||
|  |             name: '眼睑肿物切除术', | ||||
|  |             isSelect: false | ||||
|  |           } | ||||
|  |         ], | ||||
|  |         diagnose: '', | ||||
|  |         operationName: '', | ||||
|  |         narcotism: '局部浸润麻醉', | ||||
|  |         docAdvice: '', | ||||
|  |         relation: '', | ||||
|  |         patientSign: '', | ||||
|  |         familySign: '', | ||||
|  |         operator: '', | ||||
|  |         patientDate: new Date(), | ||||
|  |         kinDate: new Date(), | ||||
|  |         operateDate: new Date() | ||||
|  |       } | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   computed: { | ||||
|  |     minorPatientSign() { | ||||
|  |       return this.$store.getters.minorPatientSign | ||||
|  |     }, | ||||
|  |     minorKinSign() { | ||||
|  |       return this.$store.getters.minorKinSign | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   watch: { | ||||
|  |     caseId(val) { | ||||
|  |       if (val) { | ||||
|  |         this.queryFormData() | ||||
|  |       } | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   created() { | ||||
|  |     this.orgin = JSON.parse(JSON.stringify(this.confirmData)) | ||||
|  |     this.queryFormData() | ||||
|  |     this.$store.commit('initPlugin') | ||||
|  |   }, | ||||
|  |   methods: { | ||||
|  |     signClick(index) { | ||||
|  |       this.$store.commit('beginSign', index) | ||||
|  |     }, | ||||
|  |     handlePrint() { | ||||
|  |       this.printHidden = false | ||||
|  |       this.handleSaveTable() | ||||
|  |     }, | ||||
|  |     // 保存 | ||||
|  |     handleSaveTable() { | ||||
|  |       this.confirmData.patientSign = this.minorPatientSign | ||||
|  |       this.confirmData.familySign = this.minorKinSign | ||||
|  |       const data = JSON.stringify(this.confirmData) | ||||
|  |       this.$emit('handleSaveTable', data) | ||||
|  |     }, | ||||
|  |     // 获取同意书详情 | ||||
|  |     queryFormData() { | ||||
|  |       this.$http.get('/case/getCaseById', { params: { | ||||
|  |         id: this.caseId | ||||
|  |       }}).then(data => { | ||||
|  |         const detail = data.data.data | ||||
|  |         if (detail.jsonText) { | ||||
|  |           this.confirmData = JSON.parse(detail.jsonText) | ||||
|  |           this.$store.commit('minorPatientSign', this.confirmData.patientSign) | ||||
|  |           this.$store.commit('minorKinSign', this.confirmData.familySign) | ||||
|  |         } else { | ||||
|  |           this.confirmData = JSON.parse(JSON.stringify(this.orgin)) | ||||
|  |           const userData = JSON.parse(window.sessionStorage.getItem('qg-userData')) | ||||
|  |           this.confirmData.operator = userData.signImgBase | ||||
|  |           this.$store.commit('minorPatientSign', this.confirmData.patientSign) | ||||
|  |           this.$store.commit('minorKinSign', this.confirmData.familySign) | ||||
|  |         } | ||||
|  |       }) | ||||
|  |     }, | ||||
|  |     // 删除 | ||||
|  |     formDelete() { | ||||
|  |       this.$emit('formDelete') | ||||
|  |     } | ||||
|  |   } | ||||
|  | } | ||||
|  | </script> | ||||
|  | 
 | ||||
|  | <style lang="scss" scoped> | ||||
|  | .flex{ | ||||
|  |   display: flex; | ||||
|  | } | ||||
|  | .a-c{ | ||||
|  |   align-items: center; | ||||
|  | } | ||||
|  | .j-c{ | ||||
|  |   justify-content: center; | ||||
|  | } | ||||
|  | .j-b{ | ||||
|  |   justify-content: space-between; | ||||
|  | } | ||||
|  | #styeForm{ | ||||
|  |   text-align: left; | ||||
|  | } | ||||
|  | .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; | ||||
|  |   line-height: 26px; | ||||
|  | } | ||||
|  | .form_detail{ | ||||
|  |   text-indent: 2rem; | ||||
|  |   margin: 3px 0; | ||||
|  | } | ||||
|  | .strongTitle{ | ||||
|  |   font-size: 20px; | ||||
|  |   font-weight: bold; | ||||
|  |   margin: 10px 0 5px 0; | ||||
|  | } | ||||
|  | .strong{ | ||||
|  |   font-weight: bold; | ||||
|  | } | ||||
|  | .underline{ | ||||
|  |   text-decoration: underline; | ||||
|  | } | ||||
|  | ::v-deep .el-icon-arrow-up{ | ||||
|  |   display: none; | ||||
|  | } | ||||
|  | ::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…
					
					
				
		Reference in new issue