11 changed files with 480 additions and 287 deletions
			
			
		| @ -0,0 +1,106 @@ | |||
| <template> | |||
|   <el-table | |||
|     id="foreCheck" | |||
|     ref="multipleTable" | |||
|     :data="tableData" | |||
|     style="margin: 8px 8px 0 0" | |||
|     @selection-change="handleSelectionChange" | |||
|   > | |||
|     <el-table-column | |||
|       type="selection" | |||
|       width="55" | |||
|     /> | |||
|     <el-table-column | |||
|       align="center" | |||
|       label="OD" | |||
|     > | |||
|       <template slot-scope="scope"> | |||
|         <div> | |||
|           <span v-if="!scope.row.sort && scope.row.id"> | |||
|             <treeSelect v-model="scope.row.od" :options="scope.row.data" :props="treeProps" :multiple="true" :filterable="true" :check-strictly="true" :default-expand-all="true" @handleNode="handleNode(scope.$index,'od', $event)" @add="addTree(scope.row, $event)" @remove="removeTree" /> | |||
|           </span> | |||
|           <span v-if="!scope.row.sort && !scope.row.id">{{ scope.row.name }}</span> | |||
|           <span v-if="scope.row.sort === 3"> | |||
|             <span style="margin-right: 16px">视盘:视神经</span><treeSelect v-model="scope.row.od" :props="treeProps" style="display: inline-block;width: 60%" :options="scope.row.data" :multiple="true" :filterable="true" :check-strictly="true" :default-expand-all="true" @handleNode="handleNode(scope.$index,'od', $event)" @add="addTree(scope.row, $event)" /> | |||
|           </span> | |||
|           <span v-if="scope.row.sort === 4"> | |||
|             <span style="margin-right: 16px">视盘:CDR</span><treeSelect v-model="scope.row.od" :props="treeProps" style="display: inline-block;width: 60%" :options="scope.row.data" :multiple="true" :filterable="true" :check-strictly="true" :default-expand-all="true" @handleNode="handleNode(scope.$index,'od', $event)" @add="addTree(scope.row, $event)" /> | |||
|           </span> | |||
|         </div> | |||
|       </template> | |||
|     </el-table-column> | |||
|     <el-table-column | |||
|       class="move" | |||
|       align="center" | |||
|       width="120" | |||
|     > | |||
|       <template slot-scope="scope"> | |||
|         <div v-if="scope.row.sort&&!isPrint"> | |||
|           <p @click="moveHandle(scope.$index,1, scope.row.os)"><i class="el-icon-back" /></p> | |||
|           <p style="margin-top: 5px" @click="moveHandle(scope.$index,2, scope.row.od)"><i class="el-icon-back" style="transform: rotateY(180deg)" /></p> | |||
|         </div> | |||
|       </template> | |||
|     </el-table-column> | |||
|     <el-table-column | |||
|       align="center" | |||
|       label="OS" | |||
|       width="300" | |||
|     > | |||
|       <template slot-scope="scope"> | |||
|         <div> | |||
|           <span v-if="!scope.row.sort && scope.row.id"> | |||
|             <treeSelect v-model="scope.row.os" :options="scope.row.data" :props="treeProps" :multiple="true" :filterable="true" :check-strictly="true" :default-expand-all="true" @handleNode="handleNode(scope.$index,'os', $event)" @add="addTree(scope.row, $event)" /> | |||
|           </span> | |||
|           <span v-if="!scope.row.sort && !scope.row.id">{{ scope.row.name }}</span> | |||
|           <span v-if="scope.row.sort === 3"> | |||
|             <span style="margin-right: 16px">视盘:视神经</span><treeSelect v-model="scope.row.os" :props="treeProps" style="display: inline-block;width: 60%" :options="scope.row.data" :multiple="true" :filterable="true" :check-strictly="true" :default-expand-all="true" @handleNode="handleNode(scope.$index,'os', $event)" @add="addTree(scope.row, $event)" /> | |||
|           </span> | |||
|           <span v-if="scope.row.sort === 4"> | |||
|             <span style="margin-right: 16px">视盘:CDR</span><treeSelect v-model="scope.row.os" :props="treeProps" style="display: inline-block;width: 60%" :options="scope.row.data" :multiple="true" :filterable="true" :check-strictly="true" :default-expand-all="true" @handleNode="handleNode(scope.$index,'os', $event)" @add="addTree(scope.row, $event)" /> | |||
|           </span> | |||
|         </div> | |||
|       </template> | |||
|     </el-table-column> | |||
|   </el-table> | |||
| </template> | |||
| 
 | |||
| <script> | |||
| import treeSelect from '@/components/360View/itemSelect' | |||
| export default { | |||
|   name: 'AfterForm', | |||
|   components: { | |||
|     treeSelect | |||
|   }, | |||
|   props: ['tableData', 'isPrint'], | |||
|   data() { | |||
|     return { | |||
|       treeProps: { | |||
|         value: 'id', | |||
|         label: 'name', | |||
|         children: 'child' | |||
|       } | |||
|     } | |||
|   }, | |||
|   methods: { | |||
|     handleSelectionChange(val) { | |||
|       this.$emit('handleSelectionChange', val) | |||
|     }, | |||
|     moveHandle(index, type, row) { | |||
|       this.$emit('moveHandle', { index, type, row }) | |||
|     }, | |||
|     handleNode(index, type, event) { | |||
|       this.$emit('handleNode', { index, type, event }) | |||
|     }, | |||
|     addTree(item, event) { | |||
|       this.$emit('addTree', { item, event }) | |||
|     }, | |||
|     removeTree(item) { | |||
|       this.$emit('removeTree', item) | |||
|     } | |||
|   } | |||
| } | |||
| </script> | |||
| 
 | |||
| <style scoped> | |||
| 
 | |||
| </style> | |||
| @ -0,0 +1,71 @@ | |||
| <template> | |||
|   <div id="allForeForm"> | |||
|     <div class="title">病史采集</div> | |||
|     <history-form :form-data="formData" /> | |||
|     <div class="title">前段检查</div> | |||
|     <div class="fore"> | |||
|       <fore-form | |||
|         :table-data="foreData" | |||
|         :tree-props="treeProps" | |||
|         :is-print="isPrint" | |||
|       /> | |||
|     </div> | |||
|     <div class="title">后段检查</div> | |||
|     <div class="fore"> | |||
|       <after-form :is-print="isPrint" :table-data="afterData" /> | |||
|     </div> | |||
|     <div class="title">专科检查</div> | |||
|     <div class="fore"> | |||
|       <special-examine :patient-id="patientId" /> | |||
|     </div> | |||
|     <div class="title">诊断处置</div> | |||
|     <diagnosis-form :diagnosis="diagnosis" /> | |||
|   </div> | |||
| </template> | |||
| 
 | |||
| <script> | |||
| import HistoryForm from '@/components/360View/medicalRecord/outPatientRecord/historyForm.vue' | |||
| import ForeForm from '@/components/360View/medicalRecord/outPatientRecord/foreForm.vue' | |||
| import SpecialExamine from '@/components/360View/specialExamine/index.vue' | |||
| import DiagnosisForm from '@/components/360View/medicalRecord/outPatientRecord/diagnosisForm.vue' | |||
| import eventBus from '@/page-subspecialty/utils/eventBus' | |||
| import AfterForm from '@/components/360View/medicalRecord/outPatientRecord/afterForm.vue' | |||
| export default { | |||
|   name: 'AllFormPrint', | |||
|   components: { AfterForm, DiagnosisForm, SpecialExamine, ForeForm, HistoryForm }, | |||
|   props: ['formData', 'diagnosis', 'treeProps', 'patientId'], | |||
|   data() { | |||
|     return { | |||
|       foreData: [], | |||
|       afterData: [], | |||
|       isPrint: true | |||
|     } | |||
|   }, | |||
|   mounted() { | |||
|     this.initData() | |||
|   }, | |||
|   methods: { | |||
|     initData() { | |||
|       eventBus.$on('getForeData', data => { | |||
|         this.foreData = data | |||
|       }) | |||
|       eventBus.$on('getAfterData', data => { | |||
|         this.afterData = data | |||
|       }) | |||
|     } | |||
|   } | |||
| } | |||
| </script> | |||
| 
 | |||
| <style scoped> | |||
| .title{ | |||
|   text-align: center; | |||
|   margin-top: 50px; | |||
| } | |||
| #allForeForm{ | |||
|   width: 800px; | |||
| } | |||
| .fore{ | |||
|   width: calc(100% - 10px); | |||
| } | |||
| </style> | |||
| @ -0,0 +1,24 @@ | |||
| <template> | |||
|   <el-form id="formDiagnosis" :model="diagnosis" label-width="120px" style="margin-top: 32px"> | |||
|     <el-form-item label="诊断:" style="width: 540px"> | |||
|       <el-input v-model="diagnosis.zd" type="textarea" auto-complete="off" style="width: 420px" /> | |||
|     </el-form-item> | |||
|     <el-form-item label="处理:" style="width: 540px"> | |||
|       <el-input v-model="diagnosis.cl" type="textarea" auto-complete="off" style="width: 420px" /> | |||
|     </el-form-item> | |||
|     <el-form-item label="治疗意见:" style="width: 540px"> | |||
|       <el-input v-model="diagnosis.yj" type="textarea" auto-complete="off" style="width: 420px" /> | |||
|     </el-form-item> | |||
|   </el-form> | |||
| </template> | |||
| 
 | |||
| <script> | |||
| export default { | |||
|   name: 'DiagnosisForm', | |||
|   props: ['diagnosis'] | |||
| } | |||
| </script> | |||
| 
 | |||
| <style scoped> | |||
| 
 | |||
| </style> | |||
| @ -0,0 +1,154 @@ | |||
| <template> | |||
|   <el-table | |||
|     id="foreCheck" | |||
|     ref="multipleTable" | |||
|     :data="tableData" | |||
|     style="margin: 8px 8px 0 0" | |||
|     @selection-change="handleSelectionChange" | |||
|   > | |||
|     <el-table-column | |||
|       type="selection" | |||
|       width="55" | |||
|     /> | |||
|     <el-table-column | |||
|       align="center" | |||
|       label="OD" | |||
|     > | |||
|       <template slot-scope="scope"> | |||
|         <div> | |||
|           <span v-if="scope.row.sort === 1"> | |||
|             <span style="margin-right: 16px">结膜:充血</span><treeSelect v-model="scope.row.od" :props="treeProps" style="display: inline-block;width: 60%" :options="scope.row.data" :multiple="true" :filterable="true" :check-strictly="true" :default-expand-all="true" @handleNode="handleNode(scope.$index,'od', $event)" @add="addTree(scope.row, $event)" /> | |||
|           </span> | |||
|           <span v-if="scope.row.sort === 2"> | |||
|             <span style="margin-right: 16px">结膜:分泌物</span><treeSelect v-model="scope.row.od" :props="treeProps" style="display: inline-block;width: 60%" :options="scope.row.data" :multiple="true" :filterable="true" :check-strictly="true" :default-expand-all="true" @handleNode="handleNode(scope.$index,'od', $event)" @add="addTree(scope.row, $event)" /> | |||
|           </span> | |||
|           <span v-if="!scope.row.sort && scope.row.id"> | |||
|             <treeSelect v-model="scope.row.od" :options="scope.row.data" :props="treeProps" :multiple="true" :filterable="true" :check-strictly="true" :default-expand-all="true" @handleNode="handleNode(scope.$index,'od', $event)" @add="addTree(scope.row, $event)" /> | |||
|           </span> | |||
|           <span v-if="!scope.row.sort && !scope.row.id">{{ scope.row.name }}</span> | |||
|         </div> | |||
|       </template> | |||
|     </el-table-column> | |||
|     <el-table-column | |||
|       class="move" | |||
|       align="center" | |||
|       width="120" | |||
|     > | |||
|       <template slot-scope="scope"> | |||
|         <div v-if="scope.row.sort&&!isPrint"> | |||
|           <p @click="moveHandle(scope.$index,1, scope.row.os)"><i class="el-icon-back" /></p> | |||
|           <p style="margin-top: 5px" @click="moveHandle(scope.$index,2, scope.row.od)"><i class="el-icon-back" style="transform: rotateY(180deg)" /></p> | |||
|         </div> | |||
|       </template> | |||
|     </el-table-column> | |||
|     <el-table-column | |||
|       align="center" | |||
|       label="OS" | |||
|       width="300" | |||
|     > | |||
|       <template slot-scope="scope"> | |||
|         <div> | |||
|           <span v-if="scope.row.sort === 1"> | |||
|             <span style="margin-right: 16px">结膜:充血</span> | |||
|             <treeSelect | |||
|               v-model="scope.row.os" | |||
|               :props="treeProps" | |||
|               style="display: inline-block;width: 60%" | |||
|               :options="scope.row.data" | |||
|               :multiple="true" | |||
|               :filterable="true" | |||
|               :check-strictly="true" | |||
|               :default-expand-all="true" | |||
|               @handleNode="handleNode(scope.$index,'os', $event)" | |||
|               @add="addTree(scope.row, $event)" | |||
|             /> | |||
|           </span> | |||
|           <span v-if="scope.row.sort === 2"> | |||
|             <span style="margin-right: 16px">结膜:分泌物</span> | |||
|             <treeSelect | |||
|               v-model="scope.row.os" | |||
|               :props="treeProps" | |||
|               style="display: inline-block;width: 60%" | |||
|               :options="scope.row.data" | |||
|               :multiple="true" | |||
|               :filterable="true" | |||
|               :check-strictly="true" | |||
|               :default-expand-all="true" | |||
|               @handleNode="handleNode(scope.$index,'os', $event)" | |||
|               @add="addTree(scope.row, $event)" | |||
|             /> | |||
|           </span> | |||
|           <span v-if="!scope.row.sort && scope.row.id"> | |||
|             <treeSelect | |||
|               v-model="scope.row.os" | |||
|               :options="scope.row.data" | |||
|               :props="treeProps" | |||
|               :multiple="true" | |||
|               :filterable="true" | |||
|               :check-strictly="true" | |||
|               :default-expand-all="true" | |||
|               @handleNode="handleNode(scope.$index,'os', $event)" | |||
|               @add="addTree(scope.row, $event)" | |||
|             /> | |||
|           </span> | |||
|           <span v-if="!scope.row.sort && !scope.row.id">{{ scope.row.name }}</span> | |||
|         </div> | |||
|       </template> | |||
|     </el-table-column> | |||
|   </el-table> | |||
| </template> | |||
| 
 | |||
| <script> | |||
| import treeSelect from '@/components/360View/itemSelect' | |||
| export default { | |||
|   name: 'ForeForm', | |||
|   components: { | |||
|     treeSelect | |||
|   }, | |||
|   props: { | |||
|     tableData: { | |||
|       type: Array, | |||
|       default: () => [] | |||
|     }, | |||
|     isPrint: { | |||
|       type: Boolean, | |||
|       default: false | |||
|     } | |||
|   }, | |||
|   data() { | |||
|     return { | |||
|       treeProps: { | |||
|         value: 'id', | |||
|         label: 'name', | |||
|         children: 'child' | |||
|       } | |||
|     } | |||
|   }, | |||
|   methods: { | |||
|     handleSelectionChange(val) { | |||
|       this.$emit('handleSelectionChange', val) | |||
|     }, | |||
|     // 移动 | |||
|     moveHandle(index, type, row) { | |||
|       if (type === 1) { | |||
|         this.tableData[index].od = row | |||
|       } else { | |||
|         this.tableData[index].os = row | |||
|       } | |||
|     }, | |||
|     handleNode(index, type, event) { | |||
|       if (type === 'os') { | |||
|         this.tableData[index].osValue = event | |||
|       } else { | |||
|         this.tableData[index].odValue = event | |||
|       } | |||
|     }, | |||
|     addTree(item, event) { | |||
|       this.$emit('addTree', { item, event }) | |||
|     } | |||
|   } | |||
| } | |||
| </script> | |||
| 
 | |||
| <style lang="scss" scoped> | |||
| </style> | |||
| @ -0,0 +1,34 @@ | |||
| <template> | |||
|   <el-form id="medHistory" ref="form" :model="formData" label-width="120px" style="margin-top: 32px"> | |||
|     <el-form-item label="主诉:" style="width: 540px"> | |||
|       <el-input v-model="formData.zs" type="textarea" auto-complete="off" style="width: 420px" /> | |||
|     </el-form-item> | |||
|     <el-form-item label="现病史:" style="width: 540px"> | |||
|       <el-input v-model="formData.xbs" type="textarea" auto-complete="off" style="width: 420px" /> | |||
|     </el-form-item> | |||
|     <el-form-item label="既往病史:" style="width: 540px"> | |||
|       <el-input v-model="formData.jwbs" type="textarea" auto-complete="off" style="width: 420px" /> | |||
|     </el-form-item> | |||
|     <el-form-item label="过敏史:" style="width: 540px"> | |||
|       <el-input v-model="formData.gms" type="textarea" auto-complete="off" style="width: 420px" /> | |||
|     </el-form-item> | |||
|     <el-form-item label="周身其他病史:" style="width: 540px"> | |||
|       <el-input v-model="formData.zsqtbs" type="textarea" auto-complete="off" style="width: 420px" /> | |||
|     </el-form-item> | |||
|   </el-form> | |||
| </template> | |||
| 
 | |||
| <script> | |||
| export default { | |||
|   name: 'HistoryForm', | |||
|   props: { | |||
|     formData: { | |||
|       type: Object | |||
|     } | |||
|   } | |||
| } | |||
| </script> | |||
| 
 | |||
| <style scoped> | |||
| 
 | |||
| </style> | |||
					Loading…
					
					
				
		Reference in new issue