9 changed files with 419 additions and 4 deletions
			
			
		| After Width: | Height: | Size: 541 B | 
| After Width: | Height: | Size: 541 B | 
| After Width: | Height: | Size: 841 B | 
| @ -0,0 +1,400 @@ | |||||
|  | <template> | ||||
|  |   <div id="operation-record" style=" background: #fff; padding: 10px 20px 50px 20px;page-break-after:always"> | ||||
|  |     <div class="btnBox_top"> | ||||
|  |       <div v-if="!onlyRead && isPlatform"> | ||||
|  |         <el-button v-print="print" size="small" @click="handlePrint">打印</el-button> | ||||
|  |         <template v-if="isCreator"> | ||||
|  |           <el-button type="primary" size="small" @click="handleSaveTable">保存</el-button> | ||||
|  |           <el-button type="danger" size="small" @click="formDelete">删除</el-button> | ||||
|  |         </template> | ||||
|  |       </div> | ||||
|  |       <div style="margin: 10px 0;text-align: left;color: #409EFF"> | ||||
|  |         <div> | ||||
|  |           操作者:{{ creator.doctorName }} | ||||
|  |         </div> | ||||
|  |         <div> | ||||
|  |           工号:{{ creator.doctorCode }} | ||||
|  |         </div> | ||||
|  |       </div> | ||||
|  |     </div> | ||||
|  |     <div id="treatProcess" style="width: 840px;padding-right: 8px;text-align: left;line-height: 28px"> | ||||
|  |       <div v-if="!isDev" class="flex j-c"> | ||||
|  |         <img width="450" src="@/assets/img/xianganlogo.png"> | ||||
|  |       </div> | ||||
|  |       <hr v-if="!isDev"> | ||||
|  |       <p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;"> | ||||
|  |         三面镜/眼部激光治疗流程 | ||||
|  |       </p> | ||||
|  |       <!--患者信息--> | ||||
|  |       <div class="flex"> | ||||
|  |         <div class="flex a-c item">姓名:<el-input v-model="confirmData.patientName" style="flex: 1" placeholder="" /></div> | ||||
|  |         <div class="flex a-c item">登记号:<el-input v-model="confirmData.patientId" style="flex: 1" placeholder="" /></div> | ||||
|  |         <div class="flex a-c item">时间: | ||||
|  |           <el-date-picker | ||||
|  |             v-model="confirmData.orderDate" | ||||
|  |             style="width: 120px;flex: 1" | ||||
|  |             type="date" | ||||
|  |             value-format="yyyy-MM-dd" | ||||
|  |           /></div> | ||||
|  |         <div class="flex a-c item">对接医师: | ||||
|  |           <el-select | ||||
|  |             v-model="confirmData.djDoctorId" | ||||
|  |             allow-create | ||||
|  |             filterable | ||||
|  |             style="flex: 1" | ||||
|  |             placeholder="" | ||||
|  |             clearable | ||||
|  |           > | ||||
|  |             <el-option | ||||
|  |               v-for="item in doctorList" | ||||
|  |               :key="item.id" | ||||
|  |               :label="item.realName" | ||||
|  |               :value="item.id" | ||||
|  |             /> | ||||
|  |           </el-select> | ||||
|  |         </div> | ||||
|  |       </div> | ||||
|  |       <div class="flex j-b" style="padding: 10px 0 "> | ||||
|  |         <div class="secondTitle" style="padding-right: 40px;text-align: center"> | ||||
|  |           <div style="padding: 10px 0">导诊台</div> | ||||
|  |           <img src="@/assets/img/arrow_down1.jpg"> | ||||
|  |         </div> | ||||
|  |         <div class="flex1" style="line-height: 40px"> | ||||
|  |           <div class="flex"> | ||||
|  |             <span>眼压:OD:</span><el-input v-model="confirmData.yyOd" style="width: 120px" />mmHg | ||||
|  |             OS:<el-input v-model="confirmData.yyOs" style="width: 120px" />mmHg | ||||
|  |           </div> | ||||
|  |           <div> | ||||
|  |             复方托吡卡胺滴眼液在12号房间领药。左氧氟沙星滴眼液、卡波姆滴眼液等,请到一楼药房领取。 | ||||
|  |             <span style="font-weight: bold">检查治疗当天请携带以上药品。</span> | ||||
|  |           </div> | ||||
|  |         </div> | ||||
|  |       </div> | ||||
|  |       <div class="secondTitle" style="padding: 10px 0"> | ||||
|  |         7号房间找护士报道 | ||||
|  |       </div> | ||||
|  |       <div class="flex"> | ||||
|  |         <div style="width: 130px;text-align: center;padding-right:40px "> | ||||
|  |           <img src="@/assets/img/arrown_down2.jpg"> | ||||
|  |         </div> | ||||
|  |         <div style="line-height: 40px"> | ||||
|  |           <div> | ||||
|  |             血压: <el-input v-model="confirmData.xya" style="width: 120px" />mmHg | ||||
|  |             脉搏:<el-input v-model="confirmData.mb" style="width: 120px" />次/分 | ||||
|  |             血氧:<el-input v-model="confirmData.xyang" style="width: 120px" />% | ||||
|  |           </div> | ||||
|  |           <div>眼别: | ||||
|  |             <el-radio-group v-model="confirmData.eyeType"> | ||||
|  |               <el-radio label="双眼0U" /> | ||||
|  |               <el-radio label="右眼OD" /> | ||||
|  |               <el-radio label="左眼OS" /> | ||||
|  |             </el-radio-group> | ||||
|  |           </div> | ||||
|  |           <div class="flex"> | ||||
|  |             <div> | ||||
|  |               <el-radio v-model="confirmData.smjYbjgzl" label="三面镜" />/ | ||||
|  |               <el-radio v-model="confirmData.smjYbjgzl" label="眼部激光治疗">眼部激光治疗:</el-radio> | ||||
|  |             </div> | ||||
|  |             <div> | ||||
|  |               <div> | ||||
|  |                 <el-radio-group v-model="confirmData.ykWyz"> | ||||
|  |                   <el-radio label="已开" /> | ||||
|  |                   <el-radio label="无医嘱" /> | ||||
|  |                 </el-radio-group> | ||||
|  |               </div> | ||||
|  |               <div> | ||||
|  |                 <el-radio-group v-model="confirmData.zyMz"> | ||||
|  |                   <el-radio label="住院" /> | ||||
|  |                   <el-radio label="门诊" /> | ||||
|  |                 </el-radio-group> | ||||
|  |               </div> | ||||
|  |             </div> | ||||
|  |           </div> | ||||
|  |           <div> | ||||
|  |             自发荧光:(12号房间) | ||||
|  |           </div> | ||||
|  |           <div> | ||||
|  |             <el-checkbox-group v-model="zfyg"> | ||||
|  |               <el-checkbox label="医生需开医嘱" /> | ||||
|  |               <el-checkbox label="需拍照" /> | ||||
|  |               <el-checkbox label="己完成" /> | ||||
|  |               <el-checkbox label="无需" /> | ||||
|  |             </el-checkbox-group> | ||||
|  |           </div> | ||||
|  |         </div> | ||||
|  |       </div> | ||||
|  |       <div class="secondTitle" style="padding: 10px 0"> | ||||
|  |         7号房间门口散瞳表麻处 | ||||
|  |       </div> | ||||
|  |       <div class="flex"> | ||||
|  |         <div style="width: 130px;text-align: center;padding-right:40px "> | ||||
|  |           <img src="@/assets/img/arrow_down3.jpg"> | ||||
|  |         </div> | ||||
|  |         <div style="line-height: 40px"> | ||||
|  |           <div> | ||||
|  |             <el-radio v-model="confirmData.st" label="缩瞳"><span style="color: red">缩瞳</span></el-radio> / | ||||
|  |             <el-radio v-model="confirmData.st" label="散瞳">散瞳:</el-radio> | ||||
|  |             <el-checkbox v-model="confirmData.stFinish">已完成</el-checkbox>(每5分钟点一次,连续点五次) | ||||
|  |           </div> | ||||
|  |           <div>表麻: | ||||
|  |             <el-checkbox v-model="confirmData.bmFinish">已完成</el-checkbox>(每5分钟点一次,连续点五次) | ||||
|  |           </div> | ||||
|  |         </div> | ||||
|  |       </div> | ||||
|  |       <div class="secondTitle" style="padding: 10px 0"> | ||||
|  |         请到15号房间门口稍等 | ||||
|  |       </div> | ||||
|  |       <div> | ||||
|  |         散瞳后当天勿直视强光、勿驾车、骑车、勿进在危险和精细作业。 | ||||
|  |       </div> | ||||
|  |       <div> | ||||
|  |         眼科导诊台电话;2889610。 | ||||
|  |       </div> | ||||
|  |       <div class="flex"> | ||||
|  |         备注:<el-input v-model="confirmData.remark" class="flex1" :autosize="{ minRows: 1, maxRows: 3}" type="textarea" /> | ||||
|  |       </div> | ||||
|  |     </div> | ||||
|  |   </div> | ||||
|  | </template> | ||||
|  | 
 | ||||
|  | <script> | ||||
|  | 
 | ||||
|  | export default { | ||||
|  |   name: 'TreatProcess', | ||||
|  |   props: { | ||||
|  |     isDev: { | ||||
|  |       type: Boolean | ||||
|  |     }, | ||||
|  |     onlyRead: { | ||||
|  |       type: Boolean, | ||||
|  |       default: false | ||||
|  |     }, | ||||
|  |     isPlatform: { | ||||
|  |       type: Boolean, | ||||
|  |       default: true | ||||
|  |     }, | ||||
|  |     patientDetail: { | ||||
|  |       type: Object | ||||
|  |     }, | ||||
|  |     caseId: { | ||||
|  |       type: String, | ||||
|  |       default: '' | ||||
|  |     }, | ||||
|  |     isCreator: { | ||||
|  |       type: Boolean, | ||||
|  |       default: true | ||||
|  |     }, | ||||
|  |     // 操作者 | ||||
|  |     creator: { | ||||
|  |       type: Object | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   data() { | ||||
|  |     return { | ||||
|  |       printHidden: true, | ||||
|  |       print: { | ||||
|  |         id: 'treatProcess', | ||||
|  |         closeCallback: () => { | ||||
|  |           this.printHidden = true | ||||
|  |         } | ||||
|  |       }, | ||||
|  |       doctorList: [], | ||||
|  |       zfyg: [], | ||||
|  |       confirmData: { | ||||
|  |         patientAge: '', | ||||
|  |         orderDate: '', | ||||
|  |         patientGender: '', | ||||
|  |         patientName: '', | ||||
|  |         patientId: '', | ||||
|  |         djDoctor: '', // 对接医师 | ||||
|  |         djDoctorId: '', // 对接医师 | ||||
|  |         yyOd: '', // 眼压 | ||||
|  |         yyOs: '', | ||||
|  |         xya: '', // 血压 | ||||
|  |         mb: '', // 脉搏 | ||||
|  |         xyang: '', // 血氧 | ||||
|  |         eyeType: '', // 眼别 | ||||
|  |         smjYbjgzl: '', // 项目 | ||||
|  |         ykWyz: '', // 医嘱 | ||||
|  |         zyMz: '', | ||||
|  |         zfyg: '', // 自发荧光 | ||||
|  |         st: '', // 散瞳表麻 | ||||
|  |         stFinish: false, | ||||
|  |         bmFinish: false, | ||||
|  |         remark: '' | ||||
|  |       } | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   watch: { | ||||
|  |     caseId(val) { | ||||
|  |       if (val) { | ||||
|  |         this.getInfoDetail() | ||||
|  |       } | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   created() { | ||||
|  |     this.getDoctorList() | ||||
|  |     this.getInfoDetail() | ||||
|  |   }, | ||||
|  |   methods: { | ||||
|  |     // 获取医师列表 | ||||
|  |     getDoctorList() { | ||||
|  |       this.$http.get('/sys/user').then(res => { | ||||
|  |         this.doctorList = res.data.data | ||||
|  |       }) | ||||
|  |     }, | ||||
|  |     getInfoDetail() { | ||||
|  |       this.$http.get('/jcjg/getSmjjcjl', { params: { | ||||
|  |         caseId: this.caseId, | ||||
|  |         patientId: this.patientDetail.patientId | ||||
|  |       }}).then(data => { | ||||
|  |         const detail = data.data.data | ||||
|  |         this.confirmData = detail | ||||
|  |         this.zfyg = this.confirmData.zfyg ? this.confirmData.zfyg.split('/') : [] | ||||
|  |         if (!detail.jzNumber) { | ||||
|  |           this.setData() | ||||
|  |         } | ||||
|  |       }) | ||||
|  |     }, | ||||
|  |     setData() { | ||||
|  |       this.confirmData.patientName = this.patientDetail.patientName | ||||
|  |       this.confirmData.patientAge = this.patientDetail.patientAge | ||||
|  |       this.confirmData.patientGender = this.patientDetail.patientSex | ||||
|  |       this.confirmData.patientId = this.patientDetail.patientId | ||||
|  |     }, | ||||
|  |     handlePrint() { | ||||
|  |       this.printHidden = false | ||||
|  |       if (!this.isCreator) { | ||||
|  |         return | ||||
|  |       } | ||||
|  |       this.handleSaveTable() | ||||
|  |     }, | ||||
|  |     // 保存 | ||||
|  |     handleSaveTable() { | ||||
|  |       this.confirmData.jzNumber = window.sessionStorage.getItem('jzNumber') | ||||
|  |       this.confirmData.zfyg = this.zfyg.join('/') | ||||
|  |       this.$http.post('/jcjg/saveSmjjcjl', { | ||||
|  |         ...this.confirmData, | ||||
|  |         caseId: this.caseId | ||||
|  |       }).then(() => { | ||||
|  |         this.$emit('handleSaveTable') | ||||
|  |       }) | ||||
|  |     }, | ||||
|  |     // 删除 | ||||
|  |     formDelete() { | ||||
|  |       this.$confirmFun('确定删除吗?').then(() => { | ||||
|  |         this.$http.post('/jcjg/delSmjjcjl', { | ||||
|  |           id: this.caseId | ||||
|  |         }).then(() => { | ||||
|  |           this.$message.success('删除成功') | ||||
|  |           this.$emit('formDelete', 'del') | ||||
|  |         }) | ||||
|  |       }) | ||||
|  |     } | ||||
|  |   } | ||||
|  | } | ||||
|  | </script> | ||||
|  | 
 | ||||
|  | <style lang="scss" scoped> | ||||
|  | #operation-record{ | ||||
|  |   height: 100%; | ||||
|  |   overflow: auto; | ||||
|  |   background: #fff; | ||||
|  |   font-size: 16px; | ||||
|  | } | ||||
|  | #treatProcess{ | ||||
|  |   font-size: 18px; | ||||
|  | } | ||||
|  | ::v-deep .el-icon-arrow-up{ | ||||
|  |   display: none; | ||||
|  | } | ||||
|  | .secondTitle{ | ||||
|  |   font-size: 30px; | ||||
|  |   font-weight: bold; | ||||
|  | } | ||||
|  | .flex{ | ||||
|  |   display: flex; | ||||
|  | } | ||||
|  | .flex1{ | ||||
|  |   flex: 1; | ||||
|  | } | ||||
|  | .a-c{ | ||||
|  |   align-items: center; | ||||
|  | } | ||||
|  | .j-c{ | ||||
|  |   justify-content: center; | ||||
|  | } | ||||
|  | .flex-end{ | ||||
|  |   justify-content: flex-end; | ||||
|  | } | ||||
|  | .caseItem{ | ||||
|  |   width: 200px; | ||||
|  |   padding-right: 10px; | ||||
|  | } | ||||
|  | .caseDetail{ | ||||
|  |   padding: 0 20px; | ||||
|  |   display: flex; | ||||
|  |   font-size: 14px; | ||||
|  |   line-height: 24px; | ||||
|  | } | ||||
|  | .item{ | ||||
|  |   &:not(:last-child){ | ||||
|  |     margin-right: 15px; | ||||
|  |   } | ||||
|  | } | ||||
|  | tr td{ | ||||
|  |   border: 1px solid #000; | ||||
|  |   text-align: center; | ||||
|  | } | ||||
|  | table{ | ||||
|  |   width: 100%; | ||||
|  | } | ||||
|  | .img_show{ | ||||
|  |   height: 240px; | ||||
|  | } | ||||
|  | .img2_show{ | ||||
|  |   width: 450px; | ||||
|  |   height: 300px; | ||||
|  | } | ||||
|  | .btnBox_top{ | ||||
|  |   position: fixed; | ||||
|  |   z-index: 999; | ||||
|  |   right: 90px; | ||||
|  | } | ||||
|  | ::v-deep .el-input__inner { | ||||
|  |   border: none; | ||||
|  |   height: 26px !important; | ||||
|  |   line-height: 26px !important; | ||||
|  |   font-size: 18px; | ||||
|  |   text-align: center; | ||||
|  | } | ||||
|  | 
 | ||||
|  | ::v-deep .el-input__inner { | ||||
|  |   border-bottom: 1px solid #ccc; | ||||
|  |   border-radius: 0; | ||||
|  |   padding: 0; | ||||
|  | } | ||||
|  | ::v-deep .el-input__prefix { | ||||
|  |   display: none; | ||||
|  | } | ||||
|  | ::v-deep .el-checkbox__label{ | ||||
|  |   font-size: 18px; | ||||
|  |   color: #000; | ||||
|  | } | ||||
|  | ::v-deep .el-radio__label{ | ||||
|  |   font-size: 18px; | ||||
|  |   color: #000; | ||||
|  | } | ||||
|  | ::v-deep .el-checkbox{ | ||||
|  |   margin-right: 15px; | ||||
|  | } | ||||
|  | ::v-deep .el-radio{ | ||||
|  |   margin:0 10px; | ||||
|  | } | ||||
|  | ::v-deep .el-textarea__inner{ | ||||
|  |   border: none; | ||||
|  |   border-bottom: 1px solid #8e8c8c; | ||||
|  |   border-radius: 0; | ||||
|  |   font-size: 18px | ||||
|  | } | ||||
|  | </style> | ||||
					Loading…
					
					
				
		Reference in new issue