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