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