|
|
@ -15,106 +15,134 @@ |
|
|
|
</p> |
|
|
|
<!--患者信息--> |
|
|
|
<div> |
|
|
|
<div class="flex"> |
|
|
|
<div class="flex a-c item">姓名:<el-input v-model="confirmData.patientName" style="flex: 1" /></div> |
|
|
|
<div class="flex a-c item">年龄:<el-input v-model="confirmData.patientAge" style="flex: 1" />岁</div> |
|
|
|
<div class="flex a-c item">性别:<el-input v-model="confirmData.patientSex" style="flex: 1" /></div> |
|
|
|
<div class="flex a-c item">登记号:<el-input v-model="confirmData.patientId" style="flex: 1" /></div> |
|
|
|
<div class="flex m-b"> |
|
|
|
<div class="flex a-c item"> |
|
|
|
<div class="label_width">姓名:</div> |
|
|
|
<el-input v-model="confirmData.patientName" style="flex: 1" /></div> |
|
|
|
<div class="flex a-c item">年龄:<el-input v-model="confirmData.patientAge" style="flex: 1" />岁</div> |
|
|
|
<div class="flex a-c item">性别:<el-input v-model="confirmData.patientSex" style="flex: 1" /></div> |
|
|
|
<div class="flex a-c item">登记号:<el-input v-model="confirmData.patientId" style="flex: 1" /></div> |
|
|
|
</div> |
|
|
|
<div class="flex"> |
|
|
|
<div class="flex a-c">联系电话:<el-input v-model="confirmData.patientPhone" style="flex: 1" /></div> |
|
|
|
<div class="flex a-c item">家庭住址:<el-input v-model="confirmData.patientAddress" style="flex: 1" /></div> |
|
|
|
<div class="flex m-b"> |
|
|
|
<div class="flex a-c"> |
|
|
|
<div class="label_width">联系电话:</div> |
|
|
|
<el-input v-model="confirmData.patientPhone" style="flex: 1" /> |
|
|
|
</div> |
|
|
|
<div class="flex a-c item">家庭住址:<el-input v-model="confirmData.patientAddress" style="flex: 1" /></div> |
|
|
|
</div> |
|
|
|
<div class="flex a-c m-b"> |
|
|
|
<div class="label_width">诊断:</div> |
|
|
|
<el-input v-model="confirmData.diagnostic" :autosize="{ minRows: 3, maxRows: 3}" type="textarea" style="flex: 1;border-bottom: 1px solid #8e8c8c" /> |
|
|
|
</div> |
|
|
|
<div class="flex a-c m-b"> |
|
|
|
<div class="label_width"> |
|
|
|
治疗眼别: |
|
|
|
</div> |
|
|
|
<el-select v-model="confirmData.eyeType" placeholder="请选择"> |
|
|
|
<el-option |
|
|
|
v-for="item in options" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
/> |
|
|
|
</el-select> |
|
|
|
</div> |
|
|
|
<div class="flex a-c item">诊断:<el-input v-model="confirmData.diagnostic" style="flex: 1" /></div> |
|
|
|
</div> |
|
|
|
<!-- 治疗前--> |
|
|
|
<div class="subTitle">治疗前</div> |
|
|
|
<table class="treatAction"> |
|
|
|
<thead> |
|
|
|
<tr> |
|
|
|
<th colspan="2">OD</th> |
|
|
|
<th colspan="2">OS</th> |
|
|
|
</tr> |
|
|
|
</thead> |
|
|
|
<tbody> |
|
|
|
<tr> |
|
|
|
<td> |
|
|
|
<div class="flex a-c">视力1:<el-input v-model="confirmData.zlqSlOd" style="flex: 1" /></div> |
|
|
|
<div class="flex a-c">疾病分期:<el-input v-model="confirmData.zlqJbfqOd" style="flex: 1" /></div> |
|
|
|
</td> |
|
|
|
<td> |
|
|
|
<div class="descImg" @click="editImg('OD')"> |
|
|
|
<div>示意图</div> |
|
|
|
<img v-if="confirmData.zlqSytOd" :src="confirmData.zlqSytOd"> |
|
|
|
</div> |
|
|
|
</td> |
|
|
|
<td> |
|
|
|
<div class="flex a-c">视力2:<el-input v-model="confirmData.zlqSlOs" style="flex: 1" /></div> |
|
|
|
<div class="flex a-c">疾病分期:<el-input v-model="confirmData.zlqJbfqOs" style="flex: 1" /></div> |
|
|
|
</td> |
|
|
|
<td> |
|
|
|
<div class="descImg" @click="editImg('OS')"> |
|
|
|
<div>示意图</div> |
|
|
|
<img v-if="confirmData.zlqSytOs" :src="confirmData.zlqSytOs"> |
|
|
|
</div> |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
</tbody> |
|
|
|
</table> |
|
|
|
<div class="flex m-b"> |
|
|
|
<div class="label_width"> |
|
|
|
治疗前: |
|
|
|
</div> |
|
|
|
<table class="treatAction"> |
|
|
|
<tbody> |
|
|
|
<tr> |
|
|
|
<td> |
|
|
|
视力 |
|
|
|
</td> |
|
|
|
<td> |
|
|
|
疾病分期 |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<td> |
|
|
|
<el-input v-model="confirmData.zlqSlOd" style="flex: 1" /> |
|
|
|
</td> |
|
|
|
<td> |
|
|
|
<el-input v-model="confirmData.zlqJbfqOd" style="flex: 1" /> |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
</tbody> |
|
|
|
</table> |
|
|
|
</div> |
|
|
|
<!-- 激光治疗--> |
|
|
|
<div class="subTitle">激光治疗</div> |
|
|
|
<table class="treatAction"> |
|
|
|
<thead> |
|
|
|
<tr> |
|
|
|
<th colspan="2">OD</th> |
|
|
|
<th colspan="2">OS</th> |
|
|
|
</tr> |
|
|
|
</thead> |
|
|
|
<tbody> |
|
|
|
<tr v-for="(item,index) in treatData" :key="index"> |
|
|
|
<td> |
|
|
|
<div class="flex a-c">日期: |
|
|
|
<el-date-picker |
|
|
|
v-model="item.OD.date" |
|
|
|
type="date" |
|
|
|
value-format="yyyy-MM-dd" |
|
|
|
/> |
|
|
|
</div> |
|
|
|
<div class="flex a-c">次数:<el-input v-model="item.OD.order" style="flex: 1" /></div> |
|
|
|
<div class="flex a-c">视力:<el-input v-model="item.OD.vision" style="flex: 1" /></div> |
|
|
|
<div class="flex a-c">光斑大小:<el-input v-model="item.OD.flareSize" style="flex: 1" /></div> |
|
|
|
<div class="flex a-c">功率:<el-input v-model="item.OD.power" style="flex: 1" /></div> |
|
|
|
<div class="flex a-c">点数:<el-input v-model="item.OD.count" style="flex: 1" /></div> |
|
|
|
</td> |
|
|
|
<td> |
|
|
|
<div class="descImg" @click="editImg('treat-OD',index)"> |
|
|
|
<div>示意图</div> |
|
|
|
<img v-if="item.OD.imgSrc" :src="item.OD.imgSrc"> |
|
|
|
</div> |
|
|
|
</td> |
|
|
|
<td> |
|
|
|
<div class="flex a-c">日期: |
|
|
|
<el-date-picker |
|
|
|
v-model="item.OS.date" |
|
|
|
type="date" |
|
|
|
value-format="yyyy-MM-dd" |
|
|
|
/> |
|
|
|
</div> |
|
|
|
<div class="flex a-c">次数:<el-input v-model="item.OS.order" style="flex: 1" /></div> |
|
|
|
<div class="flex a-c">视力:<el-input v-model="item.OS.vision" style="flex: 1" /></div> |
|
|
|
<div class="flex a-c">光斑大小:<el-input v-model="item.OS.flareSize" style="flex: 1" /></div> |
|
|
|
<div class="flex a-c">功率:<el-input v-model="item.OS.power" style="flex: 1" /></div> |
|
|
|
<div class="flex a-c">点数:<el-input v-model="item.OS.count" style="flex: 1" /></div> |
|
|
|
</td> |
|
|
|
<td> |
|
|
|
<div class="descImg" @click="editImg('treat-OS',index)"> |
|
|
|
<div>示意图</div> |
|
|
|
<img v-if="item.OS.imgSrc" :src="item.OS.imgSrc"> |
|
|
|
</div> |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
</tbody> |
|
|
|
</table> |
|
|
|
<div class="flex m-b" style="margin-top: 20px"> |
|
|
|
<div class="label_width"> |
|
|
|
激光治疗: |
|
|
|
</div> |
|
|
|
<table class="treatAction"> |
|
|
|
<tbody> |
|
|
|
<tr> |
|
|
|
<td> |
|
|
|
次数 |
|
|
|
</td> |
|
|
|
<td> |
|
|
|
<el-input v-model="treatData.order" style="flex: 1" /> |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<td> |
|
|
|
曝光时间 |
|
|
|
</td> |
|
|
|
<td> |
|
|
|
<el-input v-model="treatData.vision" style="flex: 1" /> |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<td> |
|
|
|
光斑大小 |
|
|
|
</td> |
|
|
|
<td> |
|
|
|
<el-input v-model="treatData.flareSize" style="flex: 1" /> |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<td> |
|
|
|
功率 |
|
|
|
</td> |
|
|
|
<td> |
|
|
|
<el-input v-model="treatData.power" style="flex: 1" /> |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<td> |
|
|
|
点数 |
|
|
|
</td> |
|
|
|
<td> |
|
|
|
<el-input v-model="treatData.count" style="flex: 1" /> |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
</tbody> |
|
|
|
</table> |
|
|
|
<div class="descImg" @click="editImg()"> |
|
|
|
<div>示意图</div> |
|
|
|
<img v-if="treatData.imgSrc" :src="treatData.imgSrc"> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="flex a-c"> |
|
|
|
<div class="flex a-c item"> |
|
|
|
<div class="label_width">操作人:</div> |
|
|
|
<el-input v-model="confirmData.operator" style="flex: 1" /> |
|
|
|
</div> |
|
|
|
<div class="flex a-c item"> |
|
|
|
<div class="label_width">操作时间:</div> |
|
|
|
<el-date-picker |
|
|
|
v-model="treatData.date" |
|
|
|
style="flex: 1" |
|
|
|
type="date" |
|
|
|
value-format="yyyy-MM-dd" |
|
|
|
/> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<img-editor ref="imgEditorRef" @fullImgBack="fullImgBack" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
@ -145,8 +173,6 @@ export default { |
|
|
|
}, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
curType: '', |
|
|
|
curIndex: '', |
|
|
|
origin: '', |
|
|
|
confirmData: { |
|
|
|
patientAddress: '', |
|
|
@ -158,85 +184,36 @@ export default { |
|
|
|
jzNumber: '', |
|
|
|
diagnostic: '', |
|
|
|
idList: [], |
|
|
|
eyeType: '', |
|
|
|
// 治疗前 |
|
|
|
zlqSlOd: '', |
|
|
|
zlqJbfqOd: '', |
|
|
|
zlqSytOd: '', |
|
|
|
zlqSlOs: '', |
|
|
|
zlqJbfqOs: '', |
|
|
|
zlqSytOs: '', |
|
|
|
// 治疗后 |
|
|
|
jgzlCountOd1: '', |
|
|
|
jgzlDateOd1: '', |
|
|
|
jgzlDsOd1: '', |
|
|
|
jgzlGbOd1: '', |
|
|
|
jgzlGlOd1: '', |
|
|
|
jgzlSlOd1: '', |
|
|
|
jgzlSytOd1: '' |
|
|
|
operator: '', |
|
|
|
operationDate: '' |
|
|
|
}, |
|
|
|
// 治疗后 |
|
|
|
treatData: [ |
|
|
|
{ |
|
|
|
OD: { |
|
|
|
date: '', |
|
|
|
order: '', |
|
|
|
vision: '', |
|
|
|
flareSize: '', |
|
|
|
power: '', |
|
|
|
count: '', |
|
|
|
imgSrc: '' |
|
|
|
}, |
|
|
|
OS: { |
|
|
|
date: '', |
|
|
|
order: '', |
|
|
|
vision: '', |
|
|
|
flareSize: '', |
|
|
|
power: '', |
|
|
|
count: '', |
|
|
|
imgSrc: '' |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
OD: { |
|
|
|
date: '', |
|
|
|
order: '', |
|
|
|
vision: '', |
|
|
|
flareSize: '', |
|
|
|
power: '', |
|
|
|
count: '', |
|
|
|
imgSrc: '' |
|
|
|
}, |
|
|
|
OS: { |
|
|
|
date: '', |
|
|
|
order: '', |
|
|
|
vision: '', |
|
|
|
flareSize: '', |
|
|
|
power: '', |
|
|
|
count: '', |
|
|
|
imgSrc: '' |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
OD: { |
|
|
|
date: '', |
|
|
|
order: '', |
|
|
|
vision: '', |
|
|
|
flareSize: '', |
|
|
|
power: '', |
|
|
|
count: '', |
|
|
|
imgSrc: '' |
|
|
|
}, |
|
|
|
OS: { |
|
|
|
date: '', |
|
|
|
order: '', |
|
|
|
vision: '', |
|
|
|
flareSize: '', |
|
|
|
power: '', |
|
|
|
count: '', |
|
|
|
imgSrc: '' |
|
|
|
} |
|
|
|
} |
|
|
|
] |
|
|
|
options: [{ |
|
|
|
value: 'OD', |
|
|
|
label: 'OD' |
|
|
|
}, { |
|
|
|
value: 'OS', |
|
|
|
label: 'OS' |
|
|
|
}], |
|
|
|
treatData: { |
|
|
|
date: '', |
|
|
|
order: '', |
|
|
|
vision: '', |
|
|
|
flareSize: '', |
|
|
|
power: '', |
|
|
|
count: '', |
|
|
|
imgSrc: '' |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
watch: { |
|
|
@ -257,24 +234,12 @@ export default { |
|
|
|
this.getConfirmDetail() |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
editImg(val, index) { |
|
|
|
this.curType = val |
|
|
|
this.curIndex = index |
|
|
|
editImg() { |
|
|
|
this.$refs.imgEditorRef.init() |
|
|
|
}, |
|
|
|
fullImgBack(val) { |
|
|
|
switch (this.curType) { |
|
|
|
case 'OD': |
|
|
|
this.confirmData.zlqSytOd = val |
|
|
|
break |
|
|
|
case 'OS': |
|
|
|
this.confirmData.zlqSytOs = val |
|
|
|
break |
|
|
|
case 'treat-OD': |
|
|
|
this.formData.treatData[this.curIndex].OD.imgSrc = val |
|
|
|
break |
|
|
|
case 'treat-OS': |
|
|
|
this.formData.treatData[this.curIndex].OS.imgSrc = val |
|
|
|
if (val) { |
|
|
|
this.treatData.imgSrc = val |
|
|
|
} |
|
|
|
}, |
|
|
|
getConfirmDetail() { |
|
|
@ -290,43 +255,10 @@ export default { |
|
|
|
this.confirmData.zlqSlOs = detail.zlqSlOs || '' |
|
|
|
this.confirmData.zlqJbfqOs = detail.zlqJbfqOs || '' |
|
|
|
this.confirmData.zlqSytOs = detail.zlqSytOs || '' |
|
|
|
// 治疗 |
|
|
|
this.treatData.forEach((item, index) => { |
|
|
|
item.OD.date = detail[`jgzlDateOd${index + 1}`] |
|
|
|
item.OD.order = detail[`jgzlCountOd${index + 1}`] |
|
|
|
item.OD.count = detail[`jgzlDsOd${index + 1}`] |
|
|
|
item.OD.vision = detail[`jgzlSlOd${index + 1}`] |
|
|
|
item.OD.power = detail[`jgzlGlOd${index + 1}`] |
|
|
|
item.OD.flareSize = detail[`jgzlGbOd${index + 1}`] |
|
|
|
item.OD.imgSrc = detail[`jgzlSytOd${index + 1}`] |
|
|
|
item.OS.date = detail[`jgzlDateOs${index + 1}`] |
|
|
|
item.OS.order = detail[`jgzlCountOs${index + 1}`] |
|
|
|
item.OS.count = detail[`jgzlDsOs${index + 1}`] |
|
|
|
item.OS.vision = detail[`jgzlSlOs${index + 1}`] |
|
|
|
item.OS.power = detail[`jgzlGlOs${index + 1}`] |
|
|
|
item.OS.flareSize = detail[`jgzlGbOs${index + 1}`] |
|
|
|
item.OS.imgSrc = detail[`jgzlSytOs${index + 1}`] |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 保存传值处理 |
|
|
|
handleConfirmData() { |
|
|
|
this.treatData.forEach((item, index) => { |
|
|
|
this.confirmData[`jgzlDateOd${index + 1}`] = item.OD.date |
|
|
|
this.confirmData[`jgzlCountOd${index + 1}`] = item.OD.order |
|
|
|
this.confirmData[`jgzlDsOd${index + 1}`] = item.OD.count |
|
|
|
this.confirmData[`jgzlSlOd${index + 1}`] = item.OD.vision |
|
|
|
this.confirmData[`jgzlGlOd${index + 1}`] = item.OD.power |
|
|
|
this.confirmData[`jgzlGbOd${index + 1}`] = item.OD.flareSize |
|
|
|
this.confirmData[`jgzlSytOd${index + 1}`] = item.OD.imgSrc |
|
|
|
this.confirmData[`jgzlDateOS${index + 1}`] = item.OS.date |
|
|
|
this.confirmData[`jgzlCountOS${index + 1}`] = item.OS.order |
|
|
|
this.confirmData[`jgzlDsOS${index + 1}`] = item.OS.count |
|
|
|
this.confirmData[`jgzlSlOS${index + 1}`] = item.OS.vision |
|
|
|
this.confirmData[`jgzlGlOS${index + 1}`] = item.OS.power |
|
|
|
this.confirmData[`jgzlGbOS${index + 1}`] = item.OS.flareSize |
|
|
|
this.confirmData[`jgzlSytOS${index + 1}`] = item.OS.imgSrc |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 保存 |
|
|
|
handleSaveTable() { |
|
|
@ -355,6 +287,11 @@ export default { |
|
|
|
</script> |
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
|
.label_width{ |
|
|
|
width: 100px; |
|
|
|
text-align: right; |
|
|
|
margin-right: 10px; |
|
|
|
} |
|
|
|
#laserFunc{ |
|
|
|
padding: 20px; |
|
|
|
} |
|
|
@ -373,15 +310,16 @@ export default { |
|
|
|
margin-right: 15px; |
|
|
|
} |
|
|
|
} |
|
|
|
.subTitle{ |
|
|
|
text-align: center; |
|
|
|
font-size: 16px; |
|
|
|
font-weight: 500; |
|
|
|
margin: 30px 0 10px 0; |
|
|
|
.m-b{ |
|
|
|
margin-bottom: 10px; |
|
|
|
} |
|
|
|
.descImg{ |
|
|
|
font-size: 12px; |
|
|
|
height: 140px; |
|
|
|
padding: 10px; |
|
|
|
flex: 1; |
|
|
|
border: 1px solid #ccc; |
|
|
|
margin-left: 20px; |
|
|
|
height: 200px; |
|
|
|
div{ |
|
|
|
height: 20px; |
|
|
|
text-align: left; |
|
|
@ -392,6 +330,7 @@ export default { |
|
|
|
} |
|
|
|
.treatAction{ |
|
|
|
width: 100%; |
|
|
|
flex: 1; |
|
|
|
tr td,tr th{ |
|
|
|
border: 1px solid #ccc; |
|
|
|
padding: 5px; |
|
|
@ -416,7 +355,13 @@ export default { |
|
|
|
border-radius: 0; |
|
|
|
padding: 0; |
|
|
|
} |
|
|
|
::v-deep .el-textarea__inner{ |
|
|
|
border: none; |
|
|
|
} |
|
|
|
::v-deep .el-input__prefix { |
|
|
|
display: none; |
|
|
|
} |
|
|
|
::v-deep .el-icon-arrow-up{ |
|
|
|
display: none; |
|
|
|
} |
|
|
|
</style> |
|
|
|