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