14 changed files with 988 additions and 98 deletions
			
			
		| @ -0,0 +1,497 @@ | |||
| <template> | |||
|   <div class="callMedical"> | |||
|     <div class="archives-content"> | |||
|       <div class="content-left"> | |||
|         <div class="content-left-top"> | |||
|           <div v-for="(item, index) in formList" :key="index" class="formBox" style="margin-top: 12px" :class="[index === curIndex ? 'active' : '']" @click="handleForm(index, item)"> | |||
|             <p :class="[index === curIndex ? 'activeFont' : 'curFont']">{{ item.createTime }}</p> | |||
|             <p>{{ item.name }}</p> | |||
|           </div> | |||
|           <img v-if="!formList" src="@/assets/img/nodata.png" alt="" class="nodata"> | |||
|           <!--          <div class="button"><i class="el-icon-plus" /> 新建表单</div>--> | |||
|         </div> | |||
|         <div class="content-left-bottom"> | |||
|           <div class="commonForm-text "> | |||
|             <span>常用表单</span> | |||
|             <span class="line" /> | |||
|             <el-checkbox v-model="defaultChecked">默认新建今日</el-checkbox> | |||
|           </div> | |||
|           <div v-if="isSearch === '1'" class="record" @click="addRecord('门急诊电子病历')"> | |||
|             <p>门急诊电子病历</p> | |||
|             <img v-if="!onlyRead" :src="require('@/assets/img/add.png')" alt=""> | |||
|           </div> | |||
|           <div class="comonForm-tab"> | |||
|             <el-radio-group v-model="formType" size="small"> | |||
|               <el-radio-button label="门诊" name="1" style="" /> | |||
|               <!--              <el-radio-button label="手术" name="2" style=""></el-radio-button>--> | |||
|               <el-radio-button label="其他" name="3" style="" /> | |||
|             </el-radio-group> | |||
|             <div v-if="formType === '门诊'" class="record" @click="addRecord"> | |||
|               <p>门急诊电子病历</p> | |||
|               <img :src="require('@/assets/img/add.png')" alt=""> | |||
|             </div> | |||
|           </div> | |||
|         </div> | |||
|       </div> | |||
|     </div> | |||
|   </div> | |||
| </template> | |||
| <script> | |||
| import { dateFilterTwo } from '@/filters/index.js' | |||
| import eventBus from '@/page-subspecialty/utils/eventBus' | |||
| const Base64 = require('js-base64').Base64 | |||
| export default { | |||
|   components: { | |||
|   }, | |||
|   mixins: [], | |||
|   props: { | |||
|     isSearch: { | |||
|       type: String, | |||
|       default: '' | |||
|     }, | |||
|     patientIdNumber: { | |||
|       type: String, | |||
|       default: '' | |||
|     }, | |||
|     patientId: { | |||
|       type: String, | |||
|       default: '' | |||
|     }, | |||
|     onlyRead: { | |||
|       type: Boolean, | |||
|       default: false | |||
|     } | |||
|   }, | |||
|   inject: ['refresh'], | |||
|   data() { | |||
|     return { | |||
|       id: '', | |||
|       name: '', | |||
|       curIndex: 0, | |||
|       formIdList: [], | |||
|       formList: [], | |||
|       defaultChecked: [], | |||
|       formType: '门诊' | |||
|     } | |||
|   }, | |||
|   created() { | |||
| 
 | |||
|   }, | |||
|   mounted() { | |||
|     this.getFormId() | |||
|     this.getFormList() | |||
|   }, | |||
|   methods: { | |||
|     handleForm(index, item) { | |||
|       this.curIndex = index | |||
|       this.id = item.id | |||
|       this.name = item.name | |||
|       this.$parent.name = item.name | |||
|       if (item.name === '门急诊电子病历') { | |||
|         this.$parent.caseId = this.id | |||
|       } | |||
|     }, | |||
|     pushtoArray(myarr, mydata) { | |||
|       if (myarr.length === 0) { | |||
|         myarr.push(mydata) | |||
|       } else { | |||
|         let oktopush = true | |||
|         for (const ele in myarr) { | |||
|           if (myarr[ele].id === mydata.id) { | |||
|             oktopush = false | |||
|           } | |||
|         } | |||
|         if (oktopush) { | |||
|           myarr.push(mydata) | |||
|         } | |||
|       } | |||
|       return myarr | |||
|     }, | |||
|     getFormId() { | |||
|       eventBus.$off('getFormId') | |||
|       eventBus.$on('getFormId', data => { | |||
|         console.log(data) | |||
|         this.formIdList = data | |||
|         this.pushtoArray(this.formIdList, data) | |||
|         this.editForm() | |||
|       }) | |||
|     }, | |||
|     // 编辑门诊电子病历 | |||
|     async editForm() { | |||
|       const params = { | |||
|         flag: 8, | |||
|         name: this.name, | |||
|         id: this.id, | |||
|         patientId: this.patientId, | |||
|         platform: this.isSearch, | |||
|         jsonText: JSON.stringify(this.formIdList) | |||
|       } | |||
|       const { data: res } = await this.$http.post('/case/update', params) | |||
|       if (res.code === 0) { | |||
|       } else { | |||
|         this.$message.error(res.msg) | |||
|       } | |||
|     }, | |||
|     // 添加表单 | |||
|     addRecord(name) { | |||
|       this.saveTableData(name) | |||
|     }, | |||
|     async saveTableData(name) { | |||
|       const date = dateFilterTwo(this.$moment().format('L')) | |||
|       const params = { | |||
|         flag: 8, | |||
|         name: name, | |||
|         createTime: date + ' 00:00:00', | |||
|         patientId: this.patientId, | |||
|         platform: this.isSearch | |||
|       } | |||
|       const { data: res } = await this.$http.post('/case/save', params) | |||
|       if (res.code === 0) { | |||
|         this.$message.success('保存成功') | |||
|         this.getFormList() | |||
|       } else { | |||
|         this.$message.error(res.msg) | |||
|       } | |||
|     }, | |||
|     async deleteForm() { | |||
|       const params = { | |||
|         id: this.id | |||
|       } | |||
|       const { data: res } = await this.$http.post('/case/delete', params) | |||
|       if (res.code === 0) { | |||
|         this.$message.success('删除成功') | |||
|         this.getFormList() | |||
|       } else { | |||
|         this.$message.error(res.msg) | |||
|       } | |||
|     }, | |||
|     async getFormList() { | |||
|       const { data: res } = await this.$http.get('/patient/view/getCases', { | |||
|         params: { | |||
|           patientId: this.patientId, | |||
|           platform: this.isSearch, | |||
|           flag: 8 | |||
|         } | |||
|       }) | |||
|       if (res.code === 0) { | |||
|         this.formList = res.data || [] | |||
|         if (this.formList.length) { | |||
|           const first = this.formList[0] | |||
|           if (this.id === '') { | |||
|             this.handleForm(0, first) | |||
|           } | |||
|         } | |||
|       } else { | |||
|         this.$message.error(res.msg) | |||
|       } | |||
|     } | |||
|   } | |||
| } | |||
| </script> | |||
| <style lang="scss" scoped> | |||
| .callMedical { | |||
|   height: 100%; | |||
|   .text-ellipsis { | |||
|     white-space: nowrap; // 段落不换行 | |||
|     text-overflow: ellipsis; | |||
|     overflow: hidden; | |||
|   } | |||
|   .printer { | |||
|     border: 1px solid #ccc; | |||
|     width: 56px; | |||
|     height: 32px; | |||
|     border-radius: 3px; | |||
|     margin: 0; | |||
|     margin-left: 10px; | |||
|     cursor: pointer; | |||
|   } | |||
|   .archives-content { | |||
|     //display: flex; | |||
|     height: 100%; | |||
|     overflow: hidden; | |||
|     .formBox{ | |||
|       cursor: pointer; | |||
|       padding: 2px 8px; | |||
|       border-radius: 2px; | |||
|       margin-top: 12px; | |||
|     } | |||
|     .active { | |||
|       color: white; | |||
|       background-color: #1C76FD; | |||
|     } | |||
|     .curFont { | |||
|       color: #A6A4A4; | |||
|     } | |||
|     .activeFont { | |||
|       color: #D9D9D9; | |||
|     } | |||
|     .content-left { | |||
|       width: 185px; | |||
|       height: 100%; | |||
|       margin-right: 14px; | |||
|       .nodata { | |||
|         width: 175px; | |||
|         margin-top: 30px; | |||
|       } | |||
|       .content-left-top, | |||
|       .content-left-bottom { | |||
|         height: 50%; | |||
|       } | |||
|       .tree-botton-arr { | |||
|         margin-left: 10px; | |||
|       } | |||
|       .tree-date { | |||
|         padding-right: 10px; | |||
|       } | |||
|       .content-left-top { | |||
|         overflow-y: auto; | |||
|         margin-bottom: 16px; | |||
|         .CRFList-list { | |||
|           display: flex; | |||
|           justify-content: space-between; | |||
|           align-items: center; | |||
|           padding-left: 24px; | |||
|           padding-right: 16px; | |||
|           color: #000; | |||
|         } | |||
|         .CRFList-list { | |||
|           height: 40px; | |||
|           line-height: 40px; | |||
|           font-size: 14px; | |||
|           cursor: pointer; | |||
|           .el-icon-more { | |||
|             transform: rotate(90deg); | |||
|           } | |||
|         } | |||
|         .CRFList-icon:hover { | |||
|           color: #ff2929; | |||
|         } | |||
|         .CRFList-list-active { | |||
|           background-color: #1890ff; | |||
|           color: #fff; | |||
|           .el-icon-more { | |||
|             color: #fff; | |||
|           } | |||
|         } | |||
|         .button { | |||
|           margin-top: 16px; | |||
|           background: #f2f3f5; | |||
|           border-radius: 4px; | |||
|           height: 40px; | |||
|           line-height: 40px; | |||
|           text-align: center; | |||
|           cursor: pointer; | |||
|         } | |||
|         .button:hover, | |||
|         .el-icon-plus:hover { | |||
|           color: #1890ff; | |||
|         } | |||
|       } | |||
|       .content-left-bottom { | |||
|         .commonForm-text { | |||
|           display: flex; | |||
|           align-items: center; | |||
|           font-size: 14px; | |||
|           font-weight: 700; | |||
|         } | |||
|         .line { | |||
|           border-bottom: 1px solid #e5e6eb; | |||
|           flex: 1; | |||
|           display: inline-block; | |||
|           margin: 0 10px; | |||
|         } | |||
|         .comonForm-tab { | |||
|           margin-top: 10px; | |||
|         } | |||
|         .comonForm-tab-Pane { | |||
|           margin-top: 10px; | |||
|         } | |||
|         .comonForm-list { | |||
|           height: 40px; | |||
|           line-height: 40px; | |||
|           font-size: 14px; | |||
|           display: flex; | |||
|           justify-content: space-between; | |||
|           align-items: center; | |||
|           padding: 0 10px; | |||
|           cursor: pointer; | |||
|         } | |||
|         .comonForm-list:hover { | |||
|           background-color: #f4f8fb; | |||
|           color: #1d2129; | |||
|         } | |||
|         .comonForm-icon:hover { | |||
|           color: #1890ff; | |||
|           font-weight: 700; | |||
|         } | |||
|       } | |||
|     } | |||
|     .record{ | |||
|       display: flex; | |||
|       justify-content: space-between; | |||
|       padding-top: 12px; | |||
|       cursor: pointer; | |||
|       p { | |||
|         display: inline-block; | |||
|         font-size: 14px; | |||
|         color: rgba(0, 0, 0, 0.85); | |||
|         letter-spacing: 1px; | |||
|       } | |||
|       img { | |||
|         width: 16px; | |||
|         height: 16px; | |||
|         margin-top: 3px; | |||
|       } | |||
|     } | |||
|   } | |||
|   .content-right { | |||
|     padding: 12px; | |||
|     position: relative; | |||
|     flex: 1; | |||
|     text-align: center; | |||
|     background-color: #F0F2F5; | |||
|     overflow-y: hidden; | |||
|     .content-right-buttonClick { | |||
|       display: flex; | |||
|       justify-content: flex-end; | |||
|       background: #2e2e2e; | |||
|       padding: 10px; | |||
|     } | |||
|     .editor-CRF { | |||
|       height: 93%; | |||
|     } | |||
|     .content-right-CRF { | |||
|       background: #5c5c5c; | |||
|       overflow-x: auto; | |||
|       padding: 16px 16px 16px 16px; | |||
|       position: relative; | |||
|       height: 100%; | |||
|     } | |||
|     .content-right-CRF-class { | |||
|       padding-right: 178px; | |||
|     } | |||
|     .suspension-button { | |||
|       position: absolute; | |||
|       right: 10px; | |||
|       top: 10px; | |||
|       z-index: 1; | |||
|     } | |||
|     .case-template, | |||
|     .intelligent-filling { | |||
|       cursor: pointer; | |||
|       height: 140px; | |||
|       width: 32px; | |||
|       background: #fff; | |||
|       border-radius: 4px; | |||
|       display: flex; | |||
|       flex-direction: column; | |||
|       justify-content: space-around; | |||
|       align-items: center; | |||
|       box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1); | |||
|       span { | |||
|         writing-mode: vertical-rl; | |||
|         letter-spacing: 6px; | |||
|       } | |||
|     } | |||
|     .case-template:hover, | |||
|     .intelligent-filling:hover { | |||
|       background: linear-gradient(270deg, #f4f8fb 0%, #deebff 66.15%); | |||
|     } | |||
|     .case-template { | |||
|       margin-bottom: 6px; | |||
|     } | |||
|   } | |||
| } | |||
| </style> | |||
| <style lang="scss"> | |||
| .callMedical { | |||
|   .el-button .el-button--text .el-button--mini { | |||
|     padding: 0; | |||
|   } | |||
|   .tree-date { | |||
|     font-size: 14px; | |||
|     color: #ccc; | |||
|   } | |||
|   .tree-date-active { | |||
|     color: #e4e4e4; | |||
|   } | |||
|   .el-tree-node { | |||
|     margin-bottom: 6px; | |||
|   } | |||
|   .el-tree-node__content { | |||
|     margin-bottom: 4px; | |||
|     height: 35px; | |||
|     //padding-left: 0 !important; | |||
|   } | |||
|   //.tree-children { | |||
|   //  padding: 2px 0 2px 20px; | |||
|   //  position: relative; | |||
|   //} | |||
|   //.el-tree-node__expand-icon.is-leaf { | |||
|   //  display: none; | |||
|   //} | |||
|   .tree-children:hover { | |||
|     .tree-button { | |||
|       display: inline-block; | |||
|     } | |||
|   } | |||
|   .tree-button { | |||
|     position: absolute; | |||
|     bottom: 6px; | |||
|     right: 4px; | |||
|     display: none; | |||
|   } | |||
|   .tree-button-active { | |||
|     color: #fff; | |||
|   } | |||
|   .custom-tree-node { | |||
|     flex: 1; | |||
|     padding-top: 6px; | |||
|     overflow: hidden; | |||
|   } | |||
|   .tree-forname { | |||
|     white-space: nowrap; | |||
|     text-overflow: ellipsis; | |||
|     overflow: hidden; | |||
|     width: 90%; | |||
|   } | |||
|   .el-tree-node__content:hover, | |||
|   .el-upload-list__item:hover { | |||
|     background: none; | |||
|   } | |||
|   .el-icon-caret-right:before { | |||
|     color: #262626; | |||
|   } | |||
| } | |||
| .comonForm-tab { | |||
|   #tab-mz { | |||
|     padding-left: 14px !important; | |||
|   } | |||
|   .el-tabs__nav-wrap::after { | |||
|     height: 0; | |||
|   } | |||
|   .el-tabs__header { | |||
|     padding-right: 0 !important; | |||
|   } | |||
|   .el-tabs__item.is-active { | |||
|     color: #fff; | |||
|     background: #1890ff; | |||
|   } | |||
|   .el-tabs__item { | |||
|     background: #f2f3f5; | |||
|     padding: 0 14px; | |||
|     margin-left: 1px; | |||
|     height: 35px; | |||
|     line-height: 35px; | |||
|   } | |||
|   .el-tabs__content { | |||
|     padding: 0 !important; | |||
|   } | |||
| } | |||
| .see-doctor .comonForm-tab .el-tabs__item:last-child { | |||
|   padding-right: 14px !important; | |||
| } | |||
| .see-doctor .comonForm-tab .el-tabs__item:nth-child(2) { | |||
|   padding-left: 14px !important; | |||
| } | |||
| </style> | |||
					Loading…
					
					
				
		Reference in new issue