Browse Source

双眼和三级视功能表单完成

360view
bianyaqi 2 years ago
parent
commit
843377bb80
  1. 4
      public/index.html
  2. 314
      src/components/360View/commonForm/eyesVision.vue
  3. 235
      src/components/360View/commonForm/threeVision.vue
  4. 68
      src/components/360View/opticalFile/index.vue

4
public/index.html

@ -39,8 +39,8 @@
<% if (process.env.VUE_APP_NODE_ENV === 'dev') { %>
<script>
//http://121.36.16.195:9002/huimu-admin/swagger-ui/index.html
window.SITE_CONFIG['apiURL'] = 'http://47.110.224.240:8036/xiangan-crf';
// window.SITE_CONFIG['apiURL'] = 'http://192.168.0.167:8036/xiangan-crf';
// window.SITE_CONFIG['apiURL'] = 'http://47.110.224.240:8036/xiangan-crf';
window.SITE_CONFIG['apiURL'] = 'http://192.168.0.167:8036/xiangan-crf';
</script>
<% } %>
<!-- 测试环境 -->

314
src/components/360View/commonForm/eyesVision.vue

@ -13,10 +13,10 @@
双眼视功能检查报告单
</p>
<div style="display: flex;justify-content: space-around">
<span class="bold">登记号<el-input v-model="dataForm.patientId" style="width: 120px" size="small" clearable placeholder="" /></span>
<span class="bold">姓名<el-input v-model="dataForm.patientName" style="width: 120px" size="small" clearable placeholder="" /></span>
<span class="bold">性别<el-input v-model="dataForm.patientSex" style="width: 120px" size="small" clearable placeholder="" /></span>
<span class="bold">年龄<el-input v-model="dataForm.patientAge" style="width: 120px" size="small" clearable placeholder="" /></span>
<span class="bold">登记号<el-input v-model="formData.patientId" style="width: 120px" size="small" clearable placeholder="" /></span>
<span class="bold">姓名<el-input v-model="formData.patientName" style="width: 120px" size="small" clearable placeholder="" /></span>
<span class="bold">性别<el-input v-model="formData.patientSex" style="width: 120px" size="small" clearable placeholder="" /></span>
<span class="bold">年龄<el-input v-model="formData.patientAge" style="width: 120px" size="small" clearable placeholder="" /></span>
</div>
<div class="operation-record-table eyesTable">
<el-table :data="tableData" :span-method="objectSpanMethod" border style="width: 100%; margin-top: 20px">
@ -24,21 +24,21 @@
<template slot-scope="scope">
<div v-if="scope.row.name == 1">
<div class="width-180 center">
<el-input v-model="scope.row.os" placeholder="">
<el-input v-model="formData.qgztOs" placeholder="">
<template slot="prepend">OS:</template>
</el-input>
</div>
</div>
<div v-else-if="scope.row.name == 'FV'">
<div class="width-180 center">
<el-input v-model="scope.row.a" placeholder="">
<el-input v-model="formData.fvYuanBi" placeholder="">
<template slot="prepend">远BO:</template>
</el-input>
</div>
</div>
<div v-else-if="scope.row.name == '建议'">
<div class="width-180" style="text-align: left">
<el-input v-model="scope.row.value" placeholder="" style="width: 640px">
<el-input v-model="formData.jianYi" placeholder="" style="width: 640px">
<template slot="prepend">建议:</template>
</el-input>
</div>
@ -46,16 +46,16 @@
<div v-else-if="scope.row.name == '签名'" style="display: flex;justify-content: space-between">
<div class="width-180" style="text-align: left">
<span style="display: inline-block;margin-top: 16px">视光师:</span>
<img v-if="scope.row.a" :src="scope.row.a" alt="" style="width: 80px;height: 50px;border-style:none;">
<img v-if="formData.ygsSign" :src="formData.ygsSign" alt="" style="width: 80px;height: 50px;border-style:none;">
</div>
<div class="width-180" style="text-align: left;margin-top: 12px">
<el-input v-model="scope.row.b" placeholder="">
<el-input v-model="formData.ysSign" placeholder="">
<template slot="prepend">医师:</template>
</el-input>
</div>
<div class="width-180" style="text-align: left;margin-top: 12px">
日期<el-date-picker
v-model="scope.row.c"
v-model="formData.riQi"
type="date"
placeholder="选择日期"
/>
@ -68,14 +68,14 @@
<template slot-scope="scope">
<div v-if="scope.row.name == '1'">
<div class="width-180 center">
<el-input v-model="scope.row.odVa" placeholder="">
<el-input v-model="formData.qgztOdVa" placeholder="">
<template slot="prepend">VA:</template>
</el-input>
</div>
</div>
<div v-if="scope.row.name == '屈光状态'">
<div class="width-180 center">
<el-input v-model="scope.row.od" placeholder="">
<el-input v-model="formData.qgztOd" placeholder="">
<template slot="prepend">OD:</template>
</el-input>
</div>
@ -83,12 +83,12 @@
<div v-if="scope.row.name == '交替遮盖试验(CT)'">
<div class="width-180 center">
<p>
<el-input v-model="scope.row.a" placeholder="">
<el-input v-model="formData.ctYuan" placeholder="">
<template slot="prepend">:</template>
</el-input>
</p>
<p>
<el-input v-model="scope.row.b" placeholder="">
<el-input v-model="formData.jtzgsyFront" placeholder="">
<template slot="prepend">:</template>
</el-input>
</p>
@ -96,55 +96,55 @@
</div>
<div v-if="scope.row.name == '集合近点(NPC)'">
<div class="width-180 center">
<el-input v-model="scope.row.a" placeholder="">
<el-input v-model="formData.npcPld" placeholder="">
<template slot="prepend">破裂点:</template>
</el-input>
</div>
</div>
<div v-if="scope.row.name == 'Worth-4-dot'">
<div class="width-180 center">
<el-input v-model="scope.row.a" placeholder="" style="width: 100px" />
<el-input v-model="formData.worth1" placeholder="" style="width: 100px" />
@D(
<el-input v-model="scope.row.b" placeholder="" style="width: 100px" />
<el-input v-model="formData.worth2" placeholder="" style="width: 100px" />
)
</div>
</div>
<div v-if="scope.row.name == '立体视(stereo)'">
<div class="width-180 center">
<el-input v-model="scope.row.a" placeholder="">
<el-input v-model="formData.stereoRdd" placeholder="">
<template slot="prepend">RDD():</template>
</el-input>
</div>
</div>
<div v-if="scope.row.name == '眼位'">
<div class="width-180 center">
<el-input v-model="scope.row.a" placeholder="">
<el-input v-model="formData.ywFar" placeholder="">
<template slot="prepend">:</template>
</el-input>
</div>
</div>
<div v-if="scope.row.name == '梯度性AC/A'">
<div class="width-180 center">
<el-input v-model="scope.row.a" placeholder="" />
<el-input v-model="formData.aca1" placeholder="" />
</div>
</div>
<div v-if="scope.row.name == '融像性聚散(FV)'">
<div class="width-180 center">
<el-input v-model="scope.row.a" placeholder="">
<el-input v-model="formData.fvJinBi" placeholder="">
<template slot="prepend">远BI:</template>
</el-input>
</div>
</div>
<div v-if="scope.row.name == 'FV'">
<div class="width-180 center">
<el-input v-model="scope.row.b" placeholder="">
<el-input v-model="formData.fvYuanBo" placeholder="">
<template slot="prepend">近BO:</template>
</el-input>
</div>
</div>
<div v-if="scope.row.name == '相对调节(RA)'">
<div class="width-180 center">
<el-input v-model="scope.row.a" placeholder="">
<el-input v-model="formData.raNar" placeholder="">
<template slot="prepend">NRA:</template>
</el-input>
</div>
@ -152,11 +152,11 @@
<div v-if="scope.row.name == '调节幅度(AMP)'">
<div class="width-180 center">
<div>
<el-input v-model="scope.row.a" placeholder="">
<el-input v-model="formData.ampOd" placeholder="">
<template slot="prepend">OD:</template>
</el-input>
</div>
<el-input v-model="scope.row.b" placeholder="">
<el-input v-model="formData.ampOs" placeholder="">
<template slot="prepend">OS:</template>
</el-input>
</div>
@ -164,11 +164,11 @@
<div v-if="scope.row.name == '调节灵活度(AF)'">
<div class="width-180 center">
<div>
<el-input v-model="scope.row.a" placeholder="">
<el-input v-model="formData.afOd" placeholder="">
<template slot="prepend">OD:</template>
</el-input>
</div>
<el-input v-model="scope.row.b" placeholder="">
<el-input v-model="formData.afOs" placeholder="">
<template slot="prepend">OS:</template>
</el-input>
</div>
@ -176,11 +176,11 @@
<div v-if="scope.row.name == '调节反应(FCC)'">
<div class="width-180 center">
<div>
<el-input v-model="scope.row.a" placeholder="">
<el-input v-model="formData.fccOd" placeholder="">
<template slot="prepend">OD:</template>
</el-input>
</div>
<el-input v-model="scope.row.b" placeholder="">
<el-input v-model="formData.fccOs" placeholder="">
<template slot="prepend">OS:</template>
</el-input>
</div>
@ -188,18 +188,18 @@
<div v-if="scope.row.name == '初步诊断'">
<div>
<div style="display:flex;margin-bottom: 8px">
<div class="check" style="margin-left: 0" @click="scope.row.normal = !scope.row.normal">
<input type="checkbox" :checked="scope.row.normal">正常
<div class="check" style="margin-left: 0" @click="formData.cbzdCheck=!formData.cbzdCheck">
<input type="checkbox" :checked="formData.cbzdCheck">正常
</div>
<div class="check" style="margin-left: 16px" @click="scope.row.normal = !scope.row.normal">
<input type="checkbox" :checked="!scope.row.normal">异常
<div class="check" style="margin-left: 16px" @click="formData.cbzdCheck=!formData.cbzdCheck">
<input type="checkbox" :checked="!formData.cbzdCheck">异常
</div>
</div>
<div v-if="!scope.row.normal">
<div v-if="!formData.cbzdCheck">
<div v-if="scope.row.a.length" style="display: flex">
<div style="width: 200px;">聚散功能异常</div>
<div style="width: 100%">
<el-select v-model="scope.row.value_a" multiple placeholder="请选择" style="width: 100%">
<el-select v-model="formData.cbzdJsgnyc" multiple placeholder="请选择" style="width: 100%">
<el-option
v-for="item in scope.row.a"
:key="item.id"
@ -212,7 +212,7 @@
<div style="display: flex">
<div style="width: 160px;">调节功能异常</div>
<div style="width: 100%">
<el-select v-model="scope.row.value_b" multiple placeholder="请选择" style="width: 100%">
<el-select v-model="formData.cbzdTjgnyc" multiple placeholder="请选择" style="width: 100%">
<el-option
v-for="item in scope.row.b"
:key="item.id"
@ -225,7 +225,7 @@
<div style="display: flex">
<span style="width: 160px;">斜视</span>
<div style="width: 100%">
<el-select v-model="scope.row.value_c" multiple placeholder="请选择" style="width: 100%">
<el-select v-model="formData.cbzdXs" multiple placeholder="请选择" style="width: 100%">
<el-option
v-for="item in scope.row.c"
:key="item.id"
@ -244,21 +244,21 @@
<template slot-scope="scope">
<div v-if="scope.row.name == '屈光状态'">
<div class="width-180 center">
<el-input v-model="scope.row.osVa" placeholder="">
<el-input v-model="formData.qgztOsVa" placeholder="">
<template slot="prepend">VA:</template>
</el-input>
</div>
</div>
<div v-if="scope.row.name == '交替遮盖试验(CT)'">
<div class="width-180 center">
<el-input v-model="scope.row.c" placeholder="">
<el-input v-model="formData.ctYqyd" placeholder="">
<template slot="prepend">眼球运动:</template>
</el-input>
</div>
</div>
<div v-if="scope.row.name == '集合近点(NPC)'">
<div class="width-180 center">
<el-input v-model="scope.row.b" placeholder="">
<el-input v-model="formData.npcHfd" placeholder="">
<template slot="prepend">恢复点:</template>
</el-input>
</div>
@ -268,64 +268,64 @@
<!-- <el-input v-model="scope.row.b" placeholder="">-->
<!-- <template slot="prepend">:</template>-->
<!-- </el-input>-->
<el-input v-model="scope.row.c" placeholder="" style="width: 100px" />
<el-input v-model="formData.worth3" placeholder="" style="width: 100px" />
@N(
<el-input v-model="scope.row.d" placeholder="" style="width: 100px" />
<el-input v-model="formData.worth4" placeholder="" style="width: 100px" />
)
</div>
</div>
<div v-if="scope.row.name == '立体视(stereo)'">
<div class="width-180 center">
<el-input v-model="scope.row.b" placeholder="">
<el-input v-model="formData.stereoTno" placeholder="">
<template slot="prepend">TNO():</template>
</el-input>
</div>
</div>
<div v-if="scope.row.name == '眼位'">
<div class="width-180 center">
<el-input v-model="scope.row.b" placeholder="">
<el-input v-model="formData.ywJin" placeholder="">
<template slot="prepend">:</template>
</el-input>
</div>
</div>
<div v-if="scope.row.name == '梯度性AC/A'">
<div class="width-180 center">
<el-input v-model="scope.row.b" placeholder="">
<el-input v-model="formData.aca2" placeholder="">
<template slot="prepend">计算性AC/A:</template>
</el-input>
</div>
</div>
<div v-if="scope.row.name == '融像性聚散(FV)'">
<div class="width-180 center">
<el-input v-model="scope.row.b" placeholder="">
<el-input v-model="formData.fvJinBo" placeholder="">
<template slot="prepend">近BI:</template>
</el-input>
</div>
</div>
<div v-if="scope.row.name == '相对调节(RA)'">
<div class="width-180 center">
<el-input v-model="scope.row.b" placeholder="">
<el-input v-model="formData.raPra" placeholder="">
<template slot="prepend">PRA:</template>
</el-input>
</div>
</div>
<div v-if="scope.row.name == '调节幅度(AMP)'">
<div class="width-180 center">
<el-input v-model="scope.row.c" placeholder="">
<el-input v-model="formData.ampOu" placeholder="">
<template slot="prepend">OU:</template>
</el-input>
</div>
</div>
<div v-if="scope.row.name == '调节灵活度(AF)'">
<div class="width-180 center">
<el-input v-model="scope.row.c" placeholder="">
<el-input v-model="formData.afOu" placeholder="">
<template slot="prepend">OU:</template>
</el-input>
</div>
</div>
<div v-if="scope.row.name == '调节反应(FCC)'">
<div class="width-180 center">
<el-input v-model="scope.row.c" placeholder="">
<el-input v-model="formData.fccOu" placeholder="">
<template slot="prepend">OU:</template>
</el-input>
</div>
@ -340,10 +340,6 @@
<script>
export default {
props: {
isSearch: {
type: String,
default: ''
},
patientId: {
type: String,
default: ''
@ -355,33 +351,89 @@ export default {
onlyRead: {
type: Boolean,
default: false
},
caseId: {
type: String,
default: ''
},
formDate: {
type: String
}
},
data() {
return {
dataForm: {
formData: {
patientId: '',
patientName: '',
patientSex: '',
patientAge: ''
patientAge: '',
//
qgztOs: '',
qgztOd: '',
qgztOsVa: '',
qgztOdVa: '',
//
ctYuan: '',
jtzgsyFront: '',
ctYqyd: '',
//
npcPld: '',
npcHfd: '',
// worth-4-dot
worth1: '',
worth2: '',
worth3: '',
worth4: '',
//
stereoRdd: '',
stereoTno: '',
//
ywYuan: '',
ywJin: '',
// AC/A
aca1: '',
aca2: '',
//
fvJinBi: '',
fvJinBo: '',
fvYuanBi: '',
fvYuanBo: '',
//
raNar: '',
raPra: '',
//
ampOd: '',
ampOs: '',
ampOu: '',
//
afOd: '',
afOs: '',
afOu: '',
//
fccOd: '',
fccOs: '',
fccOu: '',
//
cbzdCheck: true,
cbzdJsgnyc: [],
cbzdTjgnyc: [],
cbzdXs: [],
//
jianYi: '',
//
ygsSign: '',
ysSign: '',
riQi: ''
},
originTableData: [],
tableData: [
{
name: '屈光状态',
osVa: '',
od: '',
type: ''
}, {
name: '1',
odVa: '',
os: '',
type: ''
}, {
name: '交替遮盖试验(CT)',
a: '',
b: '',
c: '',
type: ''
}, {
name: '集合近点(NPC)',
@ -437,85 +489,64 @@ export default {
c: ''
}, {
name: '初步诊断',
normal: true,
value_a: '',
value_b: '',
value_c: '',
a: [
{
name: '集合不足',
id: '1',
isSelect: false
id: '1'
}, {
name: '集合过度',
id: '2',
isSelect: false
id: '2'
}, {
name: '散开不足',
id: '3',
isSelect: false
id: '3'
}, {
name: '散开过度',
id: '4',
isSelect: false
id: '4'
}, {
name: '内隐科',
id: '5',
isSelect: false
id: '5'
}, {
name: '外隐科',
id: '6',
isSelect: false
id: '6'
}, {
name: '假性集合不足',
id: '7',
isSelect: false
id: '7'
}, {
name: '融像性聚散功能异常',
id: '8',
isSelect: false
id: '8'
}
],
b: [
{
name: '调节灵敏度下降',
id: '1',
isSelect: false
id: '1'
}, {
name: '调节不能持久',
id: '2',
isSelect: false
id: '2'
}, {
name: '调节不足',
id: '3',
isSelect: false
id: '3'
}, {
name: '调节过度',
id: '4',
isSelect: false
id: '4'
}, {
name: '调节麻痹',
id: '5',
isSelect: false
id: '5'
}
],
c: [
{
name: '内斜视',
id: '1',
isSelect: false
id: '1'
}, {
name: '外斜视',
id: '2',
isSelect: false
id: '2'
}, {
name: '间歇性外斜视',
id: '3',
isSelect: false
id: '3'
}, {
name: '垂直斜',
id: '4',
isSelect: false
id: '4'
}
]
}, {
@ -529,43 +560,43 @@ export default {
}]
}
},
created() {
watch: {
caseId(val) {
if (val) {
this.getSysgnjc()
}
}
},
mounted() {
this.originTableData = JSON.parse(JSON.stringify(this.tableData))
this.setSign()
this.getPatientData()
this.getSysgnjc()
},
methods: {
//
setSign() {
const userData = JSON.parse(window.localStorage.getItem('qg-userData'))
const date = this.$moment().format('YYYY-MM-DD')
const mzName = window.localStorage.getItem('mzDoctorName')
this.tableData.forEach(item => {
if (item.name === '签名') {
item.a = userData.signImgBase
item.b = mzName
item.c = date
}
})
},
setData() {
this.dataForm = this.formContent.a
this.tableData = this.formContent.b
this.setSign()
this.getPatientData()
this.formData.ygsSign = userData.signImgBase
this.formData.ysSign = mzName
this.formData.riQi = date
},
reSet() {
this.dataForm = {
patientId: '',
patientName: '',
patientSex: '',
patientAge: ''
}
this.tableData = this.originTableData
this.setSign()
this.getPatientData()
getSysgnjc() {
this.$http.get('/sysgnjc/getSysgnjc', { params: {
caseId: this.caseId,
formDate: this.formDate,
patientId: this.patientId
}}).then(data => {
const form = data.data.data
form.cbzdCheck = form.cbzdCheck ? JSON.parse(form.cbzdCheck) : true
form.cbzdJsgnyc = form.cbzdJsgnyc ? form.cbzdJsgnyc.split(',') : []
form.cbzdTjgnyc = form.cbzdTjgnyc ? form.cbzdTjgnyc.split(',') : []
form.cbzdXs = form.cbzdXs ? form.cbzdXs.split(',') : []
this.formData = form
this.setSign()
})
},
//
async getPatientData() {
const { data: res } = await this.$http.get(
'/patient/view/getPatientData',
@ -576,18 +607,33 @@ export default {
}
)
if (res.code === 0) {
this.dataForm = res.data
this.formData.patientId = res.data.patientId
this.formData.patientAge = res.data.patientAge
this.formData.patientSex = res.data.patientSex
this.formData.patientName = res.data.patientName
} else {
this.$message.error(res.msg)
}
},
handleSaveTable() {
const data = {
a: this.dataForm,
b: this.tableData
//
async handleSaveTable() {
const data = JSON.parse(JSON.stringify(this.formData))
data.cbzdJsgnyc = data.cbzdJsgnyc.length ? data.cbzdJsgnyc.join(',') : ''
data.cbzdTjgnyc = data.cbzdTjgnyc.length ? data.cbzdTjgnyc.join(',') : ''
data.cbzdXs = data.cbzdXs.length ? data.cbzdXs.join(',') : ''
const params = {
caseId: this.caseId,
...data
}
const { data: res } = await this.$http.post('/sysgnjc/saveSysgnjc', params)
if (res.code === 0) {
this.$message.success('保存成功')
this.$emit('save')
} else {
this.$message.error(res.msg)
}
this.$emit('save', data)
},
//
handleDelete() {
this.$emit('del')
},

235
src/components/360View/commonForm/threeVision.vue

@ -36,48 +36,48 @@
<div class="Rline-os">L</div>
<div class="Lline">L</div>
<div class="Lline-os">R</div>
<el-input v-model="scope.row.a" class="ipt-a" placeholder="" />
<el-input v-model="scope.row.b" class="ipt-b" placeholder="" />
<el-input v-model="scope.row.c" class="ipt-c" placeholder="" />
<el-input v-model="scope.row.d" class="ipt-d" placeholder="" />
<el-input v-model="scope.row.e" class="ipt-e" placeholder="" />
<el-input v-model="scope.row.f" class="ipt-f" placeholder="" />
<el-input v-model="scope.row.g" class="ipt-g" placeholder="" />
<el-input v-model="scope.row.h" class="ipt-h" placeholder="" />
<el-input v-model="scope.row.i" class="ipt-j" placeholder="" />
<el-input v-model="scope.row.j" class="iptos-a" placeholder="" />
<el-input v-model="scope.row.k" class="iptos-b" placeholder="" />
<el-input v-model="scope.row.l" class="iptos-c" placeholder="" />
<el-input v-model="scope.row.m" class="iptos-d" placeholder="" />
<el-input v-model="scope.row.n" class="iptos-e" placeholder="" />
<el-input v-model="scope.row.o" class="iptos-f" placeholder="" />
<el-input v-model="scope.row.p" class="iptos-g" placeholder="" />
<el-input v-model="scope.row.q" class="iptos-h" placeholder="" />
<el-input v-model="scope.row.r" class="iptos-j" placeholder="" />
<el-input v-model="dataForm.jfwjcOd1" class="ipt-a" placeholder="" />
<el-input v-model="dataForm.jfwjcOd2" class="ipt-b" placeholder="" />
<el-input v-model="dataForm.jfwjcOd3" class="ipt-c" placeholder="" />
<el-input v-model="dataForm.jfwjcOd4" class="ipt-d" placeholder="" />
<el-input v-model="dataForm.jfwjcOd5" class="ipt-e" placeholder="" />
<el-input v-model="dataForm.jfwjcOd6" class="ipt-f" placeholder="" />
<el-input v-model="dataForm.jfwjcOd7" class="ipt-g" placeholder="" />
<el-input v-model="dataForm.jfwjcOd8" class="ipt-h" placeholder="" />
<el-input v-model="dataForm.jfwjcOd9" class="ipt-j" placeholder="" />
<el-input v-model="dataForm.jfwjcOs1" class="iptos-a" placeholder="" />
<el-input v-model="dataForm.jfwjcOs2" class="iptos-b" placeholder="" />
<el-input v-model="dataForm.jfwjcOs3" class="iptos-c" placeholder="" />
<el-input v-model="dataForm.jfwjcOs4" class="iptos-d" placeholder="" />
<el-input v-model="dataForm.jfwjcOs5" class="iptos-e" placeholder="" />
<el-input v-model="dataForm.jfwjcOs6" class="iptos-f" placeholder="" />
<el-input v-model="dataForm.jfwjcOs7" class="iptos-g" placeholder="" />
<el-input v-model="dataForm.jfwjcOs8" class="iptos-h" placeholder="" />
<el-input v-model="dataForm.jfwjcOs9" class="iptos-j" placeholder="" />
</div>
<div v-else-if="scope.row.name === 'TITMUS()'">
<span>TITMUS():</span>
<el-input v-model="scope.row.a" style="width: 60%" placeholder="" />
<el-input v-model="dataForm.titmus" style="width: 60%" placeholder="" />
</div>
<div v-else-if="scope.row.name === '报告描述'">
<span>报告描述:</span>
<el-input v-model="scope.row.value" placeholder="" style="width: 80%" />
<el-input v-model="dataForm.bgms" placeholder="" style="width: 80%" />
</div>
<div v-else-if="scope.row.name === '签名'" style="display: flex;justify-content: space-between;padding: 0 16px">
<div class="width-180" style="text-align: left">
<!-- <span>视光师:</span>-->
<!-- <el-input v-model="scope.row.a" style="width: 160px" placeholder="" />-->
<span style="display: inline-block;margin-top: 16px">视光师:</span>
<img v-if="scope.row.a" :src="scope.row.a" alt="" style="width: 80px;height: 60px;border-style:none;">
<img v-if="dataForm.ygsSign" :src="dataForm.ygsSign" alt="" style="width: 80px;height: 60px;border-style:none;">
</div>
<div class="width-180" style="text-align: left;margin-top: 16px">
<el-input v-model="scope.row.b" placeholder="">
<el-input v-model="dataForm.ysSign" placeholder="">
<template slot="prepend">医师:</template>
</el-input>
</div>
<div class="width-180" style="text-align: left;margin-top: 16px">
日期<el-date-picker
v-model="scope.row.c"
v-model="dataForm.riQi"
type="date"
placeholder="选择日期"
/>
@ -90,58 +90,58 @@
<template slot-scope="scope">
<div v-if="scope.row.name == '屈光状态'">
<div class="width-180 center">
<el-input v-model="scope.row.OD" placeholder="">
<el-input v-model="dataForm.qgztOd" placeholder="">
<template slot="prepend">OD:</template>
</el-input>
</div>
</div>
<div v-if="scope.row.name == '屈光状态a'">
<div class="width-180 center">
<el-input v-model="scope.row.OS" placeholder="">
<el-input v-model="dataForm.qgztOs" placeholder="">
<template slot="prepend">OS:</template>
</el-input>
</div>
</div>
<div v-if="scope.row.name == 'CT+Prism'">
<div class="width-180 center">
<el-input v-model="scope.row.ct" placeholder="" />
<el-input v-model="dataForm.ctPrism" placeholder="" />
</div>
</div>
<div v-if="scope.row.name == '检查画片' && scope.row.type == '1'">
<div class="width-180 center">
<el-input v-model="scope.row.value" placeholder="" />
<el-input v-model="dataForm.tssjcJchp" placeholder="" />
</div>
</div>
<div v-if="scope.row.name == '主观斜视角'">
<div class="width-180 center">
<el-input v-model="scope.row.od" placeholder="" />
<el-input v-model="dataForm.tssjcZgxsj1" placeholder="" />
</div>
</div>
<div v-if="scope.row.name == '客观斜视角'">
<div class="width-180 center">
<el-input v-model="scope.row.od" placeholder="" />
<el-input v-model="dataForm.tssjcKgxsj1" placeholder="" />
</div>
</div>
<div v-if="scope.row.name == '检查画片' && scope.row.type == '2'">
<div class="width-180 center">
<el-input v-model="scope.row.value" placeholder="" />
<el-input v-model="dataForm.rhgnjcJchp" placeholder="" />
</div>
</div>
<div v-if="scope.row.name == '融合点'">
<div class="width-180 center">
<el-input v-model="scope.row.od" placeholder="" />
<el-input v-model="dataForm.rhgnjcRhd1" placeholder="" />
</div>
</div>
<div v-if="scope.row.name == 'Worth-4-dot'">
<div class="width-180 center">
<el-input v-model="scope.row.a" placeholder="" style="width: 100px" />
<el-input v-model="dataForm.worth1" placeholder="" style="width: 100px" />
@D
<el-input v-model="scope.row.b" placeholder="" style="width: 100px" />
<el-input v-model="dataForm.worth3" placeholder="" style="width: 100px" />
</div>
</div>
<div v-if="scope.row.name == 'TITMUS(近)'">
<div class="width-180 center">
<el-input v-model="scope.row.b" placeholder="">
<el-input v-model="dataForm.tno" placeholder="">
<template slot="prepend">TNO():</template>
</el-input>
</div>
@ -152,43 +152,43 @@
<template slot-scope="scope">
<div v-if="scope.row.name == '屈光状态'">
<div class="width-180 center">
<el-input v-model="scope.row.VA" placeholder="">
<el-input v-model="dataForm.qgztOdVa" placeholder="">
<template slot="prepend">VA:</template>
</el-input>
</div>
</div>
<div v-if="scope.row.name == '屈光状态a'">
<div class="width-180 center">
<el-input v-model="scope.row.VA" placeholder="">
<el-input v-model="dataForm.qgztOsVa" placeholder="">
<template slot="prepend">VA:</template>
</el-input>
</div>
</div>
<div v-if="scope.row.name == '主观斜视角'">
<div class="width-180 center">
<el-input v-model="scope.row.os" placeholder="" />
<el-input v-model="dataForm.tssjcZgxsj2" placeholder="" />
</div>
</div>
<div v-if="scope.row.name == '客观斜视角'">
<div class="width-180 center">
<el-input v-model="scope.row.os" placeholder="" />
<el-input v-model="dataForm.tssjcKgxsj2" placeholder="" />
</div>
</div>
<div v-if="scope.row.name == '融合点'">
<div class="width-180 center">
<el-input v-model="scope.row.os" placeholder="" />
<el-input v-model="dataForm.rhgnjcRhd2" placeholder="" />
</div>
</div>
<div v-if="scope.row.name == 'Worth-4-dot'">
<div class="width-180 center">
<el-input v-model="scope.row.c" placeholder="" style="width: 100px" />
<el-input v-model="dataForm.worth2" placeholder="" style="width: 100px" />
@N
<el-input v-model="scope.row.d" placeholder="" style="width: 100px" />
<el-input v-model="dataForm.worth4" placeholder="" style="width: 100px" />
</div>
</div>
<div v-if="scope.row.name == 'TITMUS(近)'">
<div class="width-180 center">
<el-input v-model="scope.row.c" placeholder="">
<el-input v-model="dataForm.rdd" placeholder="">
<template slot="prepend">RDD():</template>
</el-input>
</div>
@ -203,10 +203,6 @@
<script>
export default {
props: {
isSearch: {
type: String,
default: ''
},
patientId: {
type: String,
default: ''
@ -218,6 +214,13 @@ export default {
onlyRead: {
type: Boolean,
default: false
},
caseId: {
type: String,
default: ''
},
formDate: {
type: String
}
},
data() {
@ -226,10 +229,61 @@ export default {
patientId: '',
patientName: '',
patientSex: '',
patientAge: ''
patientAge: '',
//
qgztOd: '',
qgztOs: '',
qgztOdVa: '',
qgztOsVa: '',
// CT+Prism
ctPrism: '',
//
tssjcJchp: '',
//
tssjcZgxsj1: '',
tssjcZgxsj2: '',
//
tssjcKgxsj1: '',
tssjcKgxsj2: '',
//
rhgnjcJchp: '',
//
rhgnjcRhd1: '',
rhgnjcRhd2: '',
// Worth-4-dot
worth1: '',
worth2: '',
worth3: '',
worth4: '',
//
titmus: '',
tno: '',
rdd: '',
//
jfwjcOd1: '',
jfwjcOd2: '',
jfwjcOd3: '',
jfwjcOd4: '',
jfwjcOd5: '',
jfwjcOd6: '',
jfwjcOd7: '',
jfwjcOd8: '',
jfwjcOd9: '',
jfwjcOs1: '',
jfwjcOs2: '',
jfwjcOs3: '',
jfwjcOs4: '',
jfwjcOs5: '',
jfwjcOs6: '',
jfwjcOs7: '',
jfwjcOs8: '',
jfwjcOs9: '',
//
bgms: '',
ygsSign: '',
ysSign: '',
riQi: ''
},
patientData: {},
originTableData: [],
tableData: [
{
name: '基础信息',
@ -322,42 +376,35 @@ export default {
}]
}
},
created() {
watch: {
caseId(val) {
if (val) {
this.getSysgnjc()
}
}
},
mounted() {
this.originTableData = JSON.parse(JSON.stringify(this.tableData))
this.setSign()
this.getSysgnjc()
this.getPatientData()
},
methods: {
getSysgnjc() {
this.$http.get('/sjsgnjc/getSysgnjc', { params: {
caseId: this.caseId,
formDate: this.formDate,
patientId: this.patientId
}}).then(data => {
this.dataForm = data.data.data
this.setSign()
})
},
setSign() {
const userData = JSON.parse(window.localStorage.getItem('qg-userData'))
const date = this.$moment().format('YYYY-MM-DD')
const mzName = window.localStorage.getItem('mzDoctorName')
this.tableData.forEach(item => {
if (item.name === '签名') {
item.a = userData.signImgBase
item.b = mzName
item.c = date
}
})
},
setData() {
this.dataForm = this.formContent.a
this.tableData = this.formContent.b
this.setSign()
this.getPatientData()
},
reSet() {
this.dataForm = {
num: '',
name: '',
sex: '',
age: ''
}
this.tableData = JSON.parse(JSON.stringify(this.originTableData))
this.setSign()
this.getPatientData()
this.dataForm.ygsSign = userData.signImgBase
this.dataForm.ysSign = mzName
this.dataForm.riQi = date
},
async getPatientData() {
const { data: res } = await this.$http.get(
@ -369,11 +416,32 @@ export default {
}
)
if (res.code === 0) {
this.dataForm = res.data
this.dataForm.patientId = res.data.patientId
this.dataForm.patientAge = res.data.patientAge
this.dataForm.patientSex = res.data.patientSex
this.dataForm.patientName = res.data.patientName
} else {
this.$message.error(res.msg)
}
},
//
async handleSaveTable() {
const data = JSON.parse(JSON.stringify(this.dataForm))
const params = {
caseId: this.caseId,
...data
}
const { data: res } = await this.$http.post('/sjsgnjc/savesjsgnjc', params)
if (res.code === 0) {
this.$message.success('保存成功')
this.$emit('save')
} else {
this.$message.error(res.msg)
}
},
handleDelete() {
this.$emit('del')
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
if (rowIndex === 0 || rowIndex === 4 || rowIndex === 8 || rowIndex === 12 || rowIndex === 17 || rowIndex === 15 || rowIndex === 16 || rowIndex === 14) {
@ -412,19 +480,6 @@ export default {
}
}
}
},
handlePrint() {
this.printPage('threeFunc')
},
handleSaveTable() {
const data = {
a: this.dataForm,
b: this.tableData
}
this.$emit('save', data)
},
handleDelete() {
this.$emit('del')
}
}
}

68
src/components/360View/opticalFile/index.vue

@ -19,7 +19,7 @@
</div>
<div class="record" @click="addRecord(1,'验光报告单')">
<p>验光报告单</p>
<img :src="require('@/assets/img/add.png')" alt="" v-if="!onlyRead">
<img v-if="!onlyRead" :src="require('@/assets/img/add.png')" alt="">
</div>
<div class="comonForm-tab">
<el-radio-group v-model="formType" size="small">
@ -44,9 +44,31 @@
</div>
</div>
<div class="content-right">
<eyesVision v-if="name === '双眼视功能检查报告单'" ref="eyes" :only-read="onlyRead" :patient-id="patientId" :is-search="isSearch" :form-content="eyesData" @save="updateForm" @del="deleteForm"/>
<eyesVision
v-if="name === '双眼视功能检查报告单'"
ref="eyes"
:form-date="formDate"
:case-id="id"
:only-read="onlyRead"
:patient-id="patientId"
:is-search="isSearch"
:form-content="eyesData"
@save="updateForm"
@del="deleteForm"
/>
<optometryForm v-if="name === '验光报告单'" ref="optome" :only-read="onlyRead" :patient-id="patientId" :is-search="isSearch" :form-content="optomeData" @save="updateForm" @del="deleteForm" />
<threeVision v-if="name === '三级视功能检查报告单'" ref="three" :only-read="onlyRead" :patient-id="patientId" :is-search="isSearch" :form-content="threeData" @save="updateForm" @del="deleteForm" />
<threeVision
v-if="name === '三级视功能检查报告单'"
ref="three"
:only-read="onlyRead"
:case-id="id"
:form-date="formDate"
:patient-id="patientId"
:is-search="isSearch"
:form-content="threeData"
@save="updateForm"
@del="deleteForm"
/>
<deveopmentFile v-show="name === '屈光发育档案'" ref="deveope" :only-read="onlyRead" :patient-id="patientId" :is-search="isSearch" :form-content="deveopData" @save="updateForm" @del="deleteForm" />
</div>
</div>
@ -97,7 +119,8 @@ export default {
threeData: {},
optomeData: {},
eyesData: {},
formType: '报告单'
formType: '报告单',
formDate: ''
}
},
mounted() {
@ -108,17 +131,9 @@ export default {
this.curIndex = index
this.id = item.id
this.name = item.name
this.formDate = item.createTime
if (item.name === '双眼视功能检查报告单') {
this.eyesData = item.jsonText ? JSON.parse(item.jsonText) : {}
if (item.jsonText) {
this.$nextTick(() => {
this.$refs.eyes.setData()
})
} else {
this.$nextTick(() => {
this.$refs.eyes.reSet()
})
}
} else if (item.name === '验光报告单') {
this.optomeData = item.jsonText ? JSON.parse(item.jsonText) : {}
if (item.jsonText) {
@ -132,15 +147,6 @@ export default {
}
} else if (item.name === '三级视功能检查报告单') {
this.threeData = item.jsonText ? JSON.parse(item.jsonText) : {}
if (item.jsonText) {
this.$nextTick(() => {
this.$refs.three.setData()
})
} else {
this.$nextTick(() => {
this.$refs.three.reSet()
})
}
} else if (item.name === '屈光发育档案') {
this.deveopData = item.jsonText ? JSON.parse(item.jsonText) : {}
if (item.jsonText) {
@ -177,22 +183,8 @@ export default {
}
},
//
async updateForm(data) {
const params = {
flag: 6,
name: this.name,
jsonText: JSON.stringify(data),
patientId: this.patientId,
id: this.id,
platform: this.isSearch
}
const { data: res } = await this.$http.post('/case/update', params)
if (res.code === 0) {
this.$message.success('保存成功')
this.getFormList()
} else {
this.$message.error(res.msg)
}
updateForm() {
this.getFormList()
},
async deleteForm() {
const params = {

Loading…
Cancel
Save