Browse Source

一月内容修改

master
bianyaqi 2 years ago
parent
commit
5125a70ba6
  1. 36
      src/page-subspecialty/views/modules/optometryManagement/cornea/index.vue
  2. 1
      src/page-subspecialty/views/modules/optometryManagement/outFocusEye/eyeAxis.vue
  3. 19
      src/page-subspecialty/views/modules/optometryManagement/outFocusEye/outDetail.vue
  4. 10
      src/page-subspecialty/views/modules/optometryManagement/outFocusEye/sunAxis.vue
  5. 11
      src/page-subspecialty/views/modules/optometryManagement/seeDoctor/CornealReview.vue
  6. 1
      src/page-subspecialty/views/modules/optometryManagement/seeDoctor/eyeAxis.vue
  7. 11
      src/page-subspecialty/views/modules/optometryManagement/seeDoctor/index.vue
  8. 12
      src/page-subspecialty/views/modules/optometryManagement/seeDoctor/reviewSum.vue
  9. 216
      src/page-subspecialty/views/modules/optometryManagement/seeDoctor/visChange.vue

36
src/page-subspecialty/views/modules/optometryManagement/cornea/index.vue

@ -55,7 +55,7 @@
<template slot-scope="scope">
<div v-if="scope.row.brandEyeTypeList && scope.row.brandEyeTypeList.length">
<span class="odType">{{ scope.row.brandEyeTypeList[0]. brand }}</span>
<span class="osType">{{ scope.row.brandEyeTypeList[1] ? '/' + scope.row.brandEyeTypeList[1].brand : ''}}</span>
<span class="osType">{{ scope.row.brandEyeTypeList[1] ? '/' + scope.row.brandEyeTypeList[1].brand : '' }}</span>
</div>
</template>
</el-table-column>
@ -63,7 +63,7 @@
<template slot-scope="scope">
<div v-if="scope.row.brandEyeTypeList && scope.row.brandEyeTypeList.length">
<span class="odType">{{ scope.row.brandEyeTypeList[0].eyeType }}</span>
<span class="osType">{{ scope.row.brandEyeTypeList[1] ? '/' + scope.row.brandEyeTypeList[1].eyeType : ''}}</span>
<span class="osType">{{ scope.row.brandEyeTypeList[1] ? '/' + scope.row.brandEyeTypeList[1].eyeType : '' }}</span>
</div>
</template>
</el-table-column>
@ -105,6 +105,11 @@
class="operation-details"
@click="browseClick(scope.row)"
>OK镜</span>
<span
style="color: #ff183b;"
class="operation-details"
@click="handleDel(scope.row)"
>删除</span>
</template>
</el-table-column>
</el-table>
@ -192,6 +197,33 @@ export default {
}
})
},
//
handleDel(row) {
this.$confirm('是否删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.deletePatient(row.id)
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
},
async deletePatient(id) {
const params = {
id: id
}
const { data: res } = await this.$http.post('/lenses/delPatientInfo', params)
if (res.code === 0) {
this.$message.success('删除成功')
await this.pageCurrentChangeHandle(this.page)
} else {
this.$message.error(res.msg)
}
},
handleType(value, index) {
this.curIndex = index
this.dataForm.nextCheckFlag = value

1
src/page-subspecialty/views/modules/optometryManagement/outFocusEye/eyeAxis.vue

@ -43,7 +43,6 @@ export default {
patientId: this.patientId
}}).then(res => {
this.loading = false
console.log(res)
this.chartData = res.data.data
this.initFun()
})

19
src/page-subspecialty/views/modules/optometryManagement/outFocusEye/outDetail.vue

@ -151,9 +151,17 @@
<reviewForm v-if="activeName==='2'" :patient-id="patientId" />
</el-tab-pane>
<el-tab-pane label="眼轴折线图" name="3">
<eye-axis v-if="activeName==='3'" :patient-id="patientId" :id-name="'eyeAxis'" />
<div style="margin-top: 32px">
<sun-axis v-if="activeName==='3'" :patient-id="patientId" :id-name="'sunAxis'" />
<div class="axisModel">
<eye-axis v-if="activeName==='3'" :patient-id="patientId" :id-name="'eyeAxis'" />
<div style="margin-top: 32px">
<sun-axis v-if="activeName==='3'" :patient-id="patientId" :id-name="'sunAxis'" params-name="lhgd" />
</div>
<div style="margin-top: 32px">
<sun-axis v-if="activeName==='3'" desc="球镜" :patient-id="patientId" :id-name="'qjAxis'" params-name="ds" />
</div>
<div style="margin-top: 32px">
<sun-axis v-if="activeName==='3'" desc="柱镜" :patient-id="patientId" :id-name="'zjAxis'" params-name="dc" />
</div>
</div>
</el-tab-pane>
</el-tabs>
@ -404,6 +412,11 @@ export default {
::v-deep .el-icon-arrow-up{
display: none;
}
.axisModel{
height: 100%;
overflow: hidden;
overflow-y: scroll;
}
</style>
<style lang="scss">

10
src/page-subspecialty/views/modules/optometryManagement/outFocusEye/sunAxis.vue

@ -8,8 +8,9 @@
import moment from 'moment/moment'
export default {
name: 'sunAxis',
name: 'SunAxis',
props: {
paramsName: { type: String, default: '' },
idName: { type: String, default: 'chart' },
width: { type: String, default: '100%' },
height: { type: String, default: '200px' },
@ -43,7 +44,6 @@ export default {
patientId: this.patientId
}}).then(res => {
this.loading = false
console.log(res)
this.chartData = res.data.data
this.initFun()
})
@ -61,9 +61,11 @@ export default {
this.disabled = false
this.chartData.forEach(item => {
this.date.push(moment(item.checkDate).format('l'))
this.typeList.OD.push([item.checkDate, item.lhgdOd])
const odName = this.paramsName + 'Od'
const osName = this.paramsName + 'Os'
this.typeList.OD.push([item.checkDate, item[odName]])
this.legendData[0] = 'OD'
this.typeList.OS.push([item.checkDate, item.lhgdOs])
this.typeList.OS.push([item.checkDate, item[osName]])
this.legendData[1] = 'OS'
})
} else {

11
src/page-subspecialty/views/modules/optometryManagement/seeDoctor/CornealReview.vue

@ -304,11 +304,20 @@ export default {
],
visionList: [
{
label: 1.0,
label: 1.2,
value: 1.2
}, {
label: '1.0',
value: 1.0
}, {
label: 0.9,
value: 0.9
}, {
label: 0.8,
value: 0.8
}, {
label: 0.7,
value: 0.7
}, {
label: 0.6,
value: 0.6

1
src/page-subspecialty/views/modules/optometryManagement/seeDoctor/eyeAxis.vue

@ -97,7 +97,6 @@ export default {
backgroundColor: item === 'OD' ? '#4a6bff' : '#0db760',
padding: [6, 6],
color: '#ffffff',
// color: 'rgba(24, 24, 24, 0.1)',
borderRadius: 10
},
smooth: true,

11
src/page-subspecialty/views/modules/optometryManagement/seeDoctor/index.vue

@ -25,8 +25,8 @@
<notice-book v-if="activeName==='noticeBook'" :patient-id="patientId" />
</el-tab-pane>
<el-tab-pane label="首诊单" name="firstVisit">
<firstForm v-if="activeName==='firstVisit'" :patient-id="patientId"></firstForm>
<!-- <first-visit v-if="activeName==='firstVisit'" :patient-id="patientId" />-->
<firstForm v-if="activeName==='firstVisit'" :patient-id="patientId" />
<!-- <first-visit v-if="activeName==='firstVisit'" :patient-id="patientId" />-->
</el-tab-pane>
<el-tab-pane label="OK镜" name="okLens">
<ok-lens-rgp v-if="activeName==='okLens'" ref="okLensRgp" :patient-id="patientId" :doctor-list="doctorList" tab-title="okLens" />
@ -49,6 +49,9 @@
<el-tab-pane label="眼轴变化图" name="eyeAxis">
<eye-axis v-if="activeName==='eyeAxis'" :patient-id="patientId" :id-name="'eyeAxis'" />
</el-tab-pane>
<el-tab-pane label="视力变化图" name="slbhAxis">
<vis-change v-if="activeName==='slbhAxis'" :patient-id="patientId" :id-name="'slbhAxis'" height="400px" desc="视力变化图" />
</el-tab-pane>
</el-tabs>
</div>
</div>
@ -61,10 +64,12 @@ import review from './review.vue' // 复查情况
import historyFile from './historyRecord.vue' //
import okLensRgp from './ok-lens-rgp/index.vue'
import ReviewSum from '@/page-subspecialty/views/modules/optometryManagement/seeDoctor/reviewSum.vue'
import EyeAxis from '@/page-subspecialty/views/modules/optometryManagement/seeDoctor/eyeAxis.vue' // ok
import EyeAxis from '@/page-subspecialty/views/modules/optometryManagement/seeDoctor/eyeAxis.vue'
import VisChange from '@/page-subspecialty/views/modules/optometryManagement/seeDoctor/visChange.vue'
export default {
components: {
VisChange,
EyeAxis,
ReviewSum,
firstVisit,

12
src/page-subspecialty/views/modules/optometryManagement/seeDoctor/reviewSum.vue

@ -12,6 +12,10 @@
<td>眼别</td>
<td>视力</td>
<td>眼轴</td>
<td>角膜地形图</td>
<td>眼表角膜</td>
<td>眼表结膜</td>
<td>眼表其他</td>
</tr>
<template v-for="(item,index) in dataList">
<tr :key="index" :class="{success:index%2}">
@ -19,11 +23,19 @@
<td>OD</td>
<td>{{ item.odVan }}</td>
<td>{{ item.odIol }}</td>
<td>{{ item.jmdxtOd }}</td>
<td>{{ item.corneaOd }}</td>
<td>{{ item.conjunctivaOd }}</td>
<td>{{ item.otherOd }}</td>
</tr>
<tr :key="`_${index}`" :class="{success:index%2}">
<td>OS</td>
<td>{{ item.osVan }}</td>
<td>{{ item.osIol }}</td>
<td>{{ item.jmdxtOs }}</td>
<td>{{ item.corneaOs }}</td>
<td>{{ item.conjunctivaOs }}</td>
<td>{{ item.otherOs }}</td>
</tr>
</template>
</table>

216
src/page-subspecialty/views/modules/optometryManagement/seeDoctor/visChange.vue

@ -0,0 +1,216 @@
<template>
<div v-loading="loading">
<div v-if="chartData.length" :id="idName" ref="yanyaRef" :style="{ height: height, width: width }" />
<div
v-else
style="height: 100%;background: #fff;display: flex;align-items: center;justify-content: center"
>
<img src="@/assets/img/nodata.png" alt="">
</div>
</div>
</template>
<script>
import moment from 'moment/moment'
export default {
name: 'EyeAxis',
props: {
idName: { type: String, default: 'chart' },
width: { type: String, default: '100%' },
height: { type: String, default: '200px' },
desc: { type: String, default: '' },
patientId: {
type: String
}
},
data() {
return {
loading: false,
date: [],
typeList: {
OD: [],
OS: [],
typeNull: []
},
chartData: [],
legendData: [],
seriesData: [],
disabled: false
}
},
mounted() {
this.queryAxisData()
},
methods: {
queryAxisData() {
this.loading = true
this.$http.get('hospital/notice/getAllSecDiagInfoByPid', { params: {
patientId: this.patientId
}}).then(res => {
this.loading = false
this.chartData = res.data.data.slAndYzList
this.initFun()
})
},
initFun() {
this.date = []
this.typeList = {
OD: [],
OS: [],
typeNull: []
}
this.legendData = []
this.seriesData = []
if (this.chartData && this.chartData.length > 0) {
this.disabled = false
this.chartData.forEach(item => {
this.date.push(moment(item.examTime).format('l'))
this.typeList.OD.push([item.examTime, item.odVan])
this.legendData[0] = 'OD'
this.typeList.OS.push([item.examTime, item.osVan])
this.legendData[1] = 'OS'
})
} else {
this.disabled = true
}
this.$nextTick(() => {
this.visionFun()
})
},
visionFun() {
// domecharts
const yanya = this.$echarts.init(document.getElementById(this.idName))
var colors = ['#4462FF', '#0DB760', '#000000']
Object.keys(this.typeList).forEach((item, index) => {
if (this.typeList[item].length > 0) {
this.seriesData.push({
name: item,
type: 'line',
// stack: index,
data: this.typeList[item],
label: {
show: true,
position: item === 'OD' ? [-25, -30] : [10, -5],
backgroundColor: item === 'OD' ? '#4a6bff' : '#0db760',
padding: [6, 6],
color: '#ffffff',
borderRadius: 10
},
smooth: true,
itemStyle: {
color: colors[index]
},
symbolSize: 10
})
}
})
// domecharts
yanya.setOption({
title: {
text: this.desc,
textStyle: {
'color': '#000000'
},
left: 10
},
tooltip: {
// trigger: 'axis'
backgroundColor: '#ece6e6',
textStyle: {
color: '#000000' //
},
formatter(params) {
return params.seriesName + '<br/>' + params.data[0] + '&nbsp&nbsp&nbsp' + params.data[1]
}
},
legend: {
data: this.legendData,
icon: 'pin',
textStyle: {
color: '#000000'
},
right: 30
},
dataZoom: [
{
type: 'inside',
disabled: this.disabled,
start: 0,
end: 100
}
],
grid: {
top: 55,
left: 50,
right: 50,
bottom: 30,
containLabel: false
},
xAxis: {
type: 'time',
boundaryGap: false,
axisLabel: {
show: true,
showMaxLabel: true,
textStyle: {
color: '#000000'
},
formatter: function(value, index) {
const showD = moment(value).format('YYYY/M/D')
return showD
}
},
axisLine: {
lineStyle: {
color: 'rgba(24, 24, 24, 0.1)'
}
},
// 线
splitLine: {
show: true
}
},
yAxis: {
type: 'value',
min: function(value) { //
return Math.floor(value.min)
},
max: function(value) { //
return Math.ceil(value.max)
},
splitNumber: 1, //
interval: 0.1,
axisLabel: {
show: true,
textStyle: {
color: '#000000'
}
},
axisLine: {
lineStyle: {
color: 'rgba(24, 24, 24, 0.1)'
}
}
},
series: [
...this.seriesData
]
})
//
window.addEventListener('resize', () => { yanya.resize() })
// div
this.$erd.listenTo(this.$refs.yanyaRef, () => {
this.$nextTick(() => {
yanya.resize()
})
})
}
}
}
</script>
<style scoped>
</style>
Loading…
Cancel
Save