Browse Source

接诊统一打印完成

360view
bianyaqi 2 years ago
parent
commit
d5d3271ec2
  1. 110
      src/components/360View/afterPart/index.vue
  2. 3
      src/components/360View/collection.vue
  3. 122
      src/components/360View/forePart/index.vue
  4. 106
      src/components/360View/medicalRecord/outPatientRecord/afterForm.vue
  5. 71
      src/components/360View/medicalRecord/outPatientRecord/allFormPrint.vue
  6. 24
      src/components/360View/medicalRecord/outPatientRecord/diagnosisForm.vue
  7. 154
      src/components/360View/medicalRecord/outPatientRecord/foreForm.vue
  8. 34
      src/components/360View/medicalRecord/outPatientRecord/historyForm.vue
  9. 140
      src/components/360View/medicalRecord/outPatientRecord/index.vue
  10. 1
      src/components/360View/specialExamine/index.vue
  11. 2
      src/page-subspecialty/views/modules/optometryManagement/dioptric/index.vue

110
src/components/360View/afterPart/index.vue

@ -18,69 +18,14 @@
@node-click="templateData"
/>
</div>
<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">
<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>
<after-form
:table-data="tableData"
@handleNode="handleNode"
@addTree="addTree"
@moveHandle="moveHandle"
@handleSelectionChange="handleSelectionChange"
@removeTree="removeTree"
/>
</div>
<el-dialog :title="title" :visible.sync="dialogFormVisible">
<el-form :model="form" style="margin-top: 16px">
@ -123,9 +68,11 @@ import eventBus from '@/page-subspecialty/utils/eventBus'
import treeSelect from '@/components/360View/itemSelect'
import axios from 'axios'
import Cookies from 'js-cookie'
import AfterForm from '@/components/360View/medicalRecord/outPatientRecord/afterForm.vue'
const Base64 = require('js-base64').Base64
export default {
components: {
AfterForm,
treeSelect
},
mixins: [],
@ -244,6 +191,16 @@ export default {
treeList: []
}
},
watch: {
tableData: {
deep: true,
handler: (value) => {
if (value) {
eventBus.$emit('getAfterData', value)
}
}
}
},
created() {
},
mounted() {
@ -273,13 +230,12 @@ export default {
//
handleSelectionChange(val) {
this.multipleSelection = val
console.log(this.multipleSelection)
},
handleNode(index, type, event) {
if (type === 'os') {
this.tableData[index].osValue = event
handleNode(val) {
if (val.type === 'os') {
this.tableData[val.index].osValue = val.event
} else {
this.tableData[index].odValue = event
this.tableData[val.index].odValue = val.event
}
},
//
@ -291,7 +247,6 @@ export default {
},
// ,
queryOptions() {
console.log(12555553,this.tableData)
const treeList = []
this.tableData.forEach(item => {
if (item.type) {
@ -312,6 +267,7 @@ export default {
})
}
this.sourceData = _.cloneDeep(this.tableData) || []
eventBus.$emit('getAfterData', this.tableData)
}).catch((error) => {
console.log(error)
})
@ -333,11 +289,11 @@ export default {
}
},
//
moveHandle(index, type, row) {
if (type === 1) {
this.tableData[index].od = row
moveHandle(value) {
if (value.type === 1) {
this.tableData[value.index].od = value.row
} else {
this.tableData[index].os = row
this.tableData[value.index].os = value.row
}
},
//
@ -372,12 +328,12 @@ export default {
}
},
//
addTree(item, event) {
addTree(value) {
this.title = '新增子级'
this.addType = 1
this.form.name = ''
this.type = event.type
this.parentId = event.id
this.type = value.event.type
this.parentId = value.event.id
this.dialogFormVisible = true
},
// -
@ -468,7 +424,7 @@ export default {
this.tableData = JSON.parse(data.caseJson)
//
this.$nextTick(() => {
this.tableData.forEach(item =>{
this.tableData.forEach(item => {
this.$refs.multipleTable.toggleRowSelection(item, true)
})
})

3
src/components/360View/collection.vue

@ -84,7 +84,7 @@ export default {
remark: '',
curNode: '',
editName: '',
editMessage: '',
editMessage: '添加成功!',
disabled: false, //
addParam: {
id: '',
@ -262,7 +262,6 @@ export default {
this.deleteNode(node, data)
} else {
this.disabled = false
console.log(this.curNode)
this.editNode(node, data)
}
},

122
src/components/360View/forePart/index.vue

@ -1,13 +1,13 @@
<template>
<div class="foreBox">
<!-- <div class="btnBox">-->
<!-- <el-button v-print="'#foreCheck'" size="small">打印</el-button>-->
<!-- <el-button type="primary" size="small" @click="saveFore('2', '前段检查')">保存</el-button>-->
<!-- <el-button type="primary" size="small" @click="handleTemplate">保存为模板</el-button>-->
<!-- <div size="small" style="display:inline-block;margin-left:10px;text-align:center;width: 32px;height: 32px;background-color: #1e79ff;border-radius: 4px;vertical-align: bottom" @click="addForeData">-->
<!-- <img :src="require('@/assets/img/data.png')" alt="" style="width: 17px;height: 16px;margin-top: 5px">-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="btnBox">-->
<!-- <el-button v-print="'#foreCheck'" size="small">打印</el-button>-->
<!-- <el-button type="primary" size="small" @click="saveFore('2', '前段检查')">保存</el-button>-->
<!-- <el-button type="primary" size="small" @click="handleTemplate">保存为模板</el-button>-->
<!-- <div size="small" style="display:inline-block;margin-left:10px;text-align:center;width: 32px;height: 32px;background-color: #1e79ff;border-radius: 4px;vertical-align: bottom" @click="addForeData">-->
<!-- <img :src="require('@/assets/img/data.png')" alt="" style="width: 17px;height: 16px;margin-top: 5px">-->
<!-- </div>-->
<!-- </div>-->
<div class="moveIcon">
<p @click="moveAll(1)"><i class="el-icon-back" /></p>
<p style="margin-top: 5px" @click="moveAll(2)"><i class="el-icon-back" style="transform: rotateY(180deg)" /></p>
@ -26,69 +26,11 @@
@node-click="templateData"
/>
</div>
<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">
<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>
<fore-form
:table-data="tableData"
@handleSelectionChange="handleSelectionChange"
@addTree="addTree"
/>
</div>
<el-dialog :title="title" :visible.sync="dialogFormVisible">
<el-form :model="form" style="margin-top: 16px">
@ -127,13 +69,15 @@
<script>
import _ from 'lodash'
import eventBus from '@/page-subspecialty/utils/eventBus'
import treeSelect from '@/components/360View/itemSelect'
// import treeSelect from '@/components/360View/itemSelect'
import axios from 'axios'
import Cookies from 'js-cookie'
import ForeForm from '@/components/360View/medicalRecord/outPatientRecord/foreForm.vue'
const Base64 = require('js-base64').Base64
export default {
components: {
treeSelect
ForeForm
// treeSelect
},
mixins: [],
props: {
@ -282,6 +226,16 @@ export default {
}]
}
},
watch: {
tableData: {
deep: true,
handler: (value) => {
if (value) {
eventBus.$emit('getForeData', value)
}
}
}
},
created() {
},
mounted() {
@ -312,13 +266,6 @@ export default {
handleSelectionChange(val) {
this.multipleSelection = val
},
handleNode(index, type, event) {
if (type === 'os') {
this.tableData[index].osValue = event
} else {
this.tableData[index].odValue = event
}
},
//
addForeData() {
const data = this.multipleSelection.filter(item => {
@ -349,6 +296,7 @@ export default {
})
}
this.sourceData = _.cloneDeep(this.tableData) || []
eventBus.$emit('getForeData', this.tableData)
}).catch((error) => {
})
},
@ -368,14 +316,6 @@ export default {
})
}
},
//
moveHandle(index, type, row) {
if (type === 1) {
this.tableData[index].od = row
} else {
this.tableData[index].os = row
}
},
//
async saveFore() {
const params = {
@ -408,12 +348,10 @@ export default {
}
},
//
addTree(item, event) {
addTree() {
this.title = '新增子级'
this.addType = 1
this.form.name = ''
this.type = event.type
this.parentId = event.id
this.dialogFormVisible = true
},
// -
@ -506,7 +444,7 @@ export default {
this.tableData = JSON.parse(data.caseJson)
//
this.$nextTick(() => {
this.tableData.forEach(item =>{
this.tableData.forEach(item => {
this.$refs.multipleTable.toggleRowSelection(item, true)
})
})

106
src/components/360View/medicalRecord/outPatientRecord/afterForm.vue

@ -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>

71
src/components/360View/medicalRecord/outPatientRecord/allFormPrint.vue

@ -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>

24
src/components/360View/medicalRecord/outPatientRecord/diagnosisForm.vue

@ -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>

154
src/components/360View/medicalRecord/outPatientRecord/foreForm.vue

@ -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>

34
src/components/360View/medicalRecord/outPatientRecord/historyForm.vue

@ -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>

140
src/components/360View/medicalRecord/outPatientRecord/index.vue

@ -1,7 +1,7 @@
<template>
<div class="recordContainer">
<div v-if="onlyRead" class="btnBox">
<el-button v-print="'#foreCheck'" size="small">打印</el-button>
<el-button v-print="'#allForeForm'" size="small">打印</el-button>
<el-button type="primary" size="small" @click="handleSaveTable">保存</el-button>
<el-button v-if="comonFormActive === '2' || comonFormActive === '3'" type="primary" size="small" @click="handleTemplate">保存为模板</el-button>
<div v-if="comonFormActive === '2' || comonFormActive === '3'" size="small" style="display:inline-block;margin-left:10px;text-align:center;width: 32px;height: 32px;background-color: #1e79ff;border-radius: 4px;vertical-align: bottom" @click="addData">
@ -10,53 +10,7 @@
</div>
<el-tabs v-model="comonFormActive" type="border-card" @tab-click="handleClick">
<el-tab-pane label="病史采集" name="1">
<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-select-->
<!-- v-model="formData.gms"-->
<!-- clearable-->
<!-- filterable-->
<!-- allow-create-->
<!-- placeholder="过敏史"-->
<!-- @blur="selectZs"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in options5"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- />-->
<!-- </el-select>-->
</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-select-->
<!-- v-model="formData.zsqtbs"-->
<!-- clearable-->
<!-- filterable-->
<!-- allow-create-->
<!-- placeholder="周身其他病史"-->
<!-- @blur="selectZs"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in options5"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- />-->
<!-- </el-select>-->
</el-form-item>
</el-form>
<history-form ref="form" :form-data="formData" />
</el-tab-pane>
<el-tab-pane label="前段检查" name="2" style="height: 100%">
<forePart ref="foreParts" :patient-id="patientId" />
@ -68,74 +22,32 @@
<specialExamine ref="examines" :patient-id="patientId" />
</el-tab-pane>
<el-tab-pane label="诊断处置" name="5">
<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-select-->
<!-- v-model="diagnosis.zd"-->
<!-- clearable-->
<!-- filterable-->
<!-- allow-create-->
<!-- placeholder="诊断"-->
<!-- @blur="selectZs"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in options5"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- />-->
<!-- </el-select>-->
</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-select-->
<!-- v-model="diagnosis.cl"-->
<!-- clearable-->
<!-- filterable-->
<!-- allow-create-->
<!-- placeholder="处理"-->
<!-- @blur="selectZs"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in options5"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- />-->
<!-- </el-select>-->
</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-select-->
<!-- v-model="diagnosis.yj"-->
<!-- clearable-->
<!-- filterable-->
<!-- allow-create-->
<!-- placeholder="治疗意见"-->
<!-- @blur="selectZs"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in options5"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- />-->
<!-- </el-select>-->
</el-form-item>
</el-form>
<diagnosis-form :diagnosis="diagnosis" />
</el-tab-pane>
</el-tabs>
<all-form-print
:patient-id="patientId"
:diagnosis="diagnosis"
:form-data="formData"
:fore-data="foreData"
:tree-props="treeProps"
/>
</div>
</template>
<script>
import forePart from '@/components/360View/forePart'
import afterPart from '@/components/360View/afterPart'
import specialExamine from '@/components/360View/specialExamine'
import HistoryForm from '@/components/360View/medicalRecord/outPatientRecord/historyForm.vue'
import AllFormPrint from '@/components/360View/medicalRecord/outPatientRecord/allFormPrint.vue'
import DiagnosisForm from '@/components/360View/medicalRecord/outPatientRecord/diagnosisForm.vue'
const Base64 = require('js-base64').Base64
export default {
components: {
DiagnosisForm,
AllFormPrint,
HistoryForm,
forePart,
afterPart,
specialExamine
@ -178,8 +90,13 @@ export default {
comonFormActive: '1'
}
},
created() {
computed: {
foreData() {
return this.$refs.foreParts && this.$refs.foreParts.tableData
},
treeProps() {
return this.$refs.foreParts && this.$refs.foreParts.treeProps
}
},
mounted() {
this.getOutPatientList('1')
@ -280,14 +197,6 @@ export default {
this.$message.error(res.msg)
}
},
//
printerHandle() {
console.log(this)
// this.$print(this.$refs.formDiagnosis)
// this.printPage('formDiagnosis')
this.printPage('medHistory')
// this.$refs.formDiagnosis.$el.contentWindow.print()
},
// tab
handleClick() {
}
@ -299,7 +208,8 @@ export default {
width: 100%;
height: 100%;
position: relative;
overflow: hidden;
overflow-y: scroll;
.btnBox{
text-align: right;
position: absolute;

1
src/components/360View/specialExamine/index.vue

@ -137,6 +137,7 @@ import treeSelect from '@/components/360View/itemSelect'
const Base64 = require('js-base64').Base64
export default {
name: 'SpecialExamine',
components: {
treeSelect
},

2
src/page-subspecialty/views/modules/optometryManagement/dioptric/index.vue

@ -112,7 +112,7 @@
<!-- HIS引入弹框 -->
<his-add v-if="HisAddVisible" ref="HisAddRef" :is-search="'3'" />
<!-- 详情页 -->
<detail-view v-if="detailViewVisible" ref="viewRef" :is-search="'3'" :patient-id="patientId" :patient-id-number="patientIdNumber" @detailViewVisible="detailViewVisible=false" />
<detail-view v-if="detailViewVisible" ref="viewRef" platform="3" :is-search="'3'" :patient-id="patientId" :patient-id-number="patientIdNumber" @detailViewVisible="detailViewVisible=false" />
</div>
</template>
<script>

Loading…
Cancel
Save