Browse Source

peter

360view
newPeter7 2 years ago
parent
commit
bed2ee9ace
  1. 753
      src/components/360View/afterPart/index-copy.vue
  2. 37
      src/components/360View/commonForm/deveopmentFIle-copy.vue
  3. 56
      src/components/360View/commonForm/optometryForm-copy.vue
  4. 217
      src/components/360View/forePart/index-copy.vue
  5. 204
      src/components/360View/index.vue
  6. 3
      src/components/360View/medicalRecord/index.vue
  7. 150
      src/components/360View/medicalRecord/outPatientRecord/afterForm-copy.vue
  8. 4
      src/components/360View/medicalRecord/outPatientRecord/diagnosisForm.vue
  9. 8
      src/components/360View/medicalRecord/outPatientRecord/historyForm.vue
  10. 156
      src/components/360View/medicalRecord/outPatientRecord/index.vue
  11. 3
      src/page-subspecialty/views/modules/optometryManagement/dioptric/index.vue
  12. 3
      src/page-subspecialty/views/modules/outpatientManagement/call/index.vue
  13. 3
      src/page-subspecialty/views/modules/outpatientManagement/treat/index.vue

753
src/components/360View/afterPart/index-copy.vue

@ -0,0 +1,753 @@
<template>
<div class="afterBox">
<div class="moveIcon" v-if="!onlyRead">
<p @click="moveAll(1)"><i style="font-size: 20px" class="el-icon-back" /></p>
<p style="margin-top: 5px" @click="moveAll(2)"><i class="el-icon-back" style="transform: rotateY(180deg);font-size: 20px" /></p>
</div>
<div style="display: flex;margin-top: 32px">
<div style="width: 200px;padding-right: 8px;text-align: left;overflow-x: auto">
<p style="font-weight: bold;margin-bottom: 12px;text-align: left">描述项模板</p>
<el-button v-if="!treeCaseList.length && !onlyRead" type="primary" size="small" @click="append(1)">+新增</el-button>
<el-tree
ref="tree"
:data="treeCaseList"
:props="treeProps"
:default-expand-all="true"
:expand-on-click-node="false"
node-key="id"
highlight-current
@node-click="templateData"
>
<span slot-scope="{ node, data }" class="custom-tree-node">
<span style="display: inline-block;min-width: 80px">
<span>{{ node.label }}</span>
</span>
<span>
<el-button v-if="!data.treeId && !onlyRead" icon="el-icon-plus" style="font-size: 12px;color: #409EFF" type="text" @click.stop="append(2, data)" />
<el-button v-if="!onlyRead" icon="el-icon-delete" style="font-size: 12px;color: #F56C6C" type="text" @click.stop="remove(node, data)" />
</span>
</span>
</el-tree>
</div>
<after-form
:only-read="onlyRead"
ref="afterForm"
:data-form="dataForm"
:table-data="tableData"
@selection="selection"
@moveHandle="moveHandle"
@handleNode="handleNode"
@addTree="addTree"
@removeTree="removeTree"
/>
</div>
<el-dialog :title="title" :visible.sync="dialogFormVisible" width="40%">
<el-form :model="form" style="margin-top: 16px">
<el-form-item label="名称:" label-width="120px">
<el-input v-model="form.name" auto-complete="off" style="width: 300px" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false"> </el-button>
<el-button type="primary" @click="handSaveBtn"> </el-button>
</div>
</el-dialog>
<el-dialog title="新建模板" :visible.sync="templateFlag" width="40%">
<el-form :model="form" style="margin-top: 16px">
<el-form-item label="名称:" label-width="120px">
<el-input v-model="form.name" auto-complete="off" style="width: 300px" />
</el-form-item>
<el-form-item label="目录:" label-width="120px">
<el-tree
ref="tree"
:data="treeTemplate"
:props="treeProps"
:default-expand-all="true"
:expand-on-click-node="false"
node-key="id"
highlight-current
@node-click="templateNodeClick"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="templateFlag = false"> </el-button>
<el-button type="primary" @click="saveTreeTemplete"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
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-copy.vue'
export default {
components: {
AfterForm,
treeSelect
},
mixins: [],
props: {
patientIdNumber: {
type: String,
default: ''
},
patientId: {
type: String,
default: ''
},
isSearch: {
type: String,
default: ''
},
caseId: {
type: String,
default: ''
},
onlyRead: {
type: Boolean,
default: false
}
},
inject: ['refresh'],
data() {
return {
userData: {},
title: '',
addType: '',
sourceData: [],
treeCaseList: [],
treeTemplate: [],
treeProps: {
value: 'id',
label: 'name',
children: 'child'
},
type: '',
doctorId: '',
deleteId: '',
treeFlag: '',
treeId: '',
treeName: '',
weight: '',
parentId: 0,
collectId: '',
form: {
name: ''
},
multipleSelection: [],
templateFlag: false,
dialogFormVisible: false,
dataForm: {
id: '',
caseId: '',
patientId: '',
bltOd: '', // vitreous
bltOs: '', // vitreous
byOd: '', // periphery
byOs: '', // periphery
hbOd: '', //
hbOs: '', //
hmOd: '', //
hmOs: '', //
mlmOd: '', //
mlmOs: '', //
spCrdOd: '', // CDR
spCrdOs: '', // CDR
spSsjOd: '', //
spSsjOs: '', //
swmOd: '', //
swmOs: '', //
xgOd: '', //
xgOs: '' //
},
tableData: [
{
name: '黄斑'
}, {
name: '黄斑',
sort: 99,
id: 14,
type: 'hangman',
od: '',
os: ''
}, {
name: '视盘'
}, {
name: '视盘',
id: 15,
sort: 3,
type: 'shipman',
od: '',
os: ''
}, {
name: '视盘',
id: 16,
sort: 4,
type: 'shipman',
od: '',
os: ''
}, {
name: '视网膜'
}, {
name: '视网膜',
sort: 99,
id: 17,
type: 'showing',
od: '',
os: ''
}, {
name: '脉络膜'
}, {
name: '脉络膜',
sort: 99,
id: 18,
type: 'mailbomb',
od: '',
os: ''
}, {
name: '玻璃体 vitreous'
}, {
name: '玻璃体 vitreous',
sort: 99,
id: 19,
type: 'blit',
od: '',
os: ''
}, {
name: '血管'
}, {
name: '血管',
sort: 99,
id: 20,
type: 'began',
od: '',
os: ''
}, {
name: '巩膜'
}, {
name: '巩膜',
sort: 99,
id: 21,
type: 'gong',
od: '',
os: ''
}, {
name: '边缘 periphery'
}, {
name: '边缘 periphery',
sort: 99,
id: 22,
type: 'banyan',
od: '',
os: ''
}],
treeList: []
}
},
watch: {
tableData: {
deep: true,
handler: (value) => {
if (value) {
eventBus.$emit('getAfterData', value)
}
}
},
caseId: {
handler: function(newV, oldV) {
this.getforeList().then(() => {
// this.queryOptions()
})
}
}
},
created() {
},
mounted() {
this.userData = JSON.parse(window.localStorage.getItem('qg-userData'))
this.doctorId = this.userData.id
this.queryOptions()
this.getforeList()
this.queryTreeCase()
},
methods: {
async getforeList() {
const { data: res } = await this.$http.get('/mjz/getMjzHdjcInfo', {
params: {
caseId: this.caseId,
patientId: this.patientId
}
})
if (res.code === 0) {
if (res.data) {
this.dataForm = res.data
this.handleData(this.dataForm)
}
} else {
this.$message.error(res.msg)
}
},
handleData(data) {
for (const aKey in data) {
if (aKey !== 'caseId' && aKey !== 'id' && aKey !== 'patientId') {
if (data[aKey]) {
data[aKey] = data[aKey].split(',')
}
}
}
},
//
selection(value) {
if (!value.val.id) {
const data = this.tableData.filter(item => item.name === value.val.name)
if (value.val.flag) {
data.forEach(row => {
row.flag = false
this.$refs.afterForm.$refs.multipleTable.toggleRowSelection(row, false)
})
} else {
data.forEach(row => {
row.flag = true
this.$refs.afterForm.$refs.multipleTable.toggleRowSelection(row, true)
})
}
} else {
const data = this.tableData.filter(item => item.id === value.val.id)
if (value.val.flag) {
data.forEach(row => {
row.flag = false
})
} else {
data.forEach(row => {
row.flag = true
})
}
}
},
// label
handleNode(val) {
if (val.type === 'os') {
this.tableData[val.index].osValue = val.event
} else {
this.tableData[val.index].odValue = val.event
}
},
//
addAfterData() {
const selectData = this.tableData.filter(item => item.flag === true)
if (!selectData.length) return this.$message.warning('请勾选数据!')
const data = selectData.filter(item => {
return item.type !== undefined
})
eventBus.$emit('sendForData', data)
},
// ,
queryOptions() {
const treeList = []
this.tableData.forEach(item => {
item.flag = false
if (item.type) {
const p = this.queryTree(item.type)
treeList.push(p)
}
})
Promise.all(treeList).then((result) => {
if (result.length) {
result.forEach(item => {
item.forEach(row => {
this.tableData.forEach(e => {
if (e.type === row.type) {
e.data = item
const sort = e.sort
if (sort === 3 || sort === 4 || sort === 99) {
e.sort = ''
this.$nextTick(() => {
e.sort = sort
})
}
}
})
})
})
}
this.sourceData = Object.assign([], this.tableData)
eventBus.$emit('getAfterData', this.tableData)
}).catch((error) => {
console.log(error)
})
},
//
moveAll(type) {
if (type === 1) {
this.tableData.forEach(item => {
if (item.sort) {
item.od = item.os
item.odValue = item.osValue
const sort = item.sort
item.sort = ''
this.$nextTick(() => {
item.sort = sort
})
}
})
} else {
this.tableData.forEach(item => {
if (item.sort) {
item.os = item.od
item.osValue = item.odValue
const sort = item.sort
item.sort = ''
this.$nextTick(() => {
item.sort = sort
})
}
})
}
},
//
moveHandle(val) {
if (val.row.id) {
if (val.type === 1) {
this.tableData[val.index].od = val.row.os
this.tableData[val.index].odValue = val.row.osValue
} else {
this.tableData[val.index].os = val.row.od
this.tableData[val.index].osValue = val.row.odValue
}
const sort = this.tableData[val.index].sort
this.tableData[val.index].sort = ''
this.$nextTick(() => {
this.tableData[val.index].sort = sort
})
} else {
if (val.type === 1) {
this.tableData.forEach(item => {
if (item.name === val.row.name) {
item.od = item.os
item.odValue = item.osValue
const sort = item.sort
item.sort = ''
this.$nextTick(() => {
item.sort = sort
})
}
})
} else {
this.tableData.forEach(item => {
if (item.name === val.row.name) {
item.os = item.od
item.osValue = item.odValue
const sort = item.sort
item.sort = ''
this.$nextTick(() => {
item.sort = sort
})
}
})
}
}
},
//
async saveAfter() {
for (const resKey in this.dataForm) {
if (Array.isArray(this.dataForm[resKey])) {
this.dataForm[resKey] = this.dataForm[resKey].join(',')
}
}
const { data: res } = await this.$http.post('/mjz/saveMjzHdjc', this.dataForm)
if (res.code === 0) {
await this.getforeList()
} else {
this.$message.error(res.msg)
}
},
handSaveBtn() {
if (this.addType === 1) {
this.handleSaveTree()
} else {
this.handleSaveCase()
}
},
//
addTree(val) {
this.title = '新增子级'
this.addType = 1
this.form.name = ''
this.type = val.event.type
this.parentId = val.event.id
this.treeFlag = val.event.flag
this.dialogFormVisible = true
},
// -
async handleSaveTree() {
const params = {
doctorId: this.doctorId,
name: this.form.name,
flag: this.treeFlag, // 1,2
type: this.type,
parentId: this.parentId,
platform: this.isSearch
}
const { data: res } = await this.$http.post('/treetag/addTree', params)
if (res.code === 0) {
this.dialogFormVisible = false
this.updataList()
this.$message.success('保存成功')
} else {
this.$message.error(res.msg)
}
},
//
removeTree(item) {
this.type = item.type
this.deleteId = item.id
this.$confirm('确定删除该节点?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.handleRemove()
}).catch(() => {
})
},
async handleRemove() {
const params = {
id: this.deleteId
}
const { data: res } = await this.$http.post('/treetag/deleteTree', params)
if (res.code === 0) {
this.$message.success('删除成功')
this.updataList()
} else {
this.$message.error(res.msg)
}
},
//
updataList() {
this.queryTree(this.type).then((res) => {
this.tableData.forEach(item => {
if (item.type === this.type) {
const sort = item.sort
item.sort = ''
this.$nextTick(() => {
item.sort = sort
})
item.data = res
}
})
})
},
queryTree(type) {
const baseUrl = window.SITE_CONFIG['apiURL'] + '/treetag/findTree'
return new Promise((resolve, reject) => {
axios.defaults.headers.common['token'] = Cookies.get('xa-token') || ''
axios.get(baseUrl, {
params: {
doctorId: this.doctorId,
type: type,
platform: this.isSearch
}
}).then(res => {
if (res.data.code === 0) {
const data = res.data
resolve(data.data)
}
})
.catch(error => {
reject(error)
})
})
},
//
templateData(data, node) {
if (data && data.caseJson) {
this.tableData = JSON.parse(data.caseJson)
//
this.$nextTick(() => {
this.tableData.forEach(item => {
if (item.flag) {
this.$refs.multipleTable.toggleRowSelection(item, true)
}
})
})
} else {
this.tableData = Object.assign([], this.sourceData)
}
},
//
handleTemplate() {
this.form.name = ''
this.queryTemplate()
this.templateFlag = true
},
//
templateNodeClick(node) {
this.treeId = node.id
},
//
async saveTreeTemplete() {
if (!this.treeId) return this.$message.warning('请选择节点!')
const params = {
caseJson: JSON.stringify(this.tableData),
doctorId: this.doctorId,
name: this.form.name,
type: 3, // 2 3
treeId: this.treeId
}
const { data: res } = await this.$http.post('/treetemplate/addTreeCase', params)
if (res.code === 0) {
this.templateFlag = false
await this.queryTreeCase()
this.$message.success('保存成功')
} else {
this.$message.error(res.msg)
}
},
//
append(type, data) {
this.addType = 2
this.form.name = ''
type === 1 ? this.title = '新增父级' : this.title = '新增子级'
type === 1 ? this.parentId = 0 : this.parentId = data.id
this.dialogFormVisible = true
},
//
async handleSaveCase() {
const params = {
doctorId: this.doctorId,
name: this.form.name,
weight: this.weight,
parentId: this.parentId,
platform: this.isSearch
}
const { data: res } = await this.$http.post('/treetemplate/addTree', params)
if (res.code === 0) {
this.dialogFormVisible = false
this.queryTreeCase()
this.$message.success('保存成功')
} else {
this.$message.error(res.msg)
}
},
// /
remove(node, data) {
this.deleteId = data.id
let url = ''
if (data.type) {
//
url = '/treetemplate/deleteTreeCase'
} else {
//
url = '/treetemplate/deleteTree'
}
this.$confirm('确定删除该节点?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.removeTemplate(url)
}).catch(() => {
})
},
// /
async removeTemplate(url) {
const params = {
id: this.deleteId
}
const { data: res } = await this.$http.post(url, params)
if (res.code === 0) {
this.$message.success('删除成功')
await this.queryTreeCase()
await this.getforeList('3')
} else {
this.$message.error(res.msg)
}
},
//
async queryTemplate() {
const { data: res } = await this.$http.get('/treetemplate/findTree', {
params: {
platform: this.isSearch,
doctorId: this.doctorId
}
})
if (res.code === 0) {
this.treeTemplate = res.data
} else {
this.$message.error(res.msg)
}
},
// 使child
fn(data) {
data.forEach((item, i) => {
if (item.list && item.list.length) {
item.child = item.child.concat(item.list)
//
}
if (item.child) {
this.fn(item.child)
}
})
return data
},
//
async queryTreeCase() {
const { data: res } = await this.$http.get('/treetemplate/findTreeCase', {
params: {
type: 3, // 2 3
platform: this.isSearch,
doctorId: this.doctorId
}
})
if (res.code === 0) {
this.treeCaseList = this.fn(res.data)
} else {
this.$message.error(res.msg)
}
}
}
}
</script>
<style lang="scss" scoped>
.afterBox{
width: 100%;
height: 100%;
//padding: 16px;
box-sizing: border-box;
overflow-y: auto;
position: relative;
.btnBox{
position: fixed;
right: 84px;
text-align: right;
margin-right: 16px;
background-color: white;
z-index: 999;
}
.moveIcon{
position: absolute;
left: calc(50% + 112px);
top: 40px;
z-index: 9;
}
.custom-tree-node{
width: 100%;
}
}
</style>
<style lang="scss">
.afterBox{
.el-form-item__content{
text-align: left;
}
.el-tree-node>.el-tree-node__children{
overflow-x: auto;
}
}
</style>

37
src/components/360View/commonForm/deveopmentFIle-copy.vue

@ -1,11 +1,11 @@
<template>
<div id="operation-record" style=" background: #fff; padding: 10px 20px 50px 20px;page-break-after:always">
<div v-if="!onlyRead" class="btnBox">
<el-button v-print="printObj" size="small" @click="handleSaveTable">打印</el-button>
<el-button v-print="printObj" size="small">打印</el-button>
<el-button type="primary" size="small" @click="handleSaveTable">保存</el-button>
<el-button type="danger" size="small" @click="handleDelete">删除</el-button>
</div>
<div id="development" style="width: 840px;padding-right: 8px">
<div id="threeFunc" style="width: 840px;padding-right: 8px">
<div class="flex j-c">
<img width="450" src="@/assets/img/xianganlogo.png">
</div>
@ -321,10 +321,11 @@ export default {
data() {
return {
printObj: {
id: 'development',
id: 'threeFunc',
extraHead: '<meta http-equiv="Content-Language"content="zh-cn"/>,<style>  #printId { width: 100%; !important; } .el-input__prefix { display: none } <style>'
},
dataForm: {
id: '',
patientId: '',
patientName: '',
patientSex: '',
@ -511,6 +512,8 @@ export default {
}
},
mounted() {
// this.originTableData = JSON.parse(JSON.stringify(this.tableData))
// this.originHeadData = JSON.parse(JSON.stringify(this.headData))
this.getPatientData()
},
methods: {
@ -604,8 +607,11 @@ export default {
}
}
},
handlePrint() {
this.printPage('threeFunc')
},
handleSaveTable() {
this.$http.post('/qgfyda/saveQgfyda', { caseId: this.caseId, ...this.dataForm }).then(({ data: res }) => {
this.$http.post('/qgfyda/saveQgfyda', this.dataForm).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
@ -623,16 +629,7 @@ export default {
}
</script>
<style lang="scss">
#development {
.el-table__cell{
padding: 7px 0 !important;
}
.el-input__inner {
border: none;
height: 26px !important;
line-height: 26px !important;
text-align: center;
}
#threeFunc {
.el-input__suffix, .el-input__prefix {
display: none;
}
@ -654,6 +651,12 @@ export default {
justify-content: center;
}
.operation-record-table{
.el-input__inner {
border: none;
height: 26px !important;
line-height: 26px !important;
text-align: center;
}
.el-input-group__append, .el-input-group__prepend{
background-color: transparent;
color: #606266;
@ -687,6 +690,12 @@ export default {
color: #46a1ff;
font-weight: 400;
}
.el-input__inner {
border: none;
height: 26px !important;
line-height: 26px !important;
text-align: center;
}
.el-input__inner {
border-bottom: 1px solid #ccc;
border-radius: 0;

56
src/components/360View/commonForm/optometryForm-copy.vue

@ -1,11 +1,11 @@
<template>
<div id="operation-record" style=" background: #fff; padding: 10px 20px 50px 20px;page-break-after:always">
<div v-if="!onlyRead" class="btnBox">
<el-button v-print="print" size="small" @click="handleSaveTable">打印</el-button>
<el-button v-print="print" size="small">打印</el-button>
<el-button type="primary" size="small" @click="handleSaveTable">保存</el-button>
<el-button type="danger" size="small" @click="handleDelete">删除</el-button>
</div>
<div id="optomeFunc" style="width: 840px;padding-right: 8px" class="printBox optomeFunc">
<div id="optomeFunc" style="width: 840px;padding-right: 8px" class="printBox">
<div class="flex j-c" style="padding-bottom: 8px">
<img width="320" src="@/assets/img/xianganlogo.png">
</div>
@ -542,7 +542,7 @@ export default {
},
mounted() {
this.queryForm()
this.initWebSoket()
// this.initWebSoket()
this.getPatientData()
},
methods: {
@ -577,7 +577,6 @@ export default {
this.dataForm.slOd = data.length ? data[0].odVag : ''
this.dataForm.slOs = data.length ? data[0].osVag : ''
}
console.log(this.dataForm)
},
copyData() {
this.dataForm.zzcfDsOd = this.dataForm.ygjcDsOd
@ -674,7 +673,7 @@ export default {
initWebSoket() {
// wss://127.0.0.1:8030/data
// const url = 'ws://47.110.224.240:8036/xiangan-crf/websocket/0071'
// const url = 'ws://192.168.0.167:8036/xiangan-crf/websocket/0071'
// const url = 'ws://192.168.0.167:8036/xiangan-crf/websocket/0071'/
const url = 'ws://127.0.0.1:8030/data'
const self = this
this.ws = new WebSocket(url)
@ -695,21 +694,16 @@ export default {
// const data = JSON.parse(msg.data)
// const message = JSON.parse(data.msgTxt)
console.log(message)
self.tableData.forEach(item => {
if (item.name == '3') {
item.a = message.RData.DS
item.b = message.RData.DC
item.c = message.RData.AXIS
item.d = message.RData.VA
item.e = message.RData.ADD
} else if (item.name == '4') {
item.a = message.LData.DS
item.b = message.LData.DC
item.c = message.LData.AXIS
item.d = message.LData.VA
item.e = message.LData.ADD
}
})
self.dataForm.ygjcDsOd = message.RData.DS
self.dataForm.ygjcDcOd = message.RData.DC
self.dataForm.ygjcAOd = message.RData.AXIS
self.dataForm.ygjcVaOd = message.RData.VA
self.dataForm.ygjcAddOd = message.RData.ADD
self.dataForm.ygjcDsOs = message.LData.DS
self.dataForm.ygjcDcOs = message.LData.DC
self.dataForm.ygjcAOs = message.LData.AXIS
self.dataForm.ygjcVaOs = message.LData.VA
self.dataForm.ygjcAddOs = message.LData.ADD
self.resetHeart()
}
},
@ -835,18 +829,6 @@ export default {
.printBox{
page-break-inside: avoid !important;
}
.optomeFunc{
.el-input__inner {
font-size: 16px;
border: none;
height: 26px !important;
line-height: 26px !important;
text-align: center;
border-bottom: 1px solid #8e8c8c;
border-radius: 0;
padding: 0;
}
}
#operation-record {
height: 100%;
overflow: auto;
@ -933,6 +915,16 @@ export default {
width: 180px;
}
}
.el-input__inner {
font-size: 16px;
border: none;
height: 26px !important;
line-height: 26px !important;
text-align: center;
border-bottom: 1px solid #8e8c8c;
border-radius: 0;
padding: 0;
}
.el-textarea__inner{
border: none;
}

217
src/components/360View/forePart/index-copy.vue

@ -80,7 +80,7 @@
@remove="removeTree"
/>
</span>
<span v-if="scope.row.name === '眼睑'">
<span v-if="scope.row.name === '眼睑' && scope.row.id">
<treeSelect
v-model="dataForm.yanjOd"
:only-read="onlyRead"
@ -95,9 +95,9 @@
@remove="removeTree"
/>
</span>
<span v-if="scope.row.name === '泪器'">
<span v-if="scope.row.name === '泪器' && scope.row.id">
<treeSelect
v-model="dataForm.leiQOd"
v-model="dataForm.leiqOd"
:only-read="onlyRead"
:options="scope.row.data"
:props="treeProps"
@ -110,7 +110,7 @@
@remove="removeTree"
/>
</span>
<span v-if="scope.row.name === '角膜'">
<span v-if="scope.row.name === '角膜' && scope.row.id">
<treeSelect
v-model="dataForm.jiaomOd"
:only-read="onlyRead"
@ -125,7 +125,7 @@
@remove="removeTree"
/>
</span>
<span v-if="scope.row.name === '前房'">
<span v-if="scope.row.name === '前房' && scope.row.id">
<treeSelect
v-model="dataForm.qianfOd"
:only-read="onlyRead"
@ -140,7 +140,7 @@
@remove="removeTree"
/>
</span>
<span v-if="scope.row.name === '虹膜'">
<span v-if="scope.row.name === '虹膜' && scope.row.id">
<treeSelect
v-model="dataForm.hongmOd"
:only-read="onlyRead"
@ -155,7 +155,7 @@
@remove="removeTree"
/>
</span>
<span v-if="scope.row.name === '瞳孔'">
<span v-if="scope.row.name === '瞳孔' && scope.row.id">
<treeSelect
v-model="dataForm.tongkOd"
:only-read="onlyRead"
@ -170,7 +170,7 @@
@remove="removeTree"
/>
</span>
<span v-if="scope.row.name === '晶状体'">
<span v-if="scope.row.name === '晶状体' && scope.row.id">
<treeSelect
v-model="dataForm.jingztOd"
:only-read="onlyRead"
@ -185,7 +185,7 @@
@remove="removeTree"
/>
</span>
<span v-if="scope.row.name === '睫状体'">
<span v-if="scope.row.name === '睫状体' && scope.row.id">
<treeSelect
v-model="dataForm.jieztOd"
:only-read="onlyRead"
@ -200,7 +200,7 @@
@remove="removeTree"
/>
</span>
<span v-if="scope.row.name === '眼位'">
<span v-if="scope.row.name === '眼位' && scope.row.id">
<treeSelect
v-model="dataForm.yanwOd"
:only-read="onlyRead"
@ -215,7 +215,7 @@
@remove="removeTree"
/>
</span>
<span v-if="scope.row.name === '眼眶'">
<span v-if="scope.row.name === '眼眶' && scope.row.id">
<treeSelect
v-model="dataForm.yankOd"
:only-read="onlyRead"
@ -230,7 +230,7 @@
@remove="removeTree"
/>
</span>
<span v-if="scope.row.name === '眼球运动'">
<span v-if="scope.row.name === '眼球运动' && scope.row.id">
<treeSelect
v-model="dataForm.yanqydOd"
:only-read="onlyRead"
@ -269,7 +269,7 @@
<div>
<span v-if="scope.row.sort === 1">
<span style="margin-right: 16px">结膜充血</span><treeSelect
v-model="scope.row.os"
v-model="dataForm.jiemCxOs"
:only-read="onlyRead"
:props="treeProps"
style="display: inline-block;"
@ -285,7 +285,7 @@
</span>
<span v-if="scope.row.sort === 2">
<p style="margin:0 16px 6px 0">结膜分泌物</p><treeSelect
v-model="scope.row.os"
v-model="dataForm.jiemFmwOs"
:only-read="onlyRead"
:props="treeProps"
style="display: inline-block;"
@ -299,9 +299,9 @@
@remove="removeTree"
/>
</span>
<span v-if="scope.row.sort === 99">
<span v-if="scope.row.name === '眼睑' && scope.row.id">
<treeSelect
v-model="scope.row.os"
v-model="dataForm.yanjOs"
:only-read="onlyRead"
:options="scope.row.data"
:props="treeProps"
@ -314,6 +314,171 @@
@remove="removeTree"
/>
</span>
<span v-if="scope.row.name === '泪器' && scope.row.id">
<treeSelect
v-model="dataForm.leiqOs"
:only-read="onlyRead"
: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)"
@remove="removeTree"
/>
</span>
<span v-if="scope.row.name === '角膜' && scope.row.id">
<treeSelect
v-model="dataForm.jiaomOs"
:only-read="onlyRead"
: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)"
@remove="removeTree"
/>
</span>
<span v-if="scope.row.name === '前房' && scope.row.id">
<treeSelect
v-model="dataForm.qianfOs"
:only-read="onlyRead"
: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)"
@remove="removeTree"
/>
</span>
<span v-if="scope.row.name === '虹膜' && scope.row.id">
<treeSelect
v-model="dataForm.hongmOs"
:only-read="onlyRead"
: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)"
@remove="removeTree"
/>
</span>
<span v-if="scope.row.name === '瞳孔' && scope.row.id">
<treeSelect
v-model="dataForm.tongkOs"
:only-read="onlyRead"
: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)"
@remove="removeTree"
/>
</span>
<span v-if="scope.row.name === '晶状体' && scope.row.id">
<treeSelect
v-model="dataForm.jingztOs"
:only-read="onlyRead"
: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)"
@remove="removeTree"
/>
</span>
<span v-if="scope.row.name === '睫状体' && scope.row.id">
<treeSelect
v-model="dataForm.jieztOs"
:only-read="onlyRead"
: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)"
@remove="removeTree"
/>
</span>
<span v-if="scope.row.name === '眼位' && scope.row.id">
<treeSelect
v-model="dataForm.yanwOs"
:only-read="onlyRead"
: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)"
@remove="removeTree"
/>
</span>
<span v-if="scope.row.name === '眼眶' && scope.row.id">
<treeSelect
v-model="dataForm.yankOs"
:only-read="onlyRead"
: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)"
@remove="removeTree"
/>
</span>
<span v-if="scope.row.name === '眼球运动' && scope.row.id">
<treeSelect
v-model="dataForm.yanqydOs"
:only-read="onlyRead"
: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)"
@remove="removeTree"
/>
</span>
<!-- <span v-if="scope.row.sort === 99">-->
<!-- <treeSelect-->
<!-- v-model="scope.row.os"-->
<!-- :only-read="onlyRead"-->
<!-- :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)"-->
<!-- @remove="removeTree"-->
<!-- />-->
<!-- </span>-->
<span v-if="!scope.row.sort && !scope.row.id">{{ scope.row.name }}</span>
</div>
</template>
@ -435,8 +600,8 @@ export default {
jieztOs: '', //
jingztOd: '', //
jingztOs: '', //
leiQOd: '', //
leiQOs: '', //
leiqOd: '', //
leiqOs: '', //
qianfOd: '', //
qianfOs: '', //
tongkOd: '', //
@ -608,11 +773,21 @@ export default {
if (res.code === 0) {
if (res.data) {
this.dataForm = res.data
this.handleData(this.dataForm)
}
} else {
this.$message.error(res.msg)
}
},
handleData(data) {
for (const aKey in data) {
if (aKey !== 'caseId' && aKey !== 'id' && aKey !== 'patientId') {
if (data[aKey]) {
data[aKey] = data[aKey].split(',')
}
}
}
},
//
selection(selection, val) {
if (!val.id) {
@ -765,6 +940,12 @@ export default {
},
//
async saveFore() {
for (const resKey in this.dataForm) {
if (Array.isArray(this.dataForm[resKey])) {
console.log(this.dataForm[resKey].join(','))
this.dataForm[resKey] = this.dataForm[resKey].join(',')
}
}
const { data: res } = await this.$http.post('/mjz/saveMjzQdjc', this.dataForm)
if (res.code === 0) {
await this.getforeList()

204
src/components/360View/index.vue

@ -24,11 +24,11 @@
<div class="contentBox">
<div class="leftBox">
<time-line
ref="timeline"
:time-axis-data="timeAxisData"
@getTimeAxisData="getTimeAxisData"
v-on="$listeners"
@getTimeAxisNodeInfo="getTimeAxisNodeInfo"
ref="timeline"
:time-axis-data="timeAxisData"
@getTimeAxisData="getTimeAxisData"
v-on="$listeners"
@getTimeAxisNodeInfo="getTimeAxisNodeInfo"
/>
</div>
<div class="rightBox">
@ -37,30 +37,30 @@
<overView :patient-id="patientId" />
</el-tab-pane>
<el-tab-pane name="门诊病历" label="门诊病历" style="height: 100%">
<medicalRecord :patient-id="patientId" :is-search="isSearch" :only-read="onlyRead"/>
<medicalRecord :patient-id="patientId" :is-search="isSearch" :only-read="onlyRead" />
</el-tab-pane>
<el-tab-pane name="常规检查" label="常规检查" style="height: 100%">
<routine :patient-id="patientId" :date="date" :only-read="onlyRead"/>
<routine :patient-id="patientId" :date="date" :only-read="onlyRead" />
</el-tab-pane>
<el-tab-pane name="特殊检查" label="特殊检查" style="height: 100%" >
<el-tab-pane name="特殊检查" label="特殊检查" style="height: 100%">
<special :patient-id="patientId" :only-read="onlyRead" />
</el-tab-pane>
<el-tab-pane name="视光档案" label="视光档案" style="height: 100%" v-if="isSearch === '3'">
<el-tab-pane v-if="isSearch === '3'" name="视光档案" label="视光档案" style="height: 100%">
<opticalFile :patient-id="patientId" :only-read="onlyRead" />
</el-tab-pane>
<el-tab-pane name="诊断" label="诊断">
<el-table
:data="timeAxisNodeInfo"
style="width: 100%"
:data="timeAxisNodeInfo"
style="width: 100%"
>
<el-table-column
prop="diagName"
label="诊断内容"
align="center"
prop="diagName"
label="诊断内容"
align="center"
/>
<el-table-column
label="主诊断"
align="center"
label="主诊断"
align="center"
>
<template slot-scope="scope">
{{ scope.row.isMain === '1' ? '是' : '否' }}
@ -70,51 +70,51 @@
</el-tab-pane>
<el-tab-pane name="手术" label="手术">
<el-table
:data="timeAxisNodeInfo"
style="width: 100%"
:data="timeAxisNodeInfo"
style="width: 100%"
>
<el-table-column
prop="bedNo"
label="床号"
align="center"
prop="bedNo"
label="床号"
align="center"
/>
<el-table-column
prop="deptName"
label="部门名"
align="center"
prop="deptName"
label="部门名"
align="center"
/>
<el-table-column
prop="wardName"
label="病区名"
align="center"
prop="wardName"
label="病区名"
align="center"
/>
<el-table-column
prop="mainDrName"
label="主刀医生姓名"
align="center"
prop="mainDrName"
label="主刀医生姓名"
align="center"
/>
<el-table-column
prop="opName"
label="手术名称"
align="center"
prop="opName"
label="手术名称"
align="center"
/>
<el-table-column
prop="opPartName"
label="手术部位"
align="center"
prop="opPartName"
label="手术部位"
align="center"
/>
<el-table-column
prop="opTime"
label="手术时间"
align="center"
prop="opTime"
label="手术时间"
align="center"
>
<template slot-scope="scope">
{{ scope.row.opTime ? scope.row.opTime.substring(0, 10) : '' }}
</template>
</el-table-column>
<el-table-column
label="主手术"
align="center"
label="主手术"
align="center"
>
<template slot-scope="scope">
{{ scope.row.isMain === '1' ? '是' : '否' }}
@ -124,63 +124,63 @@
</el-tab-pane>
<el-tab-pane name="用药" label="用药">
<el-table
:data="timeAxisNodeInfo"
style="width: 100%"
:data="timeAxisNodeInfo"
style="width: 100%"
>
<el-table-column
prop="medName"
label="商品名"
align="center"
prop="medName"
label="商品名"
align="center"
/>
<el-table-column
prop="socName"
label="通用名"
align="center"
prop="socName"
label="通用名"
align="center"
/>
<el-table-column
prop="site"
label="部位"
align="center"
prop="site"
label="部位"
align="center"
/>
<el-table-column
prop="itemType"
label="门诊/住院"
align="center"
prop="itemType"
label="门诊/住院"
align="center"
/>
</el-table>
</el-tab-pane>
<el-tab-pane name="住院" label="住院">
<el-table
:data="timeAxisNodeInfo"
style="width: 100%"
:data="timeAxisNodeInfo"
style="width: 100%"
>
<el-table-column
prop="deptName"
label="部门名称"
align="center"
prop="deptName"
label="部门名称"
align="center"
/>
<el-table-column
prop="wardName"
label="病区名称"
align="center"
prop="wardName"
label="病区名称"
align="center"
/>
<el-table-column
prop="diagName"
label="诊断名称"
align="center"
prop="diagName"
label="诊断名称"
align="center"
/>
<el-table-column
label="住院日期"
align="center"
label="住院日期"
align="center"
>
<template slot-scope="scope">
{{ scope.row.inDate ? scope.row.inDate.substring(0, 10) : '' }}
</template>
</el-table-column>
<el-table-column
label="出院日期"
align="center"
label="出院日期"
align="center"
>
<template slot-scope="scope">
{{ scope.row.outDate ? scope.row.outDate.substring(0, 10) : '' }}
@ -199,18 +199,18 @@
<drawer ref="drawers" :display.sync="display" :width="drawerWidth" :mask="false">
<!-- 关键指标-->
<key-indicators
v-if="dataType === 1"
id="drawerKey"
ref="keyIndicatorRef"
class="key-content"
v-bind="$attrs"
:patient-id="patientBaseData.patientId"
:patient-id-number="patientBaseData.patientIdNumber"
v-if="dataType === 1"
id="drawerKey"
ref="keyIndicatorRef"
class="key-content"
v-bind="$attrs"
:patient-id="patientBaseData.patientId"
:patient-id-number="patientBaseData.patientIdNumber"
/>
<!-- 数据集-->
<dataInfo v-if="dataType === 2" :fore-list="foreList" :after-list="afterList" />
<!-- 病历收藏-->
<collection v-if="dataType === 3" :patient-id="patientBaseData.patientId" :platform="isSearch"/>
<collection v-if="dataType === 3" :patient-id="patientBaseData.patientId" :platform="isSearch" />
<!-- 常用业务-->
<business v-if="dataType === 4" />
</drawer>
@ -364,12 +364,12 @@ export default {
// 360
handlePacs() {
const { href } = this.$router.resolve({
name: 'pacs',
name: 'pacs'
// query: {
// id: 1
// }
});
window.open(href, '_blank');
})
window.open(href, '_blank')
},
// 360
closePacs() {
@ -383,14 +383,14 @@ export default {
// id--
async getPatientData() {
const { data: res } = await this.$http.get(
'/patient/view/getPatientData',
{
params: {
// patientId: this.patientId
patientId: '797064'
// patientIdNumber: '330282200110051983'
}
'/patient/view/getPatientData',
{
params: {
// patientId: this.patientId
patientId: '797064'
// patientIdNumber: '330282200110051983'
}
}
)
if (res.code === 0) {
this.patientBaseData = res.data ? res.data : {}
@ -402,14 +402,14 @@ export default {
async getTimeAxisData(typeScreenCheckArr) {
// const type = ['', '', '', '', '', '', '访']
const { data: res } = await this.$http.get(
'/patient/view/getTimeAxisData',
{
params: {
// patientId: this.patientId
patientId: '797064'
// type: typeScreenCheckArr !== undefined ? typeScreenCheckArr : type
}
'/patient/view/getTimeAxisData',
{
params: {
// patientId: this.patientId
patientId: '797064'
// type: typeScreenCheckArr !== undefined ? typeScreenCheckArr : type
}
}
)
if (res.code === 0) {
if (res.data.length > 0) {
@ -434,14 +434,14 @@ export default {
async getTimeAxisMz(typeScreenCheckArr) {
// const type = ['', '', '', '', '', '', '访']
const { data: res } = await this.$http.get(
'/patient/view/getTimeAxisDataMzss',
{
params: {
// patientId: this.patientId
patientId: '797064'
// type: typeScreenCheckArr !== undefined ? typeScreenCheckArr : type
}
'/patient/view/getTimeAxisDataMzss',
{
params: {
// patientId: this.patientId
patientId: '797064'
// type: typeScreenCheckArr !== undefined ? typeScreenCheckArr : type
}
}
)
if (res.code === 0) {
if (res.data.length > 0) {

3
src/components/360View/medicalRecord/index.vue

@ -239,7 +239,6 @@ export default {
})
if (res.code === 0) {
this.formList = res.data || []
const date = this.$moment().format('YYYY-MM-DD')
if (this.formList.length) {
if (!mode) {
this.name = this.formList[0].name
@ -248,7 +247,9 @@ export default {
this.curIndex = this.formList.findIndex(item => item.id === this.id)
this.jsonText = this.formList[this.curIndex].jsonText
} else {
if (this.isSearch === '1') {
this.addRecord('门急诊电子病历')
}
}
} else {
this.$message.error(res.msg)

150
src/components/360View/medicalRecord/outPatientRecord/afterForm-copy.vue

@ -0,0 +1,150 @@
<template>
<el-table
id="foreCheck"
ref="multipleTable"
:data="tableData"
style="margin: 8px 8px 0 0"
@select="selection"
>
<el-table-column
type="selection"
width="55"
/>
<el-table-column
align="center"
label="OD"
>
<template slot-scope="scope">
<div>
<span v-if="scope.row.name === '黄斑' && scope.row.id">
<treeSelect v-model="dataForm.hbOd" :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.name === '视网膜' && scope.row.id">
<treeSelect v-model="dataForm.swmOd" :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.name === '脉络膜' && scope.row.id">
<treeSelect v-model="dataForm.mlmOd" :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.name === '玻璃体 vitreous' && scope.row.id">
<treeSelect v-model="dataForm.bltOd" :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.name === '血管' && scope.row.id">
<treeSelect v-model="dataForm.xgOd" :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.name === '巩膜' && scope.row.id">
<treeSelect v-model="dataForm.hmOd" :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.name === '边缘 periphery' && scope.row.id">
<treeSelect v-model="dataForm.byOd" :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">
<p style="margin:0 16px 6px 0">视盘视神经</p>
<treeSelect v-model="dataForm.spSsjOd" :props="treeProps" style="display: inline-block;" :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:0 16px 6px 0">视盘CDR</span>
<treeSelect v-model="dataForm.spCrdOd" :props="treeProps" style="display: inline-block;" :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="!isPrint && !onlyRead">
<p @click="moveHandle(scope.$index,1, scope.row)"><i style="font-size: 20px" class="el-icon-back" /></p>
<p style="margin-top: 5px" @click="moveHandle(scope.$index,2, scope.row)"><i class="el-icon-back" style="transform: rotateY(180deg);font-size: 20px" /></p>
</div>
</template>
</el-table-column>
<el-table-column
align="center"
label="OS"
>
<template slot-scope="scope">
<div>
<span v-if="scope.row.name === '黄斑' && scope.row.id">
<treeSelect v-model="dataForm.hbOs" :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)" @remove="removeTree" />
</span>
<span v-if="scope.row.name === '视网膜' && scope.row.id">
<treeSelect v-model="dataForm.swmOs" :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)" @remove="removeTree" />
</span>
<span v-if="scope.row.name === '脉络膜' && scope.row.id">
<treeSelect v-model="dataForm.mlmOs" :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)" @remove="removeTree" />
</span>
<span v-if="scope.row.name === '玻璃体 vitreous' && scope.row.id">
<treeSelect v-model="dataForm.bltOs" :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)" @remove="removeTree" />
</span>
<span v-if="scope.row.name === '血管' && scope.row.id">
<treeSelect v-model="dataForm.xgOs" :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)" @remove="removeTree" />
</span>
<span v-if="scope.row.name === '巩膜' && scope.row.id">
<treeSelect v-model="dataForm.hmOs" :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)" @remove="removeTree" />
</span>
<span v-if="scope.row.name === '边缘 periphery' && scope.row.id">
<treeSelect v-model="dataForm.byOs" :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)" @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:0 16px 6px 0">视盘视神经</span>
<treeSelect v-model="dataForm.spSsjOs" :props="treeProps" style="display: inline-block;" :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:0 16px 6px 0">视盘CDR</span>
<treeSelect v-model="dataForm.spCrdOs" :props="treeProps" style="display: inline-block;" :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', 'dataForm', 'isPrint', 'onlyRead'],
data() {
return {
treeProps: {
value: 'id',
label: 'name',
children: 'child'
}
}
},
mounted() {
console.log(this.tableData)
console.log(this.dataForm)
},
methods: {
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)
},
selection(selection, val) {
this.$emit('selection', { selection, val })
}
}
}
</script>
<style scoped>
</style>

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

@ -6,8 +6,8 @@
<el-form-item label="处理:" style="width: 540px" prop="cl">
<el-input v-model="diagnosis.cl" type="textarea" auto-complete="off" style="width: 420px" />
</el-form-item>
<el-form-item label="治疗意见:" style="width: 540px" prop="yj">
<el-input v-model="diagnosis.yj" type="textarea" auto-complete="off" style="width: 420px" />
<el-form-item label="治疗意见:" style="width: 540px" prop="zlyj">
<el-input v-model="diagnosis.zlyj" type="textarea" auto-complete="off" style="width: 420px" />
</el-form-item>
</el-form>
</template>

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

@ -1,13 +1,13 @@
<template>
<el-form id="medHistory" ref="form" :model="formData" label-width="140px" style="margin-top: 32px">
<el-form-item label="主诉:" style="width: 540px" prop="zs">
<el-input v-model="formData.zs" type="textarea" auto-complete="off" style="width: 420px" />
<el-form-item label="主诉:" style="width: 540px" prop="zhuSu">
<el-input v-model="formData.zhuSu" type="textarea" auto-complete="off" style="width: 420px" />
</el-form-item>
<el-form-item label="现病史:" style="width: 540px" prop="xbs">
<el-input v-model="formData.xbs" type="textarea" auto-complete="off" style="width: 420px" />
</el-form-item>
<el-form-item label="既往病史:" style="width: 540px" prop="jwbs">
<el-input v-model="formData.jwbs" type="textarea" auto-complete="off" style="width: 420px" />
<el-form-item label="既往病史:" style="width: 540px" prop="jws">
<el-input v-model="formData.jws" type="textarea" auto-complete="off" style="width: 420px" />
</el-form-item>
<el-form-item label="过敏史:" style="width: 540px" prop="gms">
<el-input v-model="formData.gms" type="textarea" auto-complete="off" style="width: 420px" />

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

@ -37,8 +37,8 @@
</div>
</template>
<script>
import forePart from '@/components/360View/forePart'
import afterPart from '@/components/360View/afterPart'
import forePart from '@/components/360View/forePart/index-copy'
import afterPart from '@/components/360View/afterPart/index-copy'
import specialExamine from '@/components/360View/specialExamine'
import HistoryForm from '@/components/360View/medicalRecord/outPatientRecord/historyForm.vue'
import AllFormPrint from '@/components/360View/medicalRecord/outPatientRecord/allFormPrint.vue'
@ -80,20 +80,23 @@ export default {
inject: ['refresh'],
data() {
return {
jzNumber: '',
formData: {
zs: '',
caseId: this.caseId,
patientId: this.patientId,
zhuSu: '',
xbs: '',
jwbs: '',
jws: '',
gms: '',
zsqtbs: '',
id: ''
}, //
formId: '',
diagnosisId: '',
diagnosis: {
caseId: this.caseId,
patientId: this.patientId,
zd: '',
cl: '',
yj: '',
zlyj: '',
id: ''
}, //
flag: '', // 1 2 3 4 5
@ -114,23 +117,25 @@ export default {
watch: {
caseId: {
handler: function(newV, oldV) {
this.getOutPatientList('1')
this.getOutPatientList('5')
this.jzNumber = window.localStorage.getItem('jzNumber')
this.getMedicalHistory()
this.getDiagnosis()
}
}
},
mounted() {
this.getOutPatientList('1')
this.getOutPatientList('5')
this.jzNumber = window.localStorage.getItem('jzNumber')
this.getMedicalHistory()
this.getDiagnosis()
},
methods: {
//
handleSaveTable() {
this.saveTableData('1', '病史采集')
this.saveHistory()
this.$refs.foreParts.saveFore()
this.$refs.afterParts.saveAfter()
this.$refs.examines.saveExamine()
this.saveTableData('5', '诊断处置')
this.saveDiagnosis()
},
//
handleTemplate() {
@ -149,68 +154,111 @@ export default {
}
},
//
async getOutPatientList(flag) {
const { data: res } = await this.$http.get('/case/getCaseByCaseId', {
async getMedicalHistory() {
const { data: res } = await this.$http.get('/mjz/getMjzBscjInfo', {
params: {
caseId: this.caseId,
patientId: this.patientId,
platform: this.isSearch,
flag: flag
jzNumber: this.jzNumber
}
})
if (res.code === 0) {
if (flag === '1') {
this.formData = res.data ? JSON.parse(res.data.jsonText) : {}
this.formId = res.data ? res.data.id : ''
} else if (flag === '5') {
this.diagnosis = res.data ? JSON.parse(res.data.jsonText) : {}
this.diagnosisId = res.data ? res.data.id : ''
}
this.formData = res.data
} else {
this.$message.error(res.msg)
}
},
//
async saveTableData(flag, name) {
let data = ''
let url = ''
const params = {
flag: flag,
name: name,
async getDiagnosis() {
const { data: res } = await this.$http.get('/mjz/getMjzZdczInfo', {
params: {
caseId: this.caseId,
patientId: this.patientId,
platform: this.isSearch
patientId: this.patientId
}
if (flag === '1') {
data = JSON.stringify(this.formData)
params.jsonText = data
if (this.formId) {
url = '/case/update'
params.id = this.formId
})
if (res.code === 0) {
this.diagnosis = res.data
} else {
url = '/case/save'
this.$message.error(res.msg)
}
} else if (flag === '5') {
data = JSON.stringify(this.diagnosis)
params.jsonText = data
if (this.diagnosisId) {
url = '/case/update'
params.id = this.diagnosisId
},
//
async saveHistory() {
const { data: res } = await this.$http.post('/mjz/saveMjzBscj', this.formData)
if (res.code === 0) {
this.getMedicalHistory()
} else {
url = '/case/save'
this.$message.error(res.msg)
}
}
const { data: res } = await this.$http.post(url, params)
},
async saveDiagnosis() {
const { data: res } = await this.$http.post('/mjz/saveMjzZdcz', this.diagnosis)
if (res.code === 0) {
if (flag === '1') {
this.$message.success('保存成功')
}
this.getOutPatientList(flag)
this.getDiagnosis()
} else {
this.$message.error(res.msg)
}
}
// async getOutPatientList(flag) {
// const { data: res } = await this.$http.get('/case/getCaseByCaseId', {
// params: {
// caseId: this.caseId,
// patientId: this.patientId,
// platform: this.isSearch,
// flag: flag
// }
// })
// if (res.code === 0) {
// if (flag === '1') {
// this.formData = res.data ? JSON.parse(res.data.jsonText) : {}
// this.formId = res.data ? res.data.id : ''
// } else if (flag === '5') {
// this.diagnosis = res.data ? JSON.parse(res.data.jsonText) : {}
// this.diagnosisId = res.data ? res.data.id : ''
// }
// } else {
// this.$message.error(res.msg)
// }
// },
// async saveTableData(flag, name) {
// let data = ''
// let url = ''
// const params = {
// flag: flag,
// name: name,
// caseId: this.caseId,
// patientId: this.patientId,
// platform: this.isSearch
// }
// if (flag === '1') {
// data = JSON.stringify(this.formData)
// params.jsonText = data
// if (this.formId) {
// url = '/case/update'
// params.id = this.formId
// } else {
// url = '/case/save'
// }
// } else if (flag === '5') {
// data = JSON.stringify(this.diagnosis)
// params.jsonText = data
// if (this.diagnosisId) {
// url = '/case/update'
// params.id = this.diagnosisId
// } else {
// url = '/case/save'
// }
// }
//
// const { data: res } = await this.$http.post(url, params)
// if (res.code === 0) {
// if (flag === '1') {
// this.$message.success('')
// }
// this.getOutPatientList(flag)
// } else {
// this.$message.error(res.msg)
// }
// }
}
}
</script>

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

@ -285,13 +285,16 @@ export default {
},
//
showDetail(scopeRow, index) {
console.log('视光', scopeRow)
this.receiveTreat(scopeRow)
this.onlyRead = index !== 1
this.detailViewVisible = true
this.patientId = scopeRow.patientId
this.patientIdNumber = scopeRow.patientIdNumber
const mzName = scopeRow.mzDoctorName ? scopeRow.mzDoctorName : ''
const jzNumber = scopeRow.jzNumber ? scopeRow.jzNumber : ''
window.localStorage.setItem('mzDoctorName', mzName)
window.localStorage.setItem('jzNumber', jzNumber)
this.$nextTick(() => {
// // id--
this.$refs.viewRef.getPatientData()

3
src/page-subspecialty/views/modules/outpatientManagement/call/index.vue

@ -277,12 +277,15 @@ export default {
},
//
showDetail(scopeRow, index) {
console.log(scopeRow)
this.onlyRead = index !== 1
this.detailViewVisible = true
this.patientId = scopeRow.patientId
this.patientIdNumber = scopeRow.patientIdNumber
const mzName = scopeRow.mzDoctorName ? scopeRow.mzDoctorName : ''
const jzNumber = scopeRow.jzNumber ? scopeRow.jzNumber : ''
window.localStorage.setItem('mzDoctorName', mzName)
window.localStorage.setItem('jzNumber', jzNumber)
this.$nextTick(() => {
// // id--
this.$refs.viewRef.getPatientData()

3
src/page-subspecialty/views/modules/outpatientManagement/treat/index.vue

@ -281,12 +281,15 @@ export default {
},
//
showDetail(scopeRow, index) {
console.log('treat', scopeRow)
this.onlyRead = index !== 1
this.detailViewVisible = true
this.patientId = scopeRow.patientId
this.patientIdNumber = scopeRow.patientIdNumber
const mzName = scopeRow.mzDoctorName ? scopeRow.mzDoctorName : ''
const jzNumber = scopeRow.jzNumber ? scopeRow.jzNumber : ''
window.localStorage.setItem('mzDoctorName', mzName)
window.localStorage.setItem('jzNumber', jzNumber)
this.$nextTick(() => {
// // id--
this.$refs.viewRef.getPatientData()

Loading…
Cancel
Save