42 changed files with 9734 additions and 1910 deletions
@ -0,0 +1,704 @@ |
|||
<template> |
|||
<div id="operation-record" style=" background: #fff; padding: 10px 20px 50px 20px;page-break-after:always"> |
|||
<div class="btnBox"> |
|||
<el-button v-print="'#threeFunc'" 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="threeFunc" style="width: 840px;padding-right: 8px"> |
|||
<p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;"> |
|||
青少年儿童屈光发育档案 |
|||
</p> |
|||
<div class="operation-record-table"> |
|||
<el-table :data="headData" :span-method="headSpanMethod" border style="width: 820px; margin-top: 20px"> |
|||
<el-table-column label="" width="" align="center" :resizable="false"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.name }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="" width="" :resizable="false" prop="type"> |
|||
<template slot-scope="scope"> |
|||
<div v-if="scope.row.name == '姓名'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.patientName" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '身高'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.height" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '是否戴镜'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.isMirror" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="" width="" :resizable="false"> |
|||
<template slot-scope="scope"> |
|||
<div v-if="scope.row.name == '姓名'"> |
|||
<div class="width-100 center"> |
|||
性别 |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '身高'"> |
|||
<div class="width-100 center"> |
|||
体重 |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '是否戴镜'"> |
|||
<div class="width-100 center"> |
|||
戴镜习惯 |
|||
</div> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="" width="" :resizable="false"> |
|||
<template slot-scope="scope"> |
|||
<div v-if="scope.row.name == '姓名'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.sex" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '身高'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.weight" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '是否戴镜'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.mirrorHabit" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="" width="" :resizable="false"> |
|||
<template slot-scope="scope"> |
|||
<div v-if="scope.row.name == '姓名'"> |
|||
<div class="width-100 center"> |
|||
出生日期 |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '身高'"> |
|||
<div class="width-100 center"> |
|||
何时发现视力下降 |
|||
</div> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="" width="" :resizable="false"> |
|||
<template slot-scope="scope"> |
|||
<div v-if="scope.row.name == '姓名'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.birthday" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '身高'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.time" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<el-table :data="tableData" :span-method="objectSpanMethod" border style="width: 820px"> |
|||
<el-table-column label="" width="" align="center" :resizable="false"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ scope.row.name }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="" width="" :resizable="false" prop="type"> |
|||
<template slot-scope="scope"> |
|||
<div v-if="scope.row.name == '戴镜类型'"> |
|||
<div class="width-180 center"> |
|||
<el-checkbox-group v-model="scope.row.mirrorType"> |
|||
<el-checkbox label="框架" /> |
|||
<el-checkbox label="OK镜" /> |
|||
<el-checkbox label="RGP" /> |
|||
<el-checkbox label="软镜" /> |
|||
</el-checkbox-group> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '旧镜参数'"> |
|||
<div class="width-120 center"> |
|||
OD:<el-input v-model="scope.row.od" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '父母是否近视'"> |
|||
<div class="width-180 center"> |
|||
<el-checkbox-group v-model="scope.row.shortsighte"> |
|||
<el-checkbox label="父亲" /> |
|||
<el-checkbox label="母亲" /> |
|||
<el-checkbox label="父亲和母亲" /> |
|||
<el-checkbox label="均无" /> |
|||
</el-checkbox-group> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '户外活动时间'"> |
|||
<div class="width-180 center"> |
|||
<el-checkbox-group v-model="scope.row.outTime"> |
|||
<el-checkbox label="<1h" /> |
|||
<el-checkbox label="1h-2h" /> |
|||
<el-checkbox label=">2h" /> |
|||
</el-checkbox-group> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '备注'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.note" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '项目'"> |
|||
<div class="width-180 center"> |
|||
OD |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '裸眼/旧镜视力'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.od" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '是否散瞳'"> |
|||
<div class="width-180 center"> |
|||
<el-checkbox-group v-model="scope.row.mydriasis"> |
|||
<el-checkbox label="未散瞳" /> |
|||
<el-checkbox label="美多丽" /> |
|||
<el-checkbox label="阿托品" /> |
|||
<el-checkbox label="其他" /> |
|||
</el-checkbox-group> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '主觉验光'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.od" placeholder="" style="width: 100px" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '眼位'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.od" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '眼压/mmHg'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.od" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '角膜曲率/D'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.od" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '角膜厚度/μm'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.od" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '处方'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.od" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '建议'"> |
|||
<div class="width-180 center"> |
|||
<el-checkbox-group v-model="scope.row.suggest"> |
|||
<el-checkbox label="框架" /> |
|||
<el-checkbox label="OK镜" /> |
|||
<el-checkbox label="RGP" /> |
|||
<el-checkbox label="软镜" /> |
|||
<el-checkbox label="其他" /> |
|||
</el-checkbox-group> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '眼轴/眼底照/地形图'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.type" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="" width="" :resizable="false"> |
|||
<template slot-scope="scope"> |
|||
<div v-if="scope.row.name == '旧镜参数'"> |
|||
<div class="width-120 center"> |
|||
OS:<el-input v-model="scope.row.os" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '项目'"> |
|||
<div class="width-180 center"> |
|||
OS |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '裸眼/旧镜视力'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.os" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '主觉验光'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.os" placeholder="" style="width: 100px" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '眼位'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.os" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '眼压/mmHg'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.os" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '角膜曲率/D'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.os" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '角膜厚度/μm'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.os" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '处方'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.os" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
export default { |
|||
props: { |
|||
archiveCaseCRFItem: { |
|||
type: Object, |
|||
default: () => { } |
|||
}, |
|||
formContent: { |
|||
type: Object, |
|||
default: () => { } |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
dataForm: { |
|||
yghcValue: '', |
|||
operationListValueOD: [] |
|||
}, |
|||
headData: [ |
|||
{ |
|||
name: '个人基础信息', |
|||
type: '' |
|||
}, |
|||
{ |
|||
name: '姓名', |
|||
patientName: '', |
|||
sex: '', |
|||
birthday: '', |
|||
type: '' |
|||
}, { |
|||
name: '身高', |
|||
height: '', |
|||
weight: '', |
|||
time: '' |
|||
}, { |
|||
name: '是否戴镜', |
|||
isMirror: '', |
|||
mirrorHabit: '', |
|||
type: '' |
|||
}], |
|||
tableData: [ |
|||
{ |
|||
name: '戴镜类型', |
|||
mirrorType: [] |
|||
}, |
|||
{ |
|||
name: '旧镜参数', |
|||
od: '', |
|||
os: '', |
|||
type: '' |
|||
}, { |
|||
name: '父母是否近视', |
|||
shortsighte: [] |
|||
}, { |
|||
name: '户外活动时间', |
|||
outTime: [], |
|||
type: '' |
|||
}, { |
|||
name: '备注', |
|||
note: '' |
|||
}, { |
|||
name: '综合检查信息', |
|||
type: '1' |
|||
}, { |
|||
name: '项目' |
|||
}, { |
|||
name: '裸眼/旧镜视力', |
|||
od: '', |
|||
os: '' |
|||
}, { |
|||
name: '是否散瞳', |
|||
mydriasis: [] |
|||
}, { |
|||
name: '主觉验光', |
|||
od: '', |
|||
os: '', |
|||
vaod: '', |
|||
vaos: '', |
|||
type: '2' |
|||
}, { |
|||
name: '眼位', |
|||
od: '', |
|||
os: '', |
|||
type: '' |
|||
}, { |
|||
name: '眼压/mmHg', |
|||
od: '', |
|||
os: '' |
|||
}, { |
|||
name: '角膜曲率/D', |
|||
od: '', |
|||
os: '' |
|||
}, { |
|||
name: '角膜厚度/μm', |
|||
od: '', |
|||
os: '' |
|||
}, { |
|||
name: '处方', |
|||
od: '', |
|||
os: '' |
|||
}, { |
|||
name: '建议', |
|||
suggest: [] |
|||
}, { |
|||
name: '眼轴/眼底照/地形图', |
|||
type: '' |
|||
}] |
|||
} |
|||
}, |
|||
computed: { |
|||
operationRecord: { |
|||
get() { |
|||
return this.$store.getters.operationRecord |
|||
} |
|||
} |
|||
}, |
|||
watch: { |
|||
operationRecord: { |
|||
handler(value) { |
|||
console.log(value) |
|||
}, |
|||
deep: true, |
|||
immediate: true |
|||
} |
|||
}, |
|||
created() { |
|||
// this.printPage('threeFunc') |
|||
}, |
|||
methods: { |
|||
setData() { |
|||
this.headData = this.formContent.a |
|||
this.tableData = this.formContent.b |
|||
}, |
|||
reSet() { |
|||
this.headData = [ |
|||
{ |
|||
name: '个人基础信息', |
|||
type: '' |
|||
}, |
|||
{ |
|||
name: '姓名', |
|||
patientName: '', |
|||
sex: '', |
|||
birthday: '', |
|||
type: '' |
|||
}, { |
|||
name: '身高', |
|||
height: '', |
|||
weight: '', |
|||
time: '' |
|||
}, { |
|||
name: '是否戴镜', |
|||
isMirror: '', |
|||
mirrorHabit: '', |
|||
type: '' |
|||
}] |
|||
this.tableData = [ |
|||
{ |
|||
name: '戴镜类型', |
|||
mirrorType: [] |
|||
}, |
|||
{ |
|||
name: '旧镜参数', |
|||
od: '', |
|||
os: '', |
|||
type: '' |
|||
}, { |
|||
name: '父母是否近视', |
|||
shortsighte: [] |
|||
}, { |
|||
name: '户外活动时间', |
|||
outTime: [], |
|||
type: '' |
|||
}, { |
|||
name: '备注', |
|||
note: '' |
|||
}, { |
|||
name: '综合检查信息', |
|||
type: '1' |
|||
}, { |
|||
name: '项目' |
|||
}, { |
|||
name: '裸眼/旧镜视力', |
|||
od: '', |
|||
os: '' |
|||
}, { |
|||
name: '是否散瞳', |
|||
mydriasis: [] |
|||
}, { |
|||
name: '主觉验光', |
|||
od: '', |
|||
os: '', |
|||
vaod: '', |
|||
vaos: '', |
|||
type: '2' |
|||
}, { |
|||
name: '眼位', |
|||
od: '', |
|||
os: '', |
|||
type: '' |
|||
}, { |
|||
name: '眼压/mmHg', |
|||
od: '', |
|||
os: '' |
|||
}, { |
|||
name: '角膜曲率/D', |
|||
od: '', |
|||
os: '' |
|||
}, { |
|||
name: '角膜厚度/μm', |
|||
od: '', |
|||
os: '' |
|||
}, { |
|||
name: '处方', |
|||
od: '', |
|||
os: '' |
|||
}, { |
|||
name: '建议', |
|||
suggest: [] |
|||
}, { |
|||
name: '眼轴/眼底照/地形图', |
|||
type: '' |
|||
}] |
|||
}, |
|||
handleDelete() { |
|||
this.$emit('del') |
|||
}, |
|||
// 签名 |
|||
singHandle(text) { |
|||
const value = { |
|||
text: text, |
|||
pageName: 'operationRecord' |
|||
} |
|||
this.$store.commit('beginSign', value) |
|||
}, |
|||
objectSpanMethod({ row, column, rowIndex, columnIndex }) { |
|||
if (columnIndex === 0) { |
|||
if (rowIndex === 5) { |
|||
return { |
|||
rowspan: 1, |
|||
colspan: 3 |
|||
} |
|||
} |
|||
} else if (columnIndex === 1) { |
|||
if (rowIndex === 0 || rowIndex === 2 || rowIndex === 3 || rowIndex === 4 || rowIndex === 8 || rowIndex === 15 || rowIndex === 16) { |
|||
return { |
|||
rowspan: 1, |
|||
colspan: 2 |
|||
} |
|||
} else if (rowIndex === 5) { |
|||
return { |
|||
rowspan: 0, |
|||
colspan: 0 |
|||
} |
|||
} |
|||
} else if (columnIndex === 2) { |
|||
if (rowIndex === 0 || rowIndex === 2 || rowIndex === 3 || rowIndex === 4 || rowIndex === 5 || rowIndex === 8 || rowIndex === 15 || rowIndex === 16) { |
|||
return { |
|||
rowspan: 0, |
|||
colspan: 0 |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
headSpanMethod({ row, column, rowIndex, columnIndex }) { |
|||
if (columnIndex === 0) { |
|||
if (rowIndex === 0) { |
|||
return { |
|||
rowspan: 1, |
|||
colspan: 6 |
|||
} |
|||
} |
|||
} else if (columnIndex === 1 || columnIndex === 3) { |
|||
if (rowIndex === 3) { |
|||
return { |
|||
rowspan: 1, |
|||
colspan: 2 |
|||
} |
|||
} |
|||
} else if (columnIndex === 1 || columnIndex === 2 || columnIndex === 3 || columnIndex === 4 || columnIndex === 5) { |
|||
if (rowIndex === 0) { |
|||
return { |
|||
rowspan: 0, |
|||
colspan: 0 |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
handlePrint() { |
|||
this.printPage('threeFunc') |
|||
}, |
|||
handleSaveTable() { |
|||
const data = { |
|||
a: this.headData, |
|||
b: this.tableData |
|||
} |
|||
this.$emit('save', data) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
|
|||
#operation-record { |
|||
//height: 93%; |
|||
// overflow: auto; |
|||
.btnBox{ |
|||
display: flex; |
|||
justify-content: flex-end; |
|||
} |
|||
.el-table--border{ |
|||
border-right: 1px solid #EBEEF5; |
|||
} |
|||
.operation-record-table { |
|||
//width: 100%; |
|||
width: 840px !important; |
|||
padding-right: 8px; |
|||
.operation-text { |
|||
font-weight: 700; |
|||
} |
|||
.text { |
|||
font-weight: 700; |
|||
} |
|||
.sign { |
|||
cursor: pointer; |
|||
color: #46a1ff; |
|||
font-weight: 400; |
|||
} |
|||
} |
|||
.center { |
|||
text-align: center; |
|||
} |
|||
.left { |
|||
text-align: left; |
|||
} |
|||
|
|||
.width-50 { |
|||
.el-input { |
|||
width: 50px; |
|||
} |
|||
} |
|||
.width-70 { |
|||
.el-input { |
|||
width: 70px; |
|||
} |
|||
} |
|||
|
|||
.width-100 { |
|||
.el-input { |
|||
width: 100px; |
|||
} |
|||
} |
|||
.width-120 { |
|||
.el-input { |
|||
width: 120px; |
|||
} |
|||
} |
|||
.width-180 { |
|||
.el-input { |
|||
width: 180px; |
|||
} |
|||
} |
|||
.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; |
|||
padding: 0; |
|||
} |
|||
.el-input__prefix { |
|||
display: none; |
|||
} |
|||
//.el-date-editor.el-input, |
|||
//.el-date-editor.el-input__inner { |
|||
// width: 140px; |
|||
//} |
|||
//.el-input__suffix { |
|||
// top: -7px; |
|||
//} |
|||
//.el-checkbox__input.is-checked + .el-checkbox__label { |
|||
// color: #606266; |
|||
//} |
|||
//.el-checkbox__input.is-checked .el-checkbox__inner, |
|||
//.el-checkbox__input.is-indeterminate .el-checkbox__inner { |
|||
// background: #767676; |
|||
// border-color: #767676; |
|||
//} |
|||
//.el-checkbox__inner:hover, |
|||
//.el-checkbox__inner { |
|||
// border-color: #767676; |
|||
//} |
|||
//.el-radio__input.is-checked + .el-radio__label { |
|||
// color: #606266; |
|||
//} |
|||
//.el-radio__input.is-checked .el-radio__inner { |
|||
// background: #767676; |
|||
// border-color: #767676; |
|||
//} |
|||
//.el-radio { |
|||
// margin-right: 8px; |
|||
// display: block; |
|||
//} |
|||
//.el-radio__inner { |
|||
// border: 1px solid #767676 !important; |
|||
//} |
|||
//.el-radio__inner:hover { |
|||
// border-color: #767676; |
|||
//} |
|||
.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell { |
|||
background: none !important; |
|||
} |
|||
.has-gutter { |
|||
display: none; |
|||
.cell { |
|||
font-weight: 700; |
|||
} |
|||
.el-table__cell { |
|||
background: #ced4d9; |
|||
} |
|||
} |
|||
.el-table__header-wrapper{ |
|||
display: none; |
|||
} |
|||
} |
|||
</style> |
|||
@ -0,0 +1,660 @@ |
|||
<template> |
|||
<div id="operation-record" style=" background: #fff; padding: 10px 20px 50px 20px;page-break-after:always"> |
|||
<div class="btnBox"> |
|||
<el-button v-print="'#eyesFunc'" 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="eyesFunc" style="width: 840px;padding-right: 8px"> |
|||
<p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;"> |
|||
双眼视功能检查报告单 |
|||
</p> |
|||
<div style="display: flex;justify-content: space-around"> |
|||
<span>登记号:<el-input v-model="dataForm.number" style="width: 120px" size="small" clearable placeholder="" /></span> |
|||
<span>姓名:<el-input v-model="dataForm.name" style="width: 120px" size="small" clearable placeholder="" /></span> |
|||
<span>性别:<el-input v-model="dataForm.sex" style="width: 120px" size="small" clearable placeholder="" /></span> |
|||
<span>年龄:<el-input v-model="dataForm.age" style="width: 120px" size="small" clearable placeholder="" /></span> |
|||
</div> |
|||
<div class="operation-record-table"> |
|||
<el-table :data="tableData" :span-method="objectSpanMethod" border style="width: 100%; margin-top: 20px"> |
|||
<el-table-column label="" width="" align="center" :resizable="false"> |
|||
<template slot-scope="scope"> |
|||
<div v-if="scope.row.name == 1"> |
|||
<div class="width-180 center"> |
|||
OS:<el-input v-model="scope.row.os" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-else-if="scope.row.name == 'FV'"> |
|||
<div class="width-180 center"> |
|||
远BO:<el-input v-model="scope.row.a" placeholder="" /> |
|||
</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" /> |
|||
</div> |
|||
</div> |
|||
<div v-else-if="scope.row.name == '签名'" style="display: flex;justify-content: space-between"> |
|||
<div class="width-180" style="text-align: left"> |
|||
视光师:<el-input v-model="scope.row.a" placeholder="" /> |
|||
</div> |
|||
<div class="width-180" style="text-align: left"> |
|||
医师:<el-input v-model="scope.row.b" placeholder="" /> |
|||
</div> |
|||
<div class="width-180" style="text-align: left"> |
|||
日期:<el-date-picker |
|||
v-model="scope.row.c" |
|||
type="date" |
|||
placeholder="选择日期" |
|||
/> |
|||
</div> |
|||
</div> |
|||
<p v-else>{{ scope.row.name }}</p> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="" width="" :resizable="false" prop="type"> |
|||
<template slot-scope="scope"> |
|||
<div v-if="scope.row.name == '1'"> |
|||
<div class="width-180 center"> |
|||
VA:<el-input v-model="scope.row.odVa" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '屈光状态'"> |
|||
<div class="width-180 center"> |
|||
OD:<el-input v-model="scope.row.od" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '交替遮盖试验(CT)'"> |
|||
<div class="width-180 center"> |
|||
<p>远:<el-input v-model="scope.row.a" placeholder="" /></p> |
|||
<p>近:<el-input v-model="scope.row.b" placeholder="" /></p> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '集合近点(NPC)'"> |
|||
<div class="width-180 center"> |
|||
破裂点:<el-input v-model="scope.row.a" 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="" /> |
|||
@D( |
|||
<el-input v-model="scope.row.b" placeholder="" /> |
|||
) |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '立体视(stereo)'"> |
|||
<div class="width-180 center"> |
|||
RDD(远):<el-input v-model="scope.row.a" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '眼位'"> |
|||
<div class="width-180 center"> |
|||
远:<el-input v-model="scope.row.a" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '梯度性AC/A'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.a" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '融像性聚散(FV)'"> |
|||
<div class="width-180 center"> |
|||
远BI:<el-input v-model="scope.row.a" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == 'FV'"> |
|||
<div class="width-180 center"> |
|||
近BO:<el-input v-model="scope.row.b" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '相对调节(RA)'"> |
|||
<div class="width-180 center"> |
|||
NRA:<el-input v-model="scope.row.a" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '调节幅度(AMP)'"> |
|||
<div class="width-180 center"> |
|||
<div> |
|||
OD:<el-input v-model="scope.row.a" placeholder="" /> |
|||
</div> |
|||
OS:<el-input v-model="scope.row.b" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '调节灵活度(AF)'"> |
|||
<div class="width-180 center"> |
|||
<div> |
|||
OD:<el-input v-model="scope.row.a" placeholder="" /> |
|||
</div> |
|||
OS:<el-input v-model="scope.row.b" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '调节反应(FCC)'"> |
|||
<div class="width-180 center"> |
|||
<div> |
|||
OD:<el-input v-model="scope.row.a" placeholder="" /> |
|||
</div> |
|||
OS:<el-input v-model="scope.row.b" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '初步诊断'"> |
|||
<div class="width-180"> |
|||
<div style="margin-bottom: 8px"> |
|||
<el-checkbox v-model="scope.row.value">正常</el-checkbox> |
|||
</div> |
|||
<div style="display: flex"> |
|||
<p style="width: 220px;">聚散功能异常:</p> |
|||
<el-checkbox-group v-model="scope.row.a"> |
|||
<el-checkbox label="集合不足" /> |
|||
<el-checkbox label="集合过度" /> |
|||
<el-checkbox label="散开不足" /> |
|||
<el-checkbox label="散开过度" /> |
|||
<el-checkbox label="内隐科" /> |
|||
<el-checkbox label="外隐科" /> |
|||
<el-checkbox label="假性集合不足" /> |
|||
<el-checkbox label="融像性聚散功能异常" /> |
|||
</el-checkbox-group> |
|||
</div> |
|||
<div style="display: flex"> |
|||
<p style="width: 140px;">调节功能异常:</p> |
|||
<el-checkbox-group v-model="scope.row.b"> |
|||
<el-checkbox label="调节灵敏度下降" /> |
|||
<el-checkbox label="调节不能持久" /> |
|||
<el-checkbox label="调节不足" /> |
|||
<el-checkbox label="调节过度" /> |
|||
<el-checkbox label="调节麻痹" /> |
|||
</el-checkbox-group> |
|||
</div> |
|||
<div style="display: flex"> |
|||
<span>斜视:</span> |
|||
<el-checkbox-group v-model="scope.row.c"> |
|||
<el-checkbox label="内斜视" /> |
|||
<el-checkbox label="外斜视" /> |
|||
<el-checkbox label="间歇性外斜视" /> |
|||
<el-checkbox label="垂直斜" /> |
|||
</el-checkbox-group> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- <!– 签字 –>--> |
|||
<!-- <div v-if="scope.row" class="sign center">--> |
|||
<!-- <!– <span v-if="!operationRecord.doctorSignImg" class="sign" @click="singHandle('doctorSignImg')">点击签字</span>–>--> |
|||
<!-- <!– <img v-if="operationRecord.doctorSignImg" :src="operationRecord.doctorSignImg" alt="" width="90px" @click="singHandle('doctorSignImg')">–>--> |
|||
<!-- </div>--> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="" width="" :resizable="false"> |
|||
<template slot-scope="scope"> |
|||
<div v-if="scope.row.name == '屈光状态'"> |
|||
<div class="width-180 center"> |
|||
VA:<el-input v-model="scope.row.osVa" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '交替遮盖试验(CT)'"> |
|||
<div class="width-180 center"> |
|||
眼球运动:<el-input v-model="scope.row.c" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '集合近点(NPC)'"> |
|||
<div class="width-180 center"> |
|||
恢复点:<el-input v-model="scope.row.b" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '立体视(stereo)'"> |
|||
<div class="width-180 center"> |
|||
TNO(近):<el-input v-model="scope.row.b" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '眼位'"> |
|||
<div class="width-180 center"> |
|||
近:<el-input v-model="scope.row.b" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '梯度性AC/A'"> |
|||
<div class="width-180 center"> |
|||
计算性AC/A:<el-input v-model="scope.row.b" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '融像性聚散(FV)'"> |
|||
<div class="width-180 center"> |
|||
近BI:<el-input v-model="scope.row.b" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '相对调节(RA)'"> |
|||
<div class="width-180 center"> |
|||
PRA:<el-input v-model="scope.row.b" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '调节幅度(AMP)'"> |
|||
<div class="width-180 center"> |
|||
OU:<el-input v-model="scope.row.c" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '调节灵活度(AF)'"> |
|||
<div class="width-180 center"> |
|||
OU:<el-input v-model="scope.row.c" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '调节反应(FCC)'"> |
|||
<div class="width-180 center"> |
|||
OU:<el-input v-model="scope.row.c" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<!-- <!– 签字 –>--> |
|||
<!-- <div v-if="scope.row" class="sign center">--> |
|||
<!-- <!– <span v-if="!operationRecord.doctorSignImg" class="sign" @click="singHandle('doctorSignImg')">点击签字</span>–>--> |
|||
<!-- <!– <img v-if="operationRecord.doctorSignImg" :src="operationRecord.doctorSignImg" alt="" width="90px" @click="singHandle('doctorSignImg')">–>--> |
|||
<!-- </div>--> |
|||
</template> |
|||
</el-table-column> |
|||
<!-- <el-table-column label="手术记录" :resizable="false">--> |
|||
<!-- <template slot-scope="scope">--> |
|||
<!-- <span v-if="scope.row.name !=='手术日期/主刀签字'">--> |
|||
<!--<!– <span v-if="!operationRecord.nurseSignImgOne" class="sign" @click="singHandle('nurseSignImgOne')">点击签字</span>–>--> |
|||
<!--<!– <img v-if="operationRecord.nurseSignImgOne" :src="operationRecord.nurseSignImgOne" alt="" width="90px" @click="singHandle('nurseSignImgOne')">–>--> |
|||
<!-- </span>--> |
|||
<!-- </template>--> |
|||
<!-- </el-table-column>--> |
|||
</el-table> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
export default { |
|||
props: { |
|||
archiveCaseCRFItem: { |
|||
type: Object, |
|||
default: () => { } |
|||
}, |
|||
formContent: { |
|||
type: Object, |
|||
default: () => { } |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
dataForm: { |
|||
number: '', |
|||
name: '', |
|||
sex: '', |
|||
age: '' |
|||
}, |
|||
tableData: [ |
|||
{ |
|||
name: '屈光状态', |
|||
osVa: '', |
|||
od: '', |
|||
type: '' |
|||
}, { |
|||
name: '1', |
|||
odVa: '', |
|||
os: '', |
|||
type: '' |
|||
}, { |
|||
name: '交替遮盖试验(CT)', |
|||
a: '', |
|||
b: '', |
|||
type: '' |
|||
}, { |
|||
name: '集合近点(NPC)', |
|||
a: '', |
|||
b: '', |
|||
type: '' |
|||
}, { |
|||
name: 'Worth-4-dot', |
|||
a: '', |
|||
b: '', |
|||
type: '' |
|||
}, { |
|||
name: '立体视(stereo)', |
|||
a: '', |
|||
b: '' |
|||
}, { |
|||
name: '眼位', |
|||
a: '', |
|||
b: '' |
|||
}, { |
|||
name: '梯度性AC/A', |
|||
a: '', |
|||
b: '' |
|||
}, { |
|||
name: '融像性聚散(FV)', |
|||
a: '', |
|||
b: '' |
|||
}, { |
|||
name: 'FV', |
|||
a: '', |
|||
b: '', |
|||
type: '' |
|||
}, { |
|||
name: '相对调节(RA)', |
|||
a: '', |
|||
b: '', |
|||
}, { |
|||
name: '调节幅度(AMP)', |
|||
a: '', |
|||
b: '', |
|||
c: '' |
|||
}, { |
|||
name: '调节灵活度(AF)', |
|||
a: '', |
|||
b: '', |
|||
c: '' |
|||
}, { |
|||
name: '调节反应(FCC)', |
|||
a: '', |
|||
b: '', |
|||
c: '' |
|||
}, { |
|||
name: '初步诊断', |
|||
value: '', |
|||
a: [], |
|||
b: [], |
|||
c: [] |
|||
}, { |
|||
name: '建议', |
|||
value: '' |
|||
}, { |
|||
name: '签名', |
|||
a: '', |
|||
b: '', |
|||
c: '' |
|||
}] |
|||
|
|||
} |
|||
}, |
|||
computed: { |
|||
operationRecord: { |
|||
get() { |
|||
return this.$store.getters.operationRecord |
|||
} |
|||
} |
|||
}, |
|||
watch: { |
|||
operationRecord: { |
|||
handler(value) { |
|||
console.log(value) |
|||
}, |
|||
deep: true, |
|||
immediate: true |
|||
} |
|||
}, |
|||
created() { |
|||
}, |
|||
methods: { |
|||
setData() { |
|||
this.dataForm = this.formContent.a |
|||
this.tableData = this.formContent.b |
|||
console.log(this.tableData) |
|||
}, |
|||
reSet() { |
|||
this.dataForm = { |
|||
number: '', |
|||
name: '', |
|||
sex: '', |
|||
age: '', |
|||
file: '', |
|||
fileNUm: '' |
|||
} |
|||
this.tableData = [ |
|||
{ |
|||
name: '屈光状态', |
|||
osVa: '', |
|||
od: '', |
|||
type: '' |
|||
}, { |
|||
name: '1', |
|||
odVa: '', |
|||
os: '', |
|||
type: '' |
|||
}, { |
|||
name: '交替遮盖试验(CT)', |
|||
a: '', |
|||
b: '', |
|||
type: '' |
|||
}, { |
|||
name: '集合近点(NPC)', |
|||
a: '', |
|||
b: '', |
|||
type: '' |
|||
}, { |
|||
name: 'Worth-4-dot', |
|||
a: '', |
|||
b: '', |
|||
type: '' |
|||
}, { |
|||
name: '立体视(stereo)', |
|||
a: '', |
|||
b: '' |
|||
}, { |
|||
name: '眼位', |
|||
a: '', |
|||
b: '' |
|||
}, { |
|||
name: '梯度性AC/A', |
|||
a: '', |
|||
b: '' |
|||
}, { |
|||
name: '融像性聚散(FV)', |
|||
a: '', |
|||
b: '' |
|||
}, { |
|||
name: 'FV', |
|||
a: '', |
|||
b: '', |
|||
type: '' |
|||
}, { |
|||
name: '相对调节(RA)', |
|||
a: '', |
|||
b: '', |
|||
}, { |
|||
name: '调节幅度(AMP)', |
|||
a: '', |
|||
b: '', |
|||
c: '' |
|||
}, { |
|||
name: '调节灵活度(AF)', |
|||
a: '', |
|||
b: '', |
|||
c: '' |
|||
}, { |
|||
name: '调节反应(FCC)', |
|||
a: '', |
|||
b: '', |
|||
c: '' |
|||
}, { |
|||
name: '初步诊断', |
|||
value: '', |
|||
a: [], |
|||
b: [], |
|||
c: [] |
|||
}, { |
|||
name: '建议', |
|||
value: '' |
|||
}, { |
|||
name: '签名', |
|||
a: '', |
|||
b: '', |
|||
c: '' |
|||
}] |
|||
}, |
|||
handleSaveTable() { |
|||
const data = { |
|||
a: this.dataForm, |
|||
b: this.tableData |
|||
} |
|||
this.$emit('save', data) |
|||
}, |
|||
handleDelete() { |
|||
this.$emit('del') |
|||
}, |
|||
// 签名 |
|||
singHandle(text) { |
|||
const value = { |
|||
text: text, |
|||
pageName: 'operationRecord' |
|||
} |
|||
this.$store.commit('beginSign', value) |
|||
}, |
|||
objectSpanMethod({ row, column, rowIndex, columnIndex }) { |
|||
if (columnIndex === 0) { |
|||
if (rowIndex === 0 || rowIndex === 8) { |
|||
return { |
|||
rowspan: 2, |
|||
colspan: 1 |
|||
} |
|||
} else if (rowIndex === 15 || rowIndex === 16) { |
|||
return { |
|||
rowspan: 1, |
|||
colspan: 3 |
|||
} |
|||
} |
|||
} else if (rowIndex === 4) { |
|||
if (columnIndex === 1) { |
|||
return { |
|||
rowspan: 1, |
|||
colspan: 2 |
|||
} |
|||
} |
|||
} else if (rowIndex === 14) { |
|||
if (columnIndex === 1) { |
|||
return { |
|||
rowspan: 1, |
|||
colspan: 2 |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
#operation-record { |
|||
height: 100%; |
|||
overflow: auto; |
|||
.operation-record-table { |
|||
width: 100%; |
|||
.operation-text { |
|||
font-weight: 700; |
|||
} |
|||
.text { |
|||
font-weight: 700; |
|||
} |
|||
.sign { |
|||
cursor: pointer; |
|||
color: #46a1ff; |
|||
font-weight: 400; |
|||
} |
|||
} |
|||
.center { |
|||
text-align: center; |
|||
} |
|||
.left { |
|||
text-align: left; |
|||
} |
|||
|
|||
.width-50 { |
|||
.el-input { |
|||
width: 50px; |
|||
} |
|||
} |
|||
.width-70 { |
|||
.el-input { |
|||
width: 70px; |
|||
} |
|||
} |
|||
|
|||
.width-100 { |
|||
.el-input { |
|||
width: 100px; |
|||
} |
|||
} |
|||
.width-120 { |
|||
.el-input { |
|||
width: 120px; |
|||
} |
|||
} |
|||
.width-180 { |
|||
.el-input { |
|||
width: 180px; |
|||
} |
|||
} |
|||
.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; |
|||
padding: 0; |
|||
} |
|||
.el-input__prefix { |
|||
display: none; |
|||
} |
|||
.el-date-editor.el-input, |
|||
.el-date-editor.el-input__inner { |
|||
width: 140px; |
|||
} |
|||
.el-input__suffix { |
|||
top: -7px; |
|||
} |
|||
.el-checkbox__input.is-checked + .el-checkbox__label { |
|||
color: #606266; |
|||
} |
|||
.el-checkbox__input.is-checked .el-checkbox__inner, |
|||
.el-checkbox__input.is-indeterminate .el-checkbox__inner { |
|||
background: #767676; |
|||
border-color: #767676; |
|||
} |
|||
.el-checkbox__inner:hover, |
|||
.el-checkbox__inner { |
|||
border-color: #767676; |
|||
} |
|||
.el-radio__input.is-checked + .el-radio__label { |
|||
color: #606266; |
|||
} |
|||
.el-radio__input.is-checked .el-radio__inner { |
|||
background: #767676; |
|||
border-color: #767676; |
|||
} |
|||
.el-radio { |
|||
margin-right: 8px; |
|||
display: block; |
|||
} |
|||
.el-radio__inner { |
|||
border: 1px solid #767676 !important; |
|||
} |
|||
.el-radio__inner:hover { |
|||
border-color: #767676; |
|||
} |
|||
.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell { |
|||
background: none !important; |
|||
} |
|||
.has-gutter { |
|||
display: none; |
|||
.cell { |
|||
font-weight: 700; |
|||
} |
|||
.el-table__cell { |
|||
background: #ced4d9; |
|||
} |
|||
} |
|||
// .el-table--border .el-table__cell, .el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed { |
|||
// border-right: 1px solid #808080; |
|||
// } |
|||
// .el-table td.el-table__cell, .el-table th.el-table__cell.is-leaf { |
|||
// border-bottom: 1px solid #808080 !important; |
|||
// } |
|||
// .el-table--border, .el-table--group { |
|||
// border: 1px solid #808080; |
|||
// } |
|||
// .el-table--border { |
|||
// border-bottom: 0; |
|||
// } |
|||
} |
|||
</style> |
|||
@ -0,0 +1,711 @@ |
|||
<template> |
|||
<div id="operation-record" style=" background: #fff; padding: 10px 20px 50px 20px;page-break-after:always"> |
|||
<div class="btnBox"> |
|||
<el-button v-print="'#optomeFunc'" 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"> |
|||
<p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;"> |
|||
验光报告单 |
|||
</p> |
|||
<div style="display: flex;justify-content: space-around"> |
|||
<span>登记号:<el-input v-model="dataForm.number" style="width: 80px" size="small" clearable placeholder="" /></span> |
|||
<span>姓名:<el-input v-model="dataForm.name" style="width: 80px" size="small" clearable placeholder="" /></span> |
|||
<span>性别:<el-input v-model="dataForm.sex" style="width: 60px" size="small" clearable placeholder="" /></span> |
|||
<span>年龄:<el-input v-model="dataForm.age" style="width: 60px" size="small" clearable placeholder="" /></span> |
|||
<span>屈光发育档案:<el-input v-model="dataForm.file" style="width: 60px" size="small" clearable placeholder="" /></span> |
|||
<span>档案号:<el-input v-model="dataForm.fileNUm" style="width: 80px" size="small" clearable placeholder="" /></span> |
|||
</div> |
|||
<div class="operation-record-table"> |
|||
<el-table :data="tableData" :span-method="objectSpanMethod" border style="width: 100%; margin-top: 20px"> |
|||
<el-table-column label="" width="" align="center" :resizable="false"> |
|||
<template slot-scope="scope"> |
|||
<div v-if="scope.row.name == 1"> |
|||
<div class="width-180 center"> |
|||
瞳孔 |
|||
</div> |
|||
</div> |
|||
<div v-else-if="scope.row.name == 2"> |
|||
<div class="width-180 center"> |
|||
检查方法 |
|||
</div> |
|||
</div> |
|||
<div v-else-if="scope.row.name == 3"> |
|||
<div class="width-180 center"> |
|||
右眼 |
|||
</div> |
|||
</div> |
|||
<div v-else-if="scope.row.name == 4"> |
|||
<div class="width-180 center"> |
|||
左眼 |
|||
</div> |
|||
</div> |
|||
<div v-else-if="scope.row.name == 5"> |
|||
<div class="width-180 center"> |
|||
右眼 |
|||
</div> |
|||
</div> |
|||
<div v-else-if="scope.row.name == 6"> |
|||
<div class="width-180 center"> |
|||
左眼 |
|||
</div> |
|||
</div> |
|||
<div v-else-if="scope.row.name == 7" style="display: flex;justify-content: space-between"> |
|||
<div class="width-180" style="text-align: left"> |
|||
视光师:<el-input v-model="scope.row.a" placeholder="" /> |
|||
</div> |
|||
<div class="width-180" style="text-align: left"> |
|||
医师:<el-input v-model="scope.row.b" placeholder="" /> |
|||
</div> |
|||
<div class="width-180" style="text-align: left"> |
|||
日期:<el-date-picker |
|||
v-model="scope.row.c" |
|||
type="date" |
|||
placeholder="选择日期" |
|||
/> |
|||
</div> |
|||
</div> |
|||
<p v-else>{{ scope.row.name }}</p> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="" width="" :resizable="false"> |
|||
<template slot-scope="scope"> |
|||
<div v-if="scope.row.name == '1'"> |
|||
<div class="width-180"> |
|||
<el-checkbox-group v-model="scope.row.pupil"> |
|||
<el-checkbox label="正常瞳孔" /> |
|||
<el-checkbox label="复方托吡卡胺" /> |
|||
<el-checkbox label="美多丽" /> |
|||
<el-checkbox label="赛飞杰" /> |
|||
<el-checkbox label="阿托品" /> |
|||
</el-checkbox-group> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '2'"> |
|||
<div class="width-180"> |
|||
<el-checkbox-group v-model="scope.row.examine"> |
|||
<el-checkbox label="检影" /> |
|||
<el-checkbox label="综合" /> |
|||
</el-checkbox-group> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '3'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.a" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '4'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.a" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '5'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.a" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '6'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.a" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '基本信息'"> |
|||
<div class="width-100 center"> |
|||
裸眼视力 |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '最终处方'"> |
|||
<div class="width-100"> |
|||
<el-checkbox-group v-model="scope.row.value"> |
|||
<el-checkbox label="远用" /> |
|||
<el-checkbox label="近用" /> |
|||
</el-checkbox-group> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '配镜建议'"> |
|||
<div class="width-180"> |
|||
<div style="display: flex"> |
|||
<el-checkbox-group v-model="scope.row.suggest"> |
|||
<el-checkbox label="单光" /> |
|||
<el-checkbox label="离焦镜片" /> |
|||
<el-checkbox label="软镜" /> |
|||
<el-checkbox label="RGP" /> |
|||
<el-checkbox label="OK镜" /> |
|||
</el-checkbox-group> |
|||
<p style="margin-left: 16px"> |
|||
其他:<el-input v-model="scope.row.value" placeholder="" /> |
|||
</p> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '备注'"> |
|||
<div class="width-180"> |
|||
<el-input v-model="scope.row.value" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="" width="" :resizable="false"> |
|||
<template slot-scope="scope"> |
|||
<div v-if="scope.row.name == '基本信息'"> |
|||
<div class="width-180 center"> |
|||
右眼 |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '验光检查'"> |
|||
<div class="width-180 center"> |
|||
球镜(DS) |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '3'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.b" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '4'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.b" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '5'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.b" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '6'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.b" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<!-- <div v-if="scope.row.name == '最终处方'">--> |
|||
<!-- <div class="width-100 center">--> |
|||
<!-- 恢复点:<el-input v-model="scope.row.value" placeholder="" />--> |
|||
<!-- </div>--> |
|||
<!-- </div>--> |
|||
<!-- <div v-if="scope.row.name == '立体视(stereo)'">--> |
|||
<!-- <div class="width-100 center">--> |
|||
<!-- TNO(近):<el-input v-model="scope.row.value" placeholder="" />--> |
|||
<!-- </div>--> |
|||
<!-- </div>--> |
|||
|
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="" width="" :resizable="false"> |
|||
<template slot-scope="scope"> |
|||
<div v-if="scope.row.name == '基本信息'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.od" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '验光检查'"> |
|||
<div class="width-100 center"> |
|||
柱镜(DC) |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '3'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.c" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '4'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.c" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '5'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.c" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '6'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.c" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="" width="" :resizable="false"> |
|||
<template slot-scope="scope"> |
|||
<div v-if="scope.row.name == '基本信息'"> |
|||
<div class="width-180 center"> |
|||
左眼 |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '验光检查'"> |
|||
<div class="width-180 center"> |
|||
轴位(A) |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '3'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.d" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '4'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.d" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '5'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.d" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '6'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.d" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="" width="" :resizable="false"> |
|||
<template slot-scope="scope"> |
|||
<div v-if="scope.row.name == '基本信息'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.os" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '验光检查'"> |
|||
<div class="width-180 center"> |
|||
矫正视力(VA) |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '3'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.e" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '4'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.e" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '5'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.e" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '6'"> |
|||
<div class="width-100 center"> |
|||
<el-input v-model="scope.row.e" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="" width="" :resizable="false"> |
|||
<template slot-scope="scope"> |
|||
<div v-if="scope.row.name == '验光检查'"> |
|||
<div class="width-180 center"> |
|||
下加光(ADD) |
|||
</div> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<p style="text-align: left;margin-top: 3px">说明:1.持本报告但配镜仅供参考。 2.本报告单有效期3个月</p> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
export default { |
|||
props: { |
|||
archiveCaseCRFItem: { |
|||
type: Object, |
|||
default: () => { } |
|||
}, |
|||
formContent: { |
|||
type: Object, |
|||
default: () => { } |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
dataForm: { |
|||
number: '', |
|||
name: '', |
|||
sex: '', |
|||
age: '', |
|||
file: '', |
|||
fileNUm: '' |
|||
}, |
|||
tableData: [ |
|||
{ |
|||
name: '基本信息', |
|||
od: '', |
|||
os: '', |
|||
type: '' |
|||
}, { |
|||
name: '1', |
|||
pupil: [], |
|||
type: '' |
|||
}, { |
|||
name: '2', |
|||
examine: [], |
|||
type: '' |
|||
}, { |
|||
name: '验光检查', |
|||
type: '' |
|||
}, { |
|||
name: '3', |
|||
a: '', |
|||
b: '', |
|||
c: '', |
|||
d: '', |
|||
e: '', |
|||
type: '' |
|||
}, { |
|||
name: '4', |
|||
type: '', |
|||
a: '', |
|||
b: '', |
|||
c: '', |
|||
d: '', |
|||
e: '' |
|||
}, { |
|||
name: '最终处方', |
|||
value: [], |
|||
type: '' |
|||
}, { |
|||
name: '5', |
|||
type: '', |
|||
a: '', |
|||
b: '', |
|||
c: '', |
|||
d: '', |
|||
e: '' |
|||
}, { |
|||
name: '6', |
|||
type: '', |
|||
a: '', |
|||
b: '', |
|||
c: '', |
|||
d: '', |
|||
e: '' |
|||
}, { |
|||
name: '配镜建议', |
|||
suggest: [], |
|||
value: '' |
|||
}, { |
|||
name: '备注', |
|||
value: '' |
|||
}, { |
|||
name: '7', |
|||
a: '', |
|||
b: '', |
|||
c: '' |
|||
}] |
|||
} |
|||
}, |
|||
computed: { |
|||
operationRecord: { |
|||
get() { |
|||
return this.$store.getters.operationRecord |
|||
} |
|||
} |
|||
}, |
|||
watch: { |
|||
operationRecord: { |
|||
handler(value) { |
|||
console.log(value) |
|||
}, |
|||
deep: true, |
|||
immediate: true |
|||
} |
|||
}, |
|||
created() { |
|||
// this.queryData() |
|||
}, |
|||
methods: { |
|||
setData() { |
|||
this.dataForm = this.formContent.a |
|||
this.tableData = this.formContent.b |
|||
console.log(this.tableData) |
|||
}, |
|||
reSet() { |
|||
this.dataForm = { |
|||
number: '', |
|||
name: '', |
|||
sex: '', |
|||
age: '', |
|||
file: '', |
|||
fileNUm: '' |
|||
} |
|||
this.tableData = [ |
|||
{ |
|||
name: '基本信息', |
|||
od: '', |
|||
os: '', |
|||
type: '' |
|||
}, { |
|||
name: '1', |
|||
pupil: [], |
|||
type: '' |
|||
}, { |
|||
name: '2', |
|||
examine: [], |
|||
type: '' |
|||
}, { |
|||
name: '验光检查', |
|||
type: '' |
|||
}, { |
|||
name: '3', |
|||
a: '', |
|||
b: '', |
|||
c: '', |
|||
d: '', |
|||
e: '', |
|||
type: '' |
|||
}, { |
|||
name: '4', |
|||
type: '', |
|||
a: '', |
|||
b: '', |
|||
c: '', |
|||
d: '', |
|||
e: '' |
|||
}, { |
|||
name: '最终处方', |
|||
value: [], |
|||
type: '' |
|||
}, { |
|||
name: '5', |
|||
type: '', |
|||
a: '', |
|||
b: '', |
|||
c: '', |
|||
d: '', |
|||
e: '' |
|||
}, { |
|||
name: '6', |
|||
type: '', |
|||
a: '', |
|||
b: '', |
|||
c: '', |
|||
d: '', |
|||
e: '' |
|||
}, { |
|||
name: '配镜建议', |
|||
suggest: [], |
|||
value: '' |
|||
}, { |
|||
name: '备注', |
|||
value: '' |
|||
}, { |
|||
name: '7', |
|||
a: '', |
|||
b: '', |
|||
c: '' |
|||
}] |
|||
}, |
|||
queryData() { |
|||
const ws = new WebSocket('ws://192.168.4.24:8036/xiangan-crf/websocket/0071') |
|||
ws.onopen = function() { |
|||
console.log('连接成功') |
|||
} |
|||
ws.onerror = function() { |
|||
console.log('连接失败') |
|||
} |
|||
// ws.send() |
|||
ws.onmessage = function(msg) { |
|||
const data = JSON.parse(JSON.stringify(msg.data)) |
|||
// console.log(msg.data) |
|||
console.log(data) |
|||
} |
|||
}, |
|||
handleSaveTable() { |
|||
const data = { |
|||
a: this.dataForm, |
|||
b: this.tableData |
|||
} |
|||
this.$emit('save', data) |
|||
}, |
|||
handleDelete() { |
|||
this.$emit('del') |
|||
}, |
|||
// 签名 |
|||
singHandle(text) { |
|||
const value = { |
|||
text: text, |
|||
pageName: 'operationRecord' |
|||
} |
|||
this.$store.commit('beginSign', value) |
|||
}, |
|||
objectSpanMethod({ row, column, rowIndex, columnIndex }) { |
|||
if (columnIndex === 0) { |
|||
if (rowIndex === 0 || rowIndex === 3 || rowIndex === 6) { |
|||
// [0,0][0,3][0,6] 合并单元格 3行合并1列 |
|||
return { |
|||
rowspan: 3, |
|||
colspan: 1 |
|||
} |
|||
} |
|||
// [0,11] 最后一行 7列合并城1行 |
|||
if (rowIndex === 11) { |
|||
return { |
|||
rowspan: 1, |
|||
colspan: 7 |
|||
} |
|||
} |
|||
} else if (columnIndex === 1) { |
|||
if (rowIndex === 6 || rowIndex === 9 || rowIndex === 10) { |
|||
return { |
|||
rowspan: 1, |
|||
colspan: 6 |
|||
} |
|||
} |
|||
if (rowIndex === 1 || rowIndex === 2) { |
|||
return { |
|||
rowspan: 1, |
|||
colspan: 6 |
|||
} |
|||
} |
|||
} else if (columnIndex === 4) { |
|||
if (rowIndex === 0) { |
|||
return { |
|||
rowspan: 1, |
|||
colspan: 2 |
|||
} |
|||
} |
|||
} else if (rowIndex === 6 || rowIndex === 9 || rowIndex === 10) { |
|||
if (columnIndex === 2 || columnIndex === 3 || columnIndex === 4 || columnIndex === 5 || columnIndex === 6) { |
|||
return { |
|||
rowspan: 0, |
|||
colspan: 0 |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
#operation-record { |
|||
//height: 93%; |
|||
// overflow: auto; |
|||
.operation-record-table { |
|||
width: 100%; |
|||
.operation-text { |
|||
font-weight: 700; |
|||
} |
|||
.text { |
|||
font-weight: 700; |
|||
} |
|||
.sign { |
|||
cursor: pointer; |
|||
color: #46a1ff; |
|||
font-weight: 400; |
|||
} |
|||
} |
|||
.center { |
|||
text-align: center; |
|||
} |
|||
.left { |
|||
text-align: left; |
|||
} |
|||
|
|||
.width-50 { |
|||
.el-input { |
|||
width: 50px; |
|||
} |
|||
} |
|||
.width-70 { |
|||
.el-input { |
|||
width: 70px; |
|||
} |
|||
} |
|||
|
|||
.width-100 { |
|||
.el-input { |
|||
width: 100px; |
|||
} |
|||
} |
|||
.width-120 { |
|||
.el-input { |
|||
width: 120px; |
|||
} |
|||
} |
|||
.width-180 { |
|||
.el-input { |
|||
width: 180px; |
|||
} |
|||
} |
|||
.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; |
|||
padding: 0; |
|||
} |
|||
.el-input__prefix { |
|||
display: none; |
|||
} |
|||
.el-date-editor.el-input, |
|||
.el-date-editor.el-input__inner { |
|||
width: 140px; |
|||
} |
|||
.el-input__suffix { |
|||
top: -7px; |
|||
} |
|||
.el-checkbox__input.is-checked + .el-checkbox__label { |
|||
color: #606266; |
|||
} |
|||
.el-checkbox__input.is-checked .el-checkbox__inner, |
|||
.el-checkbox__input.is-indeterminate .el-checkbox__inner { |
|||
background: #767676; |
|||
border-color: #767676; |
|||
} |
|||
.el-checkbox__inner:hover, |
|||
.el-checkbox__inner { |
|||
border-color: #767676; |
|||
} |
|||
.el-radio__input.is-checked + .el-radio__label { |
|||
color: #606266; |
|||
} |
|||
.el-radio__input.is-checked .el-radio__inner { |
|||
background: #767676; |
|||
border-color: #767676; |
|||
} |
|||
.el-radio { |
|||
margin-right: 8px; |
|||
display: block; |
|||
} |
|||
.el-radio__inner { |
|||
border: 1px solid #767676 !important; |
|||
} |
|||
.el-radio__inner:hover { |
|||
border-color: #767676; |
|||
} |
|||
.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell { |
|||
background: none !important; |
|||
} |
|||
.has-gutter { |
|||
display: none; |
|||
.cell { |
|||
font-weight: 700; |
|||
} |
|||
.el-table__cell { |
|||
background: #ced4d9; |
|||
} |
|||
} |
|||
// .el-table--border .el-table__cell, .el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed { |
|||
// border-right: 1px solid #808080; |
|||
// } |
|||
// .el-table td.el-table__cell, .el-table th.el-table__cell.is-leaf { |
|||
// border-bottom: 1px solid #808080 !important; |
|||
// } |
|||
// .el-table--border, .el-table--group { |
|||
// border: 1px solid #808080; |
|||
// } |
|||
// .el-table--border { |
|||
// border-bottom: 0; |
|||
// } |
|||
} |
|||
</style> |
|||
@ -0,0 +1,764 @@ |
|||
<template> |
|||
<div id="operation-record" style=" background: #fff; padding: 10px 20px 50px 20px;page-break-after:always"> |
|||
<div class="btnBox"> |
|||
<el-button v-print="'#threeFunc'" 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="threeFunc" style="width: 840px;padding-right: 8px"> |
|||
<p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;"> |
|||
三级视功能检查报告单 |
|||
</p> |
|||
<div style="display: flex;justify-content: space-around"> |
|||
<span>登记号:<el-input v-model="dataForm.num" style="width: 120px" size="small" clearable placeholder="" /></span> |
|||
<span>姓名:<el-input v-model="dataForm.name" style="width: 120px" size="small" clearable placeholder="" /></span> |
|||
<span>性别:<el-input v-model="dataForm.sex" style="width: 120px" size="small" clearable placeholder="" /></span> |
|||
<span>年龄:<el-input v-model="dataForm.age" style="width: 120px" size="small" clearable placeholder="" /></span> |
|||
</div> |
|||
<div class="operation-record-table"> |
|||
<el-table :data="tableData" :span-method="objectSpanMethod" border style="width: 820px; margin-top: 20px"> |
|||
<el-table-column label="" width="" align="center" :resizable="false"> |
|||
<template slot-scope="scope"> |
|||
<div v-if="scope.row.name === 'ODOS'" style="position: relative;height: 180px"> |
|||
<div style="display: flex"> |
|||
<p style="width: 50%">OD</p> |
|||
<p style="width: 50%">OS</p> |
|||
</div> |
|||
<div class="rowLine"></div> |
|||
<div class="cloLine"></div> |
|||
<div class="rowLine-l"></div> |
|||
<div class="cloLine-l"></div> |
|||
<div class="Rline">R</div> |
|||
<div class="Rline-os">R</div> |
|||
<div class="Lline">L</div> |
|||
<div class="Lline-os">L</div> |
|||
<el-input class="ipt-a" v-model="scope.row.a" placeholder="" /> |
|||
<el-input class="ipt-b" v-model="scope.row.b" placeholder="" /> |
|||
<el-input class="ipt-c" v-model="scope.row.c" placeholder="" /> |
|||
<el-input class="ipt-d" v-model="scope.row.d" placeholder="" /> |
|||
<el-input class="ipt-e" v-model="scope.row.e" placeholder="" /> |
|||
<el-input class="ipt-f" v-model="scope.row.f" placeholder="" /> |
|||
<el-input class="ipt-g" v-model="scope.row.g" placeholder="" /> |
|||
<el-input class="ipt-h" v-model="scope.row.h" placeholder="" /> |
|||
<el-input class="ipt-j" v-model="scope.row.i" placeholder="" /> |
|||
<el-input class="iptos-a" v-model="scope.row.j" placeholder="" /> |
|||
<el-input class="iptos-b" v-model="scope.row.k" placeholder="" /> |
|||
<el-input class="iptos-c" v-model="scope.row.l" placeholder="" /> |
|||
<el-input class="iptos-d" v-model="scope.row.m" placeholder="" /> |
|||
<el-input class="iptos-e" v-model="scope.row.n" placeholder="" /> |
|||
<el-input class="iptos-f" v-model="scope.row.o" placeholder="" /> |
|||
<el-input class="iptos-g" v-model="scope.row.p" placeholder="" /> |
|||
<el-input class="iptos-h" v-model="scope.row.q" placeholder="" /> |
|||
<el-input class="iptos-j" v-model="scope.row.r" placeholder="" /> |
|||
</div> |
|||
<div v-else-if="scope.row.name === 'TITMUS(近)'"> |
|||
<span>TITMUS(近):</span> |
|||
<el-input v-model="scope.row.a" 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%" /> |
|||
</div> |
|||
<div v-else-if="scope.row.name === '签名'" style="display: flex;justify-content: space-between;padding: 0 16px"> |
|||
<div> |
|||
<span>视光师:</span> |
|||
<el-input v-model="scope.row.a" style="width: 160px" placeholder="" /> |
|||
</div> |
|||
<div> |
|||
<span>日期:</span> |
|||
<el-date-picker |
|||
v-model="scope.row.b" |
|||
type="date" |
|||
placeholder="选择日期" |
|||
/> |
|||
</div> |
|||
</div> |
|||
<span v-else>{{ scope.row.name }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="" width="" :resizable="false" prop="type"> |
|||
<template slot-scope="scope"> |
|||
<!-- {{scope.row.name}}--> |
|||
<div v-if="scope.row.name == '屈光状态'"> |
|||
<div class="width-180 center"> |
|||
OD:<el-input v-model="scope.row.OD" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '屈光状态a'"> |
|||
<div class="width-180 center"> |
|||
OS:<el-input v-model="scope.row.OS" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == 'CT+Prism'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.ct" 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="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '主观斜视角'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.od" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '客观斜视角'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.od" 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="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '融合点'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.od" 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" /> |
|||
@D |
|||
<el-input v-model="scope.row.b" placeholder="" style="width: 100px" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == 'TITMUS(近)'"> |
|||
<div class="width-180 center"> |
|||
TNO(近): |
|||
<el-input v-model="scope.row.b" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="" width="" :resizable="false"> |
|||
<template slot-scope="scope"> |
|||
<div v-if="scope.row.name == '屈光状态'"> |
|||
<div class="width-180 center"> |
|||
VA:<el-input v-model="scope.row.VA" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '屈光状态a'"> |
|||
<div class="width-180 center"> |
|||
VA:<el-input v-model="scope.row.VA" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '主观斜视角'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.os" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '客观斜视角'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.os" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == '融合点'"> |
|||
<div class="width-180 center"> |
|||
<el-input v-model="scope.row.os" 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" /> |
|||
@N |
|||
<el-input v-model="scope.row.d" placeholder="" style="width: 100px" /> |
|||
</div> |
|||
</div> |
|||
<div v-if="scope.row.name == 'TITMUS(近)'"> |
|||
<div class="width-180 center"> |
|||
RDD(远):<el-input v-model="scope.row.c" placeholder="" /> |
|||
</div> |
|||
</div> |
|||
<!-- <div v-if="scope.row.name == '同视机九方位检查'">--> |
|||
<!-- <div class="width-180 center">--> |
|||
<!-- OU:<el-input v-model="scope.row.b.yghcValue" placeholder="" />--> |
|||
<!-- </div>--> |
|||
<!-- </div>--> |
|||
<!-- <!– 签字 –>--> |
|||
<!-- <div v-if="scope.row" class="sign center">--> |
|||
<!-- <!– <span v-if="!operationRecord.doctorSignImg" class="sign" @click="singHandle('doctorSignImg')">点击签字</span>–>--> |
|||
<!-- <!– <img v-if="operationRecord.doctorSignImg" :src="operationRecord.doctorSignImg" alt="" width="90px" @click="singHandle('doctorSignImg')">–>--> |
|||
<!-- </div>--> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
export default { |
|||
props: { |
|||
archiveCaseCRFItem: { |
|||
type: Object, |
|||
default: () => { } |
|||
}, |
|||
formContent: { |
|||
type: Object, |
|||
default: () => { } |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
dataForm: { |
|||
num: '', |
|||
name: '', |
|||
sex: '', |
|||
age: '' |
|||
}, |
|||
tableData: [ |
|||
{ |
|||
name: '基础信息', |
|||
type: '' |
|||
}, |
|||
{ |
|||
name: '屈光状态', |
|||
OD: '', |
|||
VA: '', |
|||
type: '' |
|||
}, { |
|||
name: '屈光状态a', |
|||
OS: '', |
|||
VA: '', |
|||
type: '' |
|||
}, { |
|||
name: 'CT+Prism', |
|||
ct: '', |
|||
type: '' |
|||
}, { |
|||
name: '同时视检查', |
|||
type: '' |
|||
}, { |
|||
name: '检查画片', |
|||
value: '', |
|||
type: '1' |
|||
}, { |
|||
name: '主观斜视角', |
|||
od: '', |
|||
os: '' |
|||
}, { |
|||
name: '客观斜视角', |
|||
od: '', |
|||
os: '' |
|||
}, { |
|||
name: '融合功能检查' |
|||
}, { |
|||
name: '检查画片', |
|||
value: '', |
|||
type: '2' |
|||
}, { |
|||
name: '融合点', |
|||
od: '', |
|||
os: '', |
|||
type: '' |
|||
}, { |
|||
name: 'Worth-4-dot', |
|||
a: '', |
|||
b: '', |
|||
c: '', |
|||
d: '' |
|||
}, { |
|||
name: '立体式检查', |
|||
value: '' |
|||
}, { |
|||
name: 'TITMUS(近)', |
|||
a: '', |
|||
b: '', |
|||
c: '' |
|||
}, { |
|||
name: '同视机九方位检查' |
|||
}, { |
|||
name: 'ODOS', |
|||
a: '', |
|||
b: '', |
|||
c: '', |
|||
d: '', |
|||
e: '', |
|||
f: '', |
|||
g: '', |
|||
h: '', |
|||
i: '', |
|||
j: '', |
|||
k: '', |
|||
l: '', |
|||
m: '', |
|||
n: '', |
|||
o: '', |
|||
p: '', |
|||
q: '', |
|||
r: '' |
|||
}, { |
|||
name: '报告描述', |
|||
value: '' |
|||
}, { |
|||
name: '签名', |
|||
a: '', |
|||
b: '' |
|||
}] |
|||
} |
|||
}, |
|||
computed: { |
|||
operationRecord: { |
|||
get() { |
|||
return this.$store.getters.operationRecord |
|||
} |
|||
} |
|||
}, |
|||
watch: { |
|||
operationRecord: { |
|||
handler(value) { |
|||
console.log(value) |
|||
}, |
|||
deep: true, |
|||
immediate: true |
|||
} |
|||
}, |
|||
created() { |
|||
// this.printPage('threeFunc') |
|||
}, |
|||
methods: { |
|||
setData() { |
|||
this.dataForm = this.formContent.a |
|||
this.tableData = this.formContent.b |
|||
console.log(this.tableData) |
|||
}, |
|||
reSet() { |
|||
this.dataForm = { |
|||
num: '', |
|||
name: '', |
|||
sex: '', |
|||
age: '' |
|||
} |
|||
this.tableData = [ |
|||
{ |
|||
name: '基础信息', |
|||
type: '' |
|||
}, |
|||
{ |
|||
name: '屈光状态', |
|||
OD: '', |
|||
VA: '', |
|||
type: '' |
|||
}, { |
|||
name: '屈光状态a', |
|||
OS: '', |
|||
VA: '', |
|||
type: '' |
|||
}, { |
|||
name: 'CT+Prism', |
|||
ct: '', |
|||
type: '' |
|||
}, { |
|||
name: '同时视检查', |
|||
type: '' |
|||
}, { |
|||
name: '检查画片', |
|||
value: '', |
|||
type: '1' |
|||
}, { |
|||
name: '主观斜视角', |
|||
od: '', |
|||
os: '' |
|||
}, { |
|||
name: '客观斜视角', |
|||
od: '', |
|||
os: '' |
|||
}, { |
|||
name: '融合功能检查' |
|||
}, { |
|||
name: '检查画片', |
|||
value: '', |
|||
type: '2' |
|||
}, { |
|||
name: '融合点', |
|||
od: '', |
|||
os: '', |
|||
type: '' |
|||
}, { |
|||
name: 'Worth-4-dot', |
|||
a: '', |
|||
b: '', |
|||
c: '', |
|||
d: '' |
|||
}, { |
|||
name: '立体式检查', |
|||
value: '' |
|||
}, { |
|||
name: 'TITMUS(近)', |
|||
a: '', |
|||
b: '', |
|||
c: '' |
|||
}, { |
|||
name: '同视机九方位检查' |
|||
}, { |
|||
name: 'ODOS' |
|||
}, { |
|||
name: '报告描述', |
|||
value: '' |
|||
}, { |
|||
name: '签名', |
|||
a: '', |
|||
b: '' |
|||
}] |
|||
}, |
|||
// 签名 |
|||
singHandle(text) { |
|||
const value = { |
|||
text: text, |
|||
pageName: 'operationRecord' |
|||
} |
|||
this.$store.commit('beginSign', value) |
|||
}, |
|||
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) { |
|||
return { |
|||
rowspan: 1, |
|||
colspan: 3 |
|||
} |
|||
} else if (rowIndex === 1) { |
|||
return { |
|||
rowspan: 2, |
|||
colspan: 1 |
|||
} |
|||
} else if (rowIndex === 2 || rowIndex === 4) { |
|||
return { |
|||
rowspan: 0, |
|||
colspan: 0 |
|||
} |
|||
} |
|||
} else if (columnIndex === 1) { |
|||
if (rowIndex === 3 || rowIndex === 5 || rowIndex === 9) { |
|||
return { |
|||
rowspan: 1, |
|||
colspan: 2 |
|||
} |
|||
} else if (rowIndex === 0 || rowIndex === 4 || rowIndex === 8 || rowIndex === 9 || rowIndex === 12 || rowIndex === 14 || rowIndex === 15 || rowIndex === 16 || rowIndex === 17) { |
|||
return { |
|||
rowspan: 0, |
|||
colspan: 0 |
|||
} |
|||
} |
|||
} else if (columnIndex === 2 || columnIndex === 1) { |
|||
if (rowIndex === 0 || rowIndex === 3 || rowIndex === 4 || rowIndex === 5 || rowIndex === 9 || rowIndex === 8 || rowIndex === 12 || rowIndex === 14 || rowIndex === 15 || rowIndex === 16 || rowIndex === 17) { |
|||
return { |
|||
rowspan: 0, |
|||
colspan: 0 |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
handlePrint() { |
|||
this.printPage('threeFunc') |
|||
}, |
|||
handleSaveTable() { |
|||
const data = { |
|||
a: this.dataForm, |
|||
b: this.tableData |
|||
} |
|||
this.$emit('save', data) |
|||
}, |
|||
handleDelete() { |
|||
this.$emit('del') |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
|
|||
#operation-record { |
|||
//height: 93%; |
|||
// overflow: auto; |
|||
.btnBox{ |
|||
display: flex; |
|||
justify-content: flex-end; |
|||
} |
|||
.el-table--border{ |
|||
border-right: 1px solid #EBEEF5; |
|||
} |
|||
.operation-record-table { |
|||
//width: 100%; |
|||
width: 840px !important; |
|||
padding-right: 8px; |
|||
.Rline{ |
|||
position: absolute; |
|||
left: 60px; |
|||
top: 80px; |
|||
} |
|||
.Rline-os{ |
|||
position: absolute; |
|||
right: 60px; |
|||
top: 80px; |
|||
} |
|||
.Lline{ |
|||
position: absolute; |
|||
left: 330px; |
|||
top: 80px; |
|||
} |
|||
.Lline-os{ |
|||
position: absolute; |
|||
right: 330px; |
|||
top: 80px; |
|||
} |
|||
.rowLine{ |
|||
width: 200px; |
|||
height: 50px; |
|||
position: absolute; |
|||
left: 100px; |
|||
top: 70px; |
|||
border-top: 1px solid #000; |
|||
border-bottom: 1px solid #000; |
|||
} |
|||
.rowLine-l{ |
|||
width: 200px; |
|||
height: 50px; |
|||
position: absolute; |
|||
right: 100px; |
|||
top: 70px; |
|||
border-top: 1px solid #000; |
|||
border-bottom: 1px solid #000; |
|||
} |
|||
.cloLine{ |
|||
width: 60px; |
|||
height: 160px; |
|||
left: 170px; |
|||
top: 20px; |
|||
position: absolute; |
|||
border-left: 1px solid #000; |
|||
border-right: 1px solid #000; |
|||
} |
|||
.cloLine-l{ |
|||
width: 60px; |
|||
height: 160px; |
|||
right: 170px; |
|||
top: 20px; |
|||
position: absolute; |
|||
border-left: 1px solid #000; |
|||
border-right: 1px solid #000; |
|||
} |
|||
.ipt-a{ |
|||
width: 50px; |
|||
left: 114px; |
|||
top: 33px; |
|||
position: absolute; |
|||
} |
|||
.ipt-b{ |
|||
width: 50px; |
|||
left: 176px; |
|||
top: 33px; |
|||
position: absolute; |
|||
} |
|||
.ipt-c{ |
|||
width: 50px; |
|||
left: 242px; |
|||
top: 33px; |
|||
position: absolute; |
|||
} |
|||
.ipt-d{ |
|||
width: 50px; |
|||
left: 114px; |
|||
top: 80px; |
|||
position: absolute; |
|||
} |
|||
.ipt-e{ |
|||
width: 50px; |
|||
left: 176px; |
|||
top: 80px; |
|||
position: absolute; |
|||
} |
|||
.ipt-f{ |
|||
width: 50px; |
|||
left: 242px; |
|||
top: 80px; |
|||
position: absolute; |
|||
} |
|||
.ipt-g{ |
|||
width: 50px; |
|||
left: 114px; |
|||
top: 133px; |
|||
position: absolute; |
|||
} |
|||
.ipt-h{ |
|||
width: 50px; |
|||
left: 176px; |
|||
top: 133px; |
|||
position: absolute; |
|||
} |
|||
.ipt-j{ |
|||
width: 50px; |
|||
left: 242px; |
|||
top: 133px; |
|||
position: absolute; |
|||
} |
|||
.iptos-a { |
|||
width: 50px; |
|||
right: 114px; |
|||
top: 33px; |
|||
position: absolute; |
|||
} |
|||
.iptos-b { |
|||
width: 50px; |
|||
right: 176px; |
|||
top: 33px; |
|||
position: absolute; |
|||
} |
|||
.iptos-c { |
|||
width: 50px; |
|||
right: 242px; |
|||
top: 33px; |
|||
position: absolute; |
|||
} |
|||
.iptos-d { |
|||
width: 50px; |
|||
right: 114px; |
|||
top: 80px; |
|||
position: absolute; |
|||
} |
|||
.iptos-e { |
|||
width: 50px; |
|||
right: 176px; |
|||
top: 80px; |
|||
position: absolute; |
|||
} |
|||
.iptos-f { |
|||
width: 50px; |
|||
right: 242px; |
|||
top: 80px; |
|||
position: absolute; |
|||
} |
|||
.iptos-g { |
|||
width: 50px; |
|||
right: 114px; |
|||
top: 133px; |
|||
position: absolute; |
|||
} |
|||
.iptos-h { |
|||
width: 50px; |
|||
right: 176px; |
|||
top: 133px; |
|||
position: absolute; |
|||
} |
|||
.iptos-j { |
|||
width: 50px; |
|||
right: 242px; |
|||
top: 133px; |
|||
position: absolute; |
|||
} |
|||
.operation-text { |
|||
font-weight: 700; |
|||
} |
|||
.text { |
|||
font-weight: 700; |
|||
} |
|||
.sign { |
|||
cursor: pointer; |
|||
color: #46a1ff; |
|||
font-weight: 400; |
|||
} |
|||
} |
|||
.center { |
|||
text-align: center; |
|||
} |
|||
.left { |
|||
text-align: left; |
|||
} |
|||
|
|||
.width-50 { |
|||
.el-input { |
|||
width: 50px; |
|||
} |
|||
} |
|||
.width-70 { |
|||
.el-input { |
|||
width: 70px; |
|||
} |
|||
} |
|||
|
|||
.width-100 { |
|||
.el-input { |
|||
width: 100px; |
|||
} |
|||
} |
|||
.width-120 { |
|||
.el-input { |
|||
width: 120px; |
|||
} |
|||
} |
|||
.width-180 { |
|||
.el-input { |
|||
width: 180px; |
|||
} |
|||
} |
|||
.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; |
|||
padding: 0; |
|||
} |
|||
.el-input__prefix { |
|||
display: none; |
|||
} |
|||
//.el-date-editor.el-input, |
|||
//.el-date-editor.el-input__inner { |
|||
// width: 140px; |
|||
//} |
|||
//.el-input__suffix { |
|||
// top: -7px; |
|||
//} |
|||
//.el-checkbox__input.is-checked + .el-checkbox__label { |
|||
// color: #606266; |
|||
//} |
|||
//.el-checkbox__input.is-checked .el-checkbox__inner, |
|||
//.el-checkbox__input.is-indeterminate .el-checkbox__inner { |
|||
// background: #767676; |
|||
// border-color: #767676; |
|||
//} |
|||
//.el-checkbox__inner:hover, |
|||
//.el-checkbox__inner { |
|||
// border-color: #767676; |
|||
//} |
|||
//.el-radio__input.is-checked + .el-radio__label { |
|||
// color: #606266; |
|||
//} |
|||
//.el-radio__input.is-checked .el-radio__inner { |
|||
// background: #767676; |
|||
// border-color: #767676; |
|||
//} |
|||
//.el-radio { |
|||
// margin-right: 8px; |
|||
// display: block; |
|||
//} |
|||
//.el-radio__inner { |
|||
// border: 1px solid #767676 !important; |
|||
//} |
|||
//.el-radio__inner:hover { |
|||
// border-color: #767676; |
|||
//} |
|||
.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell { |
|||
background: none !important; |
|||
} |
|||
.has-gutter { |
|||
display: none; |
|||
.cell { |
|||
font-weight: 700; |
|||
} |
|||
.el-table__cell { |
|||
background: #ced4d9; |
|||
} |
|||
} |
|||
.el-table__header-wrapper{ |
|||
display: none; |
|||
} |
|||
} |
|||
</style> |
|||
@ -0,0 +1,336 @@ |
|||
<template> |
|||
<div class="component-container info"> |
|||
<div v-if="foreList.length" style="padding: 6px"> |
|||
<el-table |
|||
max-height="450" |
|||
:data="foreList" |
|||
style="width:100%;margin: 8px 8px 0 0" |
|||
> |
|||
<el-table-column |
|||
align="center" |
|||
prop="name" |
|||
label="项目" |
|||
width="120" |
|||
/> |
|||
<el-table-column |
|||
align="center" |
|||
label="OD" |
|||
width="120" |
|||
> |
|||
<template slot-scope="scope"> |
|||
<div> |
|||
<span v-if="scope.row.sort === 1"> |
|||
<span style="margin-right: 16px">结膜:充血</span>{{ scope.row.odValue }} |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 2"> |
|||
<span style="margin-right: 16px">结膜:分泌物</span>{{ scope.row.odValue }} |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 3"> |
|||
<span style="margin-right: 16px">视盘:视神经</span>{{ scope.row.odValue }} |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 4"> |
|||
<span style="margin-right: 16px">视盘:CDR</span>{{ scope.row.odValue }} |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 5"> |
|||
<div v-if="scope.row.eyeType === 'OD'"> |
|||
<p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> |
|||
<p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> |
|||
<p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> |
|||
<p style="margin-right: 16px">等效球镜:{{ scope.row.odSe }}</p> |
|||
</div> |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 6"> |
|||
<div v-if="scope.row.eyeType === 'OD'"> |
|||
<p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> |
|||
<p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> |
|||
<p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> |
|||
<p style="margin-right: 16px">矫正视力VA:{{ scope.row.odVa }}</p> |
|||
</div> |
|||
</span> |
|||
<span v-else> |
|||
{{ scope.row.odValue }} |
|||
</span> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
align="center" |
|||
label="OS" |
|||
width="120" |
|||
> |
|||
<template slot-scope="scope"> |
|||
<div> |
|||
<span v-if="scope.row.sort === 1"> |
|||
<span style="margin-right: 16px">结膜:充血</span>{{ scope.row.osValue }} |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 2"> |
|||
<span style="margin-right: 16px">结膜:分泌物</span>{{ scope.row.osValue }} |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 3"> |
|||
<span style="margin-right: 16px">视盘:视神经</span>{{ scope.row.osValue }} |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 4"> |
|||
<span style="margin-right: 16px">视盘:CDR</span>{{ scope.row.osValue }} |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 5"> |
|||
<div v-if="scope.row.eyeType === 'OS'"> |
|||
<p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> |
|||
<p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> |
|||
<p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> |
|||
<p style="margin-right: 16px">等效球镜:{{ scope.row.odSe }}</p> |
|||
</div> |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 6"> |
|||
<div v-if="scope.row.eyeType === 'OS'"> |
|||
<p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> |
|||
<p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> |
|||
<p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> |
|||
<p style="margin-right: 16px">矫正视力VA:{{ scope.row.odVa }}</p> |
|||
</div> |
|||
</span> |
|||
<span v-else> |
|||
{{ scope.row.osValue }} |
|||
</span> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
align="center" |
|||
label="OU" |
|||
width="120" |
|||
> |
|||
<template slot-scope="scope"> |
|||
<div> |
|||
<span v-if="scope.row.sort === 1"> |
|||
<span style="margin-right: 16px" />{{ scope.row.ouValue }} |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 5"> |
|||
<div v-if="scope.row.eyeType === 'OU'"> |
|||
<p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> |
|||
<p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> |
|||
<p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> |
|||
<p style="margin-right: 16px">等效球镜:{{ scope.row.odSe }}</p> |
|||
</div> |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 6"> |
|||
<div v-if="scope.row.eyeType === 'OU'"> |
|||
<p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> |
|||
<p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> |
|||
<p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> |
|||
<p style="margin-right: 16px">矫正视力VA:{{ scope.row.odVa }}</p> |
|||
</div> |
|||
</span> |
|||
<span v-else> |
|||
{{ scope.row.ouValue }} |
|||
</span> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="操作" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span |
|||
class="cell-cursor" |
|||
style="margin-left: 5px;" |
|||
:class="scope.$index === 0 ? 'table-column-disable' : ''" |
|||
@click="handleMove(scope, 'up', foreList)" |
|||
>上移</span> |
|||
<span |
|||
class="cell-cursor" |
|||
style="margin-left: 5px;" |
|||
:class="scope.$index === foreList.length - 1 ? 'table-column-disable' : ''" |
|||
@click="handleMove(scope, 'down', foreList)" |
|||
>下移</span> |
|||
<span |
|||
class="cell-cursor" |
|||
style="margin-left: 5px;color: #FF4D4F" |
|||
@click="handleDel(scope.$index, foreList)" |
|||
> |
|||
删除 |
|||
<!-- <i class="el-icon-delete"></i>--> |
|||
</span> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
<!-- <div v-if="afterList.length">--> |
|||
<!-- <el-table--> |
|||
<!-- max-height="450"--> |
|||
<!-- :data="afterList"--> |
|||
<!-- style="width:100%;margin: 8px 8px 0 0"--> |
|||
<!-- >--> |
|||
<!-- <el-table-column--> |
|||
<!-- align="center"--> |
|||
<!-- label="OD"--> |
|||
<!-- width="140"--> |
|||
<!-- >--> |
|||
<!-- <template slot-scope="scope">--> |
|||
<!-- <div>--> |
|||
<!-- <span v-if="scope.row.sort === 1">--> |
|||
<!-- {{ scope.row.odValue }}--> |
|||
<!-- </span>--> |
|||
<!-- <span v-if="!scope.row.sort">{{ scope.row.name }}</span>--> |
|||
<!-- <span v-if="scope.row.sort === 2">--> |
|||
<!-- <span style="margin-right: 16px">结膜:充血</span>{{ scope.row.odValue }}--> |
|||
<!-- </span>--> |
|||
<!-- <span v-if="scope.row.sort === 3">--> |
|||
<!-- <span style="margin-right: 16px">结膜:分泌物</span>{{ scope.row.odValue }}--> |
|||
<!-- </span>--> |
|||
<!-- </div>--> |
|||
<!-- </template>--> |
|||
<!-- </el-table-column>--> |
|||
<!-- <el-table-column--> |
|||
<!-- align="center"--> |
|||
<!-- label="OS"--> |
|||
<!-- width="140"--> |
|||
<!-- >--> |
|||
<!-- <template slot-scope="scope">--> |
|||
<!-- <div>--> |
|||
<!-- <span v-if="scope.row.sort === 1">--> |
|||
<!-- {{ scope.row.osValue }}--> |
|||
<!-- </span>--> |
|||
<!-- <span v-if="!scope.row.sort">{{ scope.row.name }}</span>--> |
|||
<!-- <span v-if="scope.row.sort === 2">--> |
|||
<!-- <span style="margin-right: 16px">结膜:充血</span>{{ scope.row.osValue }}--> |
|||
<!-- </span>--> |
|||
<!-- <span v-if="scope.row.sort === 3">--> |
|||
<!-- <span style="margin-right: 16px">结膜:分泌物</span>{{ scope.row.osValue }}--> |
|||
<!-- </span>--> |
|||
<!-- </div>--> |
|||
<!-- </template>--> |
|||
<!-- </el-table-column>--> |
|||
<!-- <el-table-column label="操作" align="center">--> |
|||
<!-- <template slot-scope="scope">--> |
|||
<!-- <span--> |
|||
<!-- class="cell-cursor"--> |
|||
<!-- style="margin-left: 5px;"--> |
|||
<!-- :class="scope.$index === 0 ? 'table-column-disable' : ''"--> |
|||
<!-- @click="handleMove(scope, 'up', afterList)"--> |
|||
<!-- >上移</span>--> |
|||
<!-- <span--> |
|||
<!-- class="cell-cursor"--> |
|||
<!-- style="margin-left: 5px;"--> |
|||
<!-- :class="scope.$index === afterList.length - 1 ? 'table-column-disable' : ''"--> |
|||
<!-- @click="handleMove(scope, 'down', afterList)"--> |
|||
<!-- >下移</span>--> |
|||
<!-- <span--> |
|||
<!-- class="cell-cursor"--> |
|||
<!-- style="margin-left: 5px;color: #FF4D4F"--> |
|||
<!-- @click="handleDel(scope.$index, afterList)"--> |
|||
<!-- >--> |
|||
<!-- 删除--> |
|||
<!-- <!– <i class="el-icon-delete"></i>–>--> |
|||
<!-- </span>--> |
|||
<!-- </template>--> |
|||
<!-- </el-table-column>--> |
|||
<!-- </el-table>--> |
|||
<!-- </div>--> |
|||
<div style="width: 100%;margin-top: 16px;display: flex;justify-content: space-between"> |
|||
<el-button style="width: 48%;" type="primary" size="small" @click="addExamine">引入专科检查</el-button> |
|||
<el-button style="width: 48%" size="small">复制</el-button> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import dialogjs from '@/mixins/dialog' |
|||
import infoDetail from './infoDetail' |
|||
import eventBus from '@/page-subspecialty/utils/eventBus' |
|||
|
|||
export default { |
|||
components: { |
|||
infoDetail |
|||
}, |
|||
mixins: [dialogjs], |
|||
props: { |
|||
patientIdNumber: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
dataList: { |
|||
type: Array, |
|||
default() { |
|||
return [] |
|||
} |
|||
}, |
|||
foreList: { |
|||
type: Array, |
|||
default() { |
|||
return [] |
|||
} |
|||
}, |
|||
afterList: { |
|||
type: Array, |
|||
default() { |
|||
return [] |
|||
} |
|||
}, |
|||
sourceData: { |
|||
type: String, |
|||
default: '' |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
setPlanList: [], |
|||
addFollowList: [], |
|||
patientInfoHeadHeight: '', |
|||
crfSelectVisible: false |
|||
} |
|||
}, |
|||
watch: { |
|||
|
|||
}, |
|||
created() { |
|||
|
|||
}, |
|||
mounted() { |
|||
|
|||
}, |
|||
methods: { |
|||
addData() { |
|||
|
|||
}, |
|||
// 上下移动 |
|||
handleMove(scope, moveType, list) { |
|||
const { $index } = scope |
|||
if (moveType === 'up') { |
|||
if ($index === 0) return |
|||
const isUp = list[$index - 1] |
|||
list.splice($index - 1, 1) |
|||
list.splice($index, 0, isUp) |
|||
} else { |
|||
if ($index === list.length - 1) return |
|||
const isDown = list[$index + 1] |
|||
list.splice($index + 1, 1) |
|||
list.splice($index, 0, isDown) |
|||
} |
|||
}, |
|||
// 删除 |
|||
handleDel(index, list) { |
|||
list = list.splice(index, 1) |
|||
}, |
|||
// 引入专科检查 |
|||
addExamine() { |
|||
eventBus.$emit('sendDataToExamine', this.foreList) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style lang="scss" > |
|||
|
|||
</style> |
|||
|
|||
<style lang="scss" scoped> |
|||
.info { |
|||
width: 600px; |
|||
height: 100%; |
|||
overflow-y: auto; |
|||
.cell-cursor { |
|||
cursor: pointer; |
|||
color: #1e79ff; |
|||
} |
|||
.table-column-disable { |
|||
color: #dddd; |
|||
} |
|||
} |
|||
</style> |
|||
@ -1,215 +0,0 @@ |
|||
<template> |
|||
<div class="component-container info"> |
|||
<div v-if="sourceData === 'fore'" style="padding: 6px"> |
|||
<el-table |
|||
height="450" |
|||
:data="dataList" |
|||
style="width:100%;margin: 8px 8px 0 0" |
|||
> |
|||
<el-table-column |
|||
align="center" |
|||
label="OD" |
|||
width="140" |
|||
> |
|||
<template slot-scope="scope"> |
|||
<div> |
|||
<span v-if="scope.row.sort === 1"> |
|||
{{ scope.row.od }} |
|||
<!-- <treeSelect v-model="scope.row.od" :options="scope.row.data" :props="treeProps" :multiple="true" :filterable="true" :check-strictly="true" :default-expand-all="true" @add="addTree(scope.row, $event)" @remove="removeTree" />--> |
|||
</span> |
|||
<span v-if="!scope.row.sort">{{ scope.row.name }}</span> |
|||
<span v-if="scope.row.sort === 2"> |
|||
{{ scope.row.od }} |
|||
<!-- <span style="margin-right: 16px">结膜:充血</span><treeSelect v-model="scope.row.od" :props="treeProps" style="display: inline-block;width: 60%" :options="scope.row.data" :multiple="true" :filterable="true" :check-strictly="true" :default-expand-all="true" @add="addTree(scope.row, $event)" />--> |
|||
</span> |
|||
<span v-if="scope.row.sort === 3"> |
|||
{{ scope.row.od }} |
|||
<!-- <span style="margin-right: 16px">结膜:分泌物</span><treeSelect v-model="scope.row.od" :props="treeProps" style="display: inline-block;width: 60%" :options="scope.row.data" :multiple="true" :filterable="true" :check-strictly="true" :default-expand-all="true" @add="addTree(scope.row, $event)" />--> |
|||
</span> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
align="center" |
|||
label="OS" |
|||
width="140" |
|||
> |
|||
<template slot-scope="scope"> |
|||
<div> |
|||
<span v-if="scope.row.sort === 1"> |
|||
<!-- <treeSelect v-model="scope.row.os" :options="scope.row.data" :props="treeProps" :multiple="true" :filterable="true" :check-strictly="true" :default-expand-all="true" @add="addTree(scope.row, $event)" />--> |
|||
</span> |
|||
<span v-if="!scope.row.sort">{{ scope.row.name }}</span> |
|||
<span v-if="scope.row.sort === 2"> |
|||
<!--/* <span style="margin-right: 16px">结膜:充血</span><treeSelect v-model="scope.row.os" :props="treeProps" style="display: inline-block;width: 60%" :options="scope.row.data" :multiple="true" :filterable="true" :check-strictly="true" :default-expand-all="true" @add="addTree(scope.row, $event)" />*/--> |
|||
</span> |
|||
<span v-if="scope.row.sort === 3"> |
|||
<!--/* <span style="margin-right: 16px">结膜:分泌物</span><treeSelect v-model="scope.row.os" :props="treeProps" style="display: inline-block;width: 60%" :options="scope.row.data" :multiple="true" :filterable="true" :check-strictly="true" :default-expand-all="true" @add="addTree(scope.row, $event)" />*/--> |
|||
</span> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="操作" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span |
|||
class="cell-cursor" |
|||
style="margin-left: 5px;" |
|||
:class="scope.$index === 0 ? 'table-column-disable' : ''" |
|||
@click="handleMove(scope, 'up', dataList)" |
|||
>上移</span> |
|||
<span |
|||
class="cell-cursor" |
|||
style="margin-left: 5px;" |
|||
:class="scope.$index === dataList.length - 1 ? 'table-column-disable' : ''" |
|||
@click="handleMove(scope, 'down', dataList)" |
|||
>下移</span> |
|||
<span |
|||
class="cell-cursor" |
|||
style="margin-left: 5px;color: #FF4D4F" |
|||
@click="handleDel(scope.$index, dataList)" |
|||
> |
|||
删除 |
|||
<!-- <i class="el-icon-delete"></i>--> |
|||
</span> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
<div> |
|||
<!-- <el-table--> |
|||
<!-- :data="dataList"--> |
|||
<!-- stripe--> |
|||
<!-- style="width: 100%"--> |
|||
<!-- >--> |
|||
<!-- <el-table-column--> |
|||
<!-- align="center"--> |
|||
<!-- prop="date"--> |
|||
<!-- label="日期"--> |
|||
<!-- width="180"--> |
|||
<!-- />--> |
|||
<!-- <el-table-column--> |
|||
<!-- align="center"--> |
|||
<!-- prop="name"--> |
|||
<!-- label="姓名"--> |
|||
<!-- width="180"--> |
|||
<!-- />--> |
|||
<!-- <el-table-column--> |
|||
<!-- align="center"--> |
|||
<!-- prop="address"--> |
|||
<!-- label="地址"--> |
|||
<!-- />--> |
|||
<!-- <el-table-column label="操作" width="150" align="center">--> |
|||
<!-- <template slot-scope="scope">--> |
|||
<!-- <span--> |
|||
<!-- class="cell-cursor"--> |
|||
<!-- style="margin-left: 5px;"--> |
|||
<!-- :class="scope.$index === 0 ? 'table-column-disable' : ''"--> |
|||
<!-- @click="handleMove(scope, 'up', dataList)"--> |
|||
<!-- >上移</span>--> |
|||
<!-- <span--> |
|||
<!-- class="cell-cursor"--> |
|||
<!-- style="margin-left: 5px;"--> |
|||
<!-- :class="scope.$index === dataList.length - 1 ? 'table-column-disable' : ''"--> |
|||
<!-- @click="handleMove(scope, 'down', dataList)"--> |
|||
<!-- >下移</span>--> |
|||
<!-- <span--> |
|||
<!-- class="cell-cursor"--> |
|||
<!-- style="margin-left: 5px;color: #FF4D4F"--> |
|||
<!-- @click="handleDel(scope, 'down', dataList)"--> |
|||
<!-- >--> |
|||
<!-- 删除--> |
|||
<!-- <!– <i class="el-icon-delete"></i>–>--> |
|||
<!-- </span>--> |
|||
<!-- </template>--> |
|||
<!-- </el-table-column>--> |
|||
<!-- </el-table>--> |
|||
</div> |
|||
<!-- <el-button style="width: 100%;margin: 16px 0" size="small" @click="addData">+ 添加数据</el-button>--> |
|||
<div v-if="sourceData" style="width: 100%;margin-top: 16px;display: flex;justify-content: space-between"> |
|||
<el-button style="width: 48%;" type="primary" size="small">引入专科检查</el-button> |
|||
<el-button style="width: 48%" size="small">复制</el-button> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import dialogjs from '@/mixins/dialog' |
|||
import infoDetail from './infoDetail' |
|||
|
|||
export default { |
|||
components: { |
|||
infoDetail |
|||
}, |
|||
mixins: [dialogjs], |
|||
props: { |
|||
patientIdNumber: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
dataList: { |
|||
type: Array, |
|||
default: [] |
|||
}, |
|||
sourceData: { |
|||
type: String, |
|||
default: '' |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
setPlanList: [], |
|||
addFollowList: [], |
|||
patientInfoHeadHeight: '', |
|||
crfSelectVisible: false |
|||
} |
|||
}, |
|||
watch: { |
|||
|
|||
}, |
|||
created() { |
|||
|
|||
}, |
|||
mounted() { |
|||
|
|||
}, |
|||
methods: { |
|||
addData() { |
|||
|
|||
}, |
|||
// 上下移动 |
|||
handleMove(scope, moveType, list) { |
|||
const { $index } = scope |
|||
if (moveType === 'up') { |
|||
if ($index === 0) return |
|||
const isUp = list[$index - 1] |
|||
list.splice($index - 1, 1) |
|||
list.splice($index, 0, isUp) |
|||
} else { |
|||
if ($index === list.length - 1) return |
|||
const isDown = list[$index + 1] |
|||
list.splice($index + 1, 1) |
|||
list.splice($index, 0, isDown) |
|||
} |
|||
}, |
|||
handleDel(index, list) { |
|||
list = list.splice(index, 1) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style lang="scss" > |
|||
|
|||
</style> |
|||
|
|||
<style lang="scss" scoped> |
|||
.info { |
|||
width: 600px; |
|||
.cell-cursor { |
|||
cursor: pointer; |
|||
color: #1e79ff; |
|||
} |
|||
.table-column-disable { |
|||
color: #dddd; |
|||
} |
|||
} |
|||
</style> |
|||
@ -0,0 +1,513 @@ |
|||
<template> |
|||
<!-- 视光档案--> |
|||
<div class="opticalFile"> |
|||
<div class="opticalFile-content"> |
|||
<div class="content-left"> |
|||
<div class="content-left-top"> |
|||
<div v-for="(item, index) in formList" :key="index" class="formBox" style="margin-top: 12px" :class="[index === curIndex ? 'active' : '']" @click="handleForm(index, item)"> |
|||
<p :class="[index === curIndex ? 'activeFont' : 'curFont']">{{ item.createTime }}</p> |
|||
<p>{{ item.name }}</p> |
|||
</div> |
|||
<img v-if="!formList.length" src="@/assets/img/nodata.png" alt="" class="nodata"> |
|||
<!-- <div class="button"><i class="el-icon-plus" /> 新建表单</div> --> |
|||
</div> |
|||
<div class="content-left-bottom"> |
|||
<div class="commonForm-text "> |
|||
<span>常用表单</span> |
|||
<span class="line" /> |
|||
<el-checkbox v-model="defaultChecked">默认新建今日</el-checkbox> |
|||
</div> |
|||
<div class="record" @click="addRecord(1,'屈光发育档案')"> |
|||
<p>屈光发育档案</p> |
|||
<img :src="require('@/assets/img/add.png')" alt=""> |
|||
</div> |
|||
<div class="comonForm-tab"> |
|||
<el-radio-group v-model="formType" size="small"> |
|||
<el-radio-button label="报告单" name="1" style="" /> |
|||
<el-radio-button label="其他" name="2" style="" /> |
|||
</el-radio-group> |
|||
<div v-if="formType === '报告单'"> |
|||
<div class="record"> |
|||
<p>双眼视功能检查报告单</p> |
|||
<img :src="require('@/assets/img/add.png')" alt="" @click="addRecord(2,'双眼视功能检查报告单')"> |
|||
</div> |
|||
<div class="record"> |
|||
<p>验光报告单</p> |
|||
<img :src="require('@/assets/img/add.png')" alt="" @click="addRecord(3,'验光报告单')"> |
|||
</div> |
|||
<div class="record" @click="addRecord(4,'三级视功能检查报告单')"> |
|||
<p>三级视功能检查报告单</p> |
|||
<img :src="require('@/assets/img/add.png')" alt="" @click="addRecord(4,'三级视功能检查报告单')"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="content-right"> |
|||
<eyesVision v-if="name === '双眼视功能检查报告单'" ref="eyes" :form-content="eyesData" @save="updateForm" @del="deleteForm"/> |
|||
<optometryForm v-if="name === '验光报告单'" ref="optome" :form-content="optomeData" @save="updateForm" @del="deleteForm" /> |
|||
<threeVision v-if="name === '三级视功能检查报告单'" ref="three" :form-content="threeData" @save="updateForm" @del="deleteForm" /> |
|||
<deveopmentFile v-show="name === '屈光发育档案'" ref="deveope" :form-content="deveopData" @save="updateForm" @del="deleteForm" /> |
|||
</div> |
|||
</div> |
|||
<!-- 批量打印 --> |
|||
<!-- <add-print v-if="addPrintVisible" ref="addPrintRef" @closedDialog="addPrintVisible=false" />--> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import { dateFilterTwo } from '@/filters/index.js' |
|||
import ourPatientRecord from './outPatientRecord' |
|||
const Base64 = require('js-base64').Base64 |
|||
import eyesVision from '@/components/360View/commonForm/eyesVision' // |
|||
import threeVision from '@/components/360View/commonForm/threeVision' // |
|||
import optometryForm from '@/components/360View/commonForm/optometryForm' // |
|||
import deveopmentFile from '@/components/360View/commonForm/deveopmentFIle' // |
|||
export default { |
|||
components: { |
|||
ourPatientRecord, |
|||
eyesVision, |
|||
optometryForm, |
|||
deveopmentFile, |
|||
threeVision |
|||
}, |
|||
mixins: [], |
|||
props: { |
|||
patientIdNumber: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
patientId: { |
|||
type: String, |
|||
default: '' |
|||
} |
|||
}, |
|||
inject: ['refresh'], |
|||
data() { |
|||
return { |
|||
id: '', |
|||
name: '', |
|||
defaultChecked: [], |
|||
curIndex: 0, |
|||
formList: [], |
|||
deveopData: {}, |
|||
threeData: {}, |
|||
optomeData: {}, |
|||
eyesData: {}, |
|||
formType: '报告单' |
|||
} |
|||
}, |
|||
mounted() { |
|||
this.getFormList() |
|||
}, |
|||
methods: { |
|||
handleForm(index, item) { |
|||
console.log(item) |
|||
this.curIndex = index |
|||
this.id = item.id |
|||
this.name = item.name |
|||
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) { |
|||
this.$nextTick(() => { |
|||
this.$refs.optome.setData() |
|||
}) |
|||
} else { |
|||
this.$nextTick(() => { |
|||
this.$refs.optome.reSet() |
|||
}) |
|||
} |
|||
} 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) { |
|||
this.$nextTick(() => { |
|||
this.$refs.deveope.setData() |
|||
}) |
|||
} else { |
|||
this.$nextTick(() => { |
|||
this.$refs.deveope.reSet() |
|||
}) |
|||
} |
|||
} |
|||
}, |
|||
// 添加表单 |
|||
addRecord(index, name) { |
|||
this.saveTableData(name) |
|||
}, |
|||
async saveTableData(name) { |
|||
const date = dateFilterTwo(this.$moment().format('L')) |
|||
const params = { |
|||
flag: 6, |
|||
name: name, |
|||
createTime: date + ' 00:00:00', |
|||
patientId: this.patientId, |
|||
platform: 2 |
|||
} |
|||
const { data: res } = await this.$http.post('/case/save', params) |
|||
if (res.code === 0) { |
|||
this.$message.success('保存成功') |
|||
this.getFormList() |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
async updateForm(data) { |
|||
console.log(data) |
|||
// const data = data |
|||
const params = { |
|||
flag: 6, |
|||
name: this.name, |
|||
jsonText: JSON.stringify(data), |
|||
patientId: this.patientId, |
|||
id: this.id, |
|||
platform: 2 |
|||
} |
|||
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) |
|||
} |
|||
}, |
|||
async deleteForm(data) { |
|||
console.log(data) |
|||
const params = { |
|||
id: this.id |
|||
} |
|||
const { data: res } = await this.$http.post('/case/delete', params) |
|||
if (res.code === 0) { |
|||
this.$message.success('删除成功') |
|||
this.getFormList() |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
async getFormList() { |
|||
const { data: res } = await this.$http.get('/patient/view/getCases', { |
|||
params: { |
|||
patientId: this.patientId, |
|||
platform: 2, |
|||
flag: 6 |
|||
} |
|||
}) |
|||
if (res.code === 0) { |
|||
this.formList = res.data || [] |
|||
this.curIndex = 0 |
|||
this.id = this.formList.length ? this.formList[0].id : '' |
|||
this.name = this.formList.length ? this.formList[0].name : '' |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
// async getSingleForm() { |
|||
// const { data: res } = await this.$http.get('/case/getCase', { |
|||
// params: { |
|||
// patientId: this.patientId, |
|||
// platform: 2, |
|||
// flag: 6 |
|||
// } |
|||
// }) |
|||
// if (res.code === 0) { |
|||
// this.collectId = res.data ? res.data.id : '' |
|||
// } else { |
|||
// this.$message.error(res.msg) |
|||
// } |
|||
// }, |
|||
// 添加常用表单 |
|||
// tab切换 |
|||
handleClick(el) { |
|||
this.comonFormCurrentIndex = 0 |
|||
}, |
|||
// CRF打印 |
|||
printerHandle() { |
|||
this.$refs.crfComponent.$el.contentWindow.print() |
|||
}, |
|||
// 批量打印 |
|||
allPrintPreview() { |
|||
this.addPrintVisible = true |
|||
this.$nextTick(() => { |
|||
this.$refs.addPrintRef.archiveId = this.currentArchiveList.id |
|||
this.$refs.addPrintRef.init() |
|||
}) |
|||
}, |
|||
// 问卷调查打印 |
|||
handlePrint() { |
|||
this.archiveCaseCRFItem.formName === '眼科病史问卷调查' ? this.printPage('eyeQuestionPrint') : this.printPage('beforeOperationPrint') |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style lang="scss" scoped> |
|||
.opticalFile { |
|||
height: 100%; |
|||
.active { |
|||
color: white; |
|||
background-color: #1C76FD; |
|||
} |
|||
.curFont { |
|||
color: #A6A4A4; |
|||
} |
|||
.activeFont { |
|||
color: #D9D9D9; |
|||
} |
|||
.text-ellipsis { |
|||
white-space: nowrap; // 段落不换行 |
|||
text-overflow: ellipsis; |
|||
overflow: hidden; |
|||
} |
|||
.printer { |
|||
border: 1px solid #ccc; |
|||
width: 56px; |
|||
height: 32px; |
|||
border-radius: 3px; |
|||
margin: 0; |
|||
margin-left: 10px; |
|||
cursor: pointer; |
|||
} |
|||
.formBox{ |
|||
cursor: pointer; |
|||
padding: 2px 8px; |
|||
border-radius: 2px; |
|||
} |
|||
.opticalFile-content { |
|||
display: flex; |
|||
height: 100%; |
|||
overflow: hidden; |
|||
.content-left { |
|||
width: 185px; |
|||
height: 100%; |
|||
margin-right: 14px; |
|||
.nodata { |
|||
width: 185px; |
|||
margin-top: 30px; |
|||
} |
|||
.content-left-top, |
|||
.content-left-bottom { |
|||
height: 50%; |
|||
} |
|||
.tree-botton-arr { |
|||
margin-left: 10px; |
|||
} |
|||
.tree-date { |
|||
padding-right: 10px; |
|||
} |
|||
.content-left-top { |
|||
overflow-y: auto; |
|||
margin-bottom: 16px; |
|||
.CRFList-list { |
|||
display: flex; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
padding-left: 24px; |
|||
padding-right: 16px; |
|||
color: #000; |
|||
} |
|||
.CRFList-list { |
|||
height: 40px; |
|||
line-height: 40px; |
|||
font-size: 14px; |
|||
cursor: pointer; |
|||
.el-icon-more { |
|||
transform: rotate(90deg); |
|||
} |
|||
} |
|||
.CRFList-icon:hover { |
|||
color: #ff2929; |
|||
} |
|||
.CRFList-list-active { |
|||
background-color: #1890ff; |
|||
color: #fff; |
|||
.el-icon-more { |
|||
color: #fff; |
|||
} |
|||
} |
|||
.button { |
|||
margin-top: 16px; |
|||
background: #f2f3f5; |
|||
border-radius: 4px; |
|||
height: 40px; |
|||
line-height: 40px; |
|||
text-align: center; |
|||
cursor: pointer; |
|||
} |
|||
.button:hover, |
|||
.el-icon-plus:hover { |
|||
color: #1890ff; |
|||
} |
|||
} |
|||
.content-left-bottom { |
|||
.commonForm-text { |
|||
display: flex; |
|||
align-items: center; |
|||
font-size: 14px; |
|||
font-weight: 700; |
|||
} |
|||
.line { |
|||
border-bottom: 1px solid #e5e6eb; |
|||
flex: 1; |
|||
display: inline-block; |
|||
margin: 0 10px; |
|||
} |
|||
.comonForm-tab { |
|||
margin-top: 10px; |
|||
} |
|||
.comonForm-tab-Pane { |
|||
margin-top: 10px; |
|||
} |
|||
.comonForm-list { |
|||
height: 40px; |
|||
line-height: 40px; |
|||
font-size: 14px; |
|||
display: flex; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
padding: 0 10px; |
|||
cursor: pointer; |
|||
} |
|||
.comonForm-list:hover { |
|||
background-color: #f4f8fb; |
|||
color: #1d2129; |
|||
} |
|||
.comonForm-icon:hover { |
|||
color: #1890ff; |
|||
font-weight: 700; |
|||
} |
|||
} |
|||
} |
|||
.record{ |
|||
display: flex; |
|||
justify-content: space-between; |
|||
padding-top: 12px; |
|||
cursor: pointer; |
|||
p { |
|||
display: inline-block; |
|||
font-size: 14px; |
|||
color: rgba(0, 0, 0, 0.85); |
|||
letter-spacing: 1px; |
|||
} |
|||
img { |
|||
width: 16px; |
|||
height: 16px; |
|||
margin-top: 3px; |
|||
} |
|||
} |
|||
} |
|||
.content-right { |
|||
padding: 12px; |
|||
position: relative; |
|||
flex: 1; |
|||
text-align: center; |
|||
background-color: #F0F2F5; |
|||
overflow-y: hidden; |
|||
.content-right-buttonClick { |
|||
display: flex; |
|||
justify-content: flex-end; |
|||
background: #2e2e2e; |
|||
padding: 10px; |
|||
} |
|||
.editor-CRF { |
|||
height: 93%; |
|||
} |
|||
.content-right-CRF { |
|||
background: #5c5c5c; |
|||
overflow-x: auto; |
|||
padding: 16px 16px 16px 16px; |
|||
position: relative; |
|||
height: 100%; |
|||
} |
|||
.content-right-CRF-class { |
|||
padding-right: 178px; |
|||
} |
|||
.suspension-button { |
|||
position: absolute; |
|||
right: 10px; |
|||
top: 10px; |
|||
z-index: 1; |
|||
} |
|||
.case-template, |
|||
.intelligent-filling { |
|||
cursor: pointer; |
|||
height: 140px; |
|||
width: 32px; |
|||
background: #fff; |
|||
border-radius: 4px; |
|||
display: flex; |
|||
flex-direction: column; |
|||
justify-content: space-around; |
|||
align-items: center; |
|||
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1); |
|||
span { |
|||
writing-mode: vertical-rl; |
|||
letter-spacing: 6px; |
|||
} |
|||
} |
|||
.case-template:hover, |
|||
.intelligent-filling:hover { |
|||
background: linear-gradient(270deg, #f4f8fb 0%, #deebff 66.15%); |
|||
} |
|||
.case-template { |
|||
margin-bottom: 6px; |
|||
} |
|||
} |
|||
} |
|||
</style> |
|||
<style lang="scss"> |
|||
.opticalFile { |
|||
.el-button .el-button--text .el-button--mini { |
|||
padding: 0; |
|||
} |
|||
} |
|||
.comonForm-tab { |
|||
#tab-mz { |
|||
padding-left: 14px !important; |
|||
} |
|||
.el-tabs__nav-wrap::after { |
|||
height: 0; |
|||
} |
|||
.el-tabs__header { |
|||
padding-right: 0 !important; |
|||
} |
|||
.el-tabs__item.is-active { |
|||
color: #fff; |
|||
background: #1890ff; |
|||
} |
|||
.el-tabs__item { |
|||
background: #f2f3f5; |
|||
padding: 0 14px; |
|||
margin-left: 1px; |
|||
height: 35px; |
|||
line-height: 35px; |
|||
} |
|||
.el-tabs__content { |
|||
padding: 0 !important; |
|||
} |
|||
} |
|||
.see-doctor .comonForm-tab .el-tabs__item:last-child { |
|||
padding-right: 14px !important; |
|||
} |
|||
.see-doctor .comonForm-tab .el-tabs__item:nth-child(2) { |
|||
padding-left: 14px !important; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,402 @@ |
|||
<template> |
|||
<div class="recordContainer"> |
|||
<div class="btnBox"> |
|||
<el-button v-print="'#foreCheck'" size="small">打印</el-button> |
|||
<el-button type="primary" size="small" @click="handleSaveTable">保存</el-button> |
|||
<el-button v-if="comonFormActive === '2' || comonFormActive === '3'" type="primary" size="small" @click="handleTemplate">保存为模板</el-button> |
|||
<div size="small" v-if="comonFormActive === '2' || comonFormActive === '3'" style="display:inline-block;margin-left:10px;text-align:center;width: 32px;height: 32px;background-color: #1e79ff;border-radius: 4px;vertical-align: bottom" @click="addData"> |
|||
<img :src="require('@/assets/img/data.png')" alt="" style="width: 17px;height: 16px;margin-top: 5px"> |
|||
</div> |
|||
</div> |
|||
<el-tabs v-model="comonFormActive" type="border-card" @tab-click="handleClick"> |
|||
<el-tab-pane label="病史采集" name="1"> |
|||
<el-form id="medHistory" ref="form" :model="formData" label-width="120px" style="margin-top: 32px"> |
|||
<el-form-item label="主诉:" style="width: 540px"> |
|||
<el-select |
|||
v-model="formData.zs" |
|||
clearable |
|||
filterable |
|||
allow-create |
|||
placeholder="主诉" |
|||
@blur="selectZs" |
|||
> |
|||
<el-option |
|||
v-for="item in options5" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value" |
|||
/> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="现病史:" style="width: 540px"> |
|||
<el-select |
|||
v-model="formData.xbs" |
|||
clearable |
|||
filterable |
|||
allow-create |
|||
placeholder="现病史" |
|||
@blur="selectZs" |
|||
> |
|||
<el-option |
|||
v-for="item in options5" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value" |
|||
/> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="既往病史:" style="width: 540px"> |
|||
<el-select |
|||
v-model="formData.jwbs" |
|||
clearable |
|||
filterable |
|||
allow-create |
|||
placeholder="既往病史" |
|||
@blur="selectZs" |
|||
> |
|||
<el-option |
|||
v-for="item in options5" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value" |
|||
/> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="过敏史:" style="width: 540px"> |
|||
<el-select |
|||
v-model="formData.gms" |
|||
clearable |
|||
filterable |
|||
allow-create |
|||
placeholder="过敏史" |
|||
@blur="selectZs" |
|||
> |
|||
<el-option |
|||
v-for="item in options5" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value" |
|||
/> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="周身其他病史:" style="width: 540px"> |
|||
<el-select |
|||
v-model="formData.zsqtbs" |
|||
clearable |
|||
filterable |
|||
allow-create |
|||
placeholder="周身其他病史" |
|||
@blur="selectZs" |
|||
> |
|||
<el-option |
|||
v-for="item in options5" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value" |
|||
/> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-form> |
|||
</el-tab-pane> |
|||
<el-tab-pane label="前段检查" name="2" style="height: 100%"> |
|||
<forePart ref="foreParts" :patient-id="patientId" /> |
|||
</el-tab-pane> |
|||
<el-tab-pane label="后段检查" name="3" style="height: 100%"> |
|||
<afterPart ref="afterParts" :patient-id="patientId" /> |
|||
</el-tab-pane> |
|||
<el-tab-pane label="专科检查" name="4" style="height: 100%"> |
|||
<specialExamine ref="examines" :patient-id="patientId" /> |
|||
</el-tab-pane> |
|||
<el-tab-pane label="诊断处置" name="5"> |
|||
<el-form id="formDiagnosis" :model="diagnosis" label-width="120px" style="margin-top: 32px"> |
|||
<el-form-item label="诊断:" style="width: 540px"> |
|||
<el-select |
|||
v-model="diagnosis.zd" |
|||
clearable |
|||
filterable |
|||
allow-create |
|||
placeholder="诊断" |
|||
@blur="selectZs" |
|||
> |
|||
<el-option |
|||
v-for="item in options5" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value" |
|||
/> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="处理:" style="width: 540px"> |
|||
<el-select |
|||
v-model="diagnosis.cl" |
|||
clearable |
|||
filterable |
|||
allow-create |
|||
placeholder="处理" |
|||
@blur="selectZs" |
|||
> |
|||
<el-option |
|||
v-for="item in options5" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value" |
|||
/> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="治疗意见:" style="width: 540px"> |
|||
<el-select |
|||
v-model="diagnosis.yj" |
|||
clearable |
|||
filterable |
|||
allow-create |
|||
placeholder="治疗意见" |
|||
@blur="selectZs" |
|||
> |
|||
<el-option |
|||
v-for="item in options5" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value" |
|||
/> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-form> |
|||
</el-tab-pane> |
|||
</el-tabs> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import forePart from '@/components/360View/forePart' |
|||
import afterPart from '@/components/360View/afterPart' |
|||
import specialExamine from '@/components/360View/specialExamine' |
|||
const Base64 = require('js-base64').Base64 |
|||
|
|||
export default { |
|||
components: { |
|||
forePart, |
|||
afterPart, |
|||
specialExamine |
|||
}, |
|||
mixins: [], |
|||
props: { |
|||
patientIdNumber: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
patientId: { |
|||
type: String, |
|||
default: '' |
|||
} |
|||
}, |
|||
inject: ['refresh'], |
|||
data() { |
|||
return { |
|||
formData: { |
|||
zs: '', |
|||
xbs: '', |
|||
jwbs: '', |
|||
gms: '', |
|||
zsqtbs: '' |
|||
}, // 病史采集 |
|||
diagnosis: { |
|||
zd: '', |
|||
cl: '', |
|||
yj: '' |
|||
}, |
|||
flag: '', // 1病史采集 2前段检查 3后段检查 4专科检查 5诊断处置 |
|||
tableData: [ |
|||
{ |
|||
date: '2016-05-02', |
|||
name: '王小虎', |
|||
address: '上海市普陀区金沙江路 1518 弄' |
|||
}, { |
|||
date: '2016-05-04', |
|||
name: '王小虎', |
|||
address: '上海市普陀区金沙江路 1517 弄' |
|||
}, { |
|||
date: '2016-05-02', |
|||
name: '王小虎', |
|||
address: '上海市普陀区金沙江路 1518 弄' |
|||
}, { |
|||
date: '2016-05-04', |
|||
name: '王小虎', |
|||
address: '上海市普陀区金沙江路 1517 弄' |
|||
}, { |
|||
date: '2016-05-02', |
|||
name: '王小虎', |
|||
address: '上海市普陀区金沙江路 1518 弄' |
|||
}, { |
|||
date: '2016-05-04', |
|||
name: '王小虎', |
|||
address: '上海市普陀区金沙江路 1517 弄' |
|||
}], |
|||
options: [ |
|||
{ |
|||
value: '选项1', |
|||
label: '红绿色盲' |
|||
}, { |
|||
value: '选项2', |
|||
label: '双皮奶' |
|||
}, { |
|||
value: '选项3', |
|||
label: '蚵仔煎' |
|||
}, { |
|||
value: '选项5', |
|||
label: '北京烤鸭' |
|||
}], |
|||
options5: [ |
|||
{ |
|||
value: 'HTML', |
|||
label: 'HTML' |
|||
}, { |
|||
value: 'CSS', |
|||
label: 'CSS' |
|||
}, { |
|||
value: 'JavaScript', |
|||
label: 'JavaScript' |
|||
}], |
|||
value10: [], |
|||
comonFormActive: '1' |
|||
} |
|||
}, |
|||
created() { |
|||
|
|||
}, |
|||
mounted() { |
|||
this.getOutPatientList('1') |
|||
this.getOutPatientList('5') |
|||
}, |
|||
methods: { |
|||
// 保存表单 |
|||
handleSaveTable() { |
|||
this.saveTableData('1', '病史采集') |
|||
this.$refs.foreParts.saveFore() |
|||
this.$refs.afterParts.saveAfter() |
|||
this.$refs.examines.saveExamine() |
|||
this.saveTableData('5', '诊断处置') |
|||
// if (this.comonFormActive === '1') { |
|||
// this.saveTableData('1', '病史采集') |
|||
// } else if (this.comonFormActive === '2') { |
|||
// this.$refs.foreParts.saveFore() |
|||
// } else if (this.comonFormActive === '3') { |
|||
// this.$refs.afterParts.saveAfter() |
|||
// } else if (this.comonFormActive === '4') { |
|||
// this.$refs.examines.saveExamine() |
|||
// } else if (this.comonFormActive === '5') { |
|||
// this.saveTableData('5', '诊断处置') |
|||
// } |
|||
}, |
|||
// 保存模板 |
|||
handleTemplate() { |
|||
if (this.comonFormActive === '2') { |
|||
this.$refs.foreParts.handleTemplate() |
|||
} else if (this.comonFormActive === '3') { |
|||
this.$refs.afterParts.handleTemplate() |
|||
} |
|||
}, |
|||
// 添加数据集 |
|||
addData() { |
|||
if (this.comonFormActive === '2') { |
|||
this.$refs.foreParts.addForeData() |
|||
} else if (this.comonFormActive === '3') { |
|||
this.$refs.afterParts.addAfterData() |
|||
} |
|||
}, |
|||
// 获取门诊表单数据 病史采集 诊断处置 |
|||
async getOutPatientList(flag) { |
|||
const { data: res } = await this.$http.get('/case/getCase', { |
|||
params: { |
|||
patientId: this.patientId, |
|||
platform: 1, |
|||
flag: flag |
|||
} |
|||
}) |
|||
if (res.code === 0) { |
|||
if (flag === '1') { |
|||
this.formData = res.data ? JSON.parse(res.data.jsonText) : {} |
|||
} else if (flag === '5') { |
|||
this.diagnosis = res.data ? JSON.parse(res.data.jsonText) : {} |
|||
} |
|||
this.collectId = res.data ? res.data.id : '' |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
// 保存表单数据 |
|||
async saveTableData(flag, name) { |
|||
let data = '' |
|||
if (flag === '1') { |
|||
data = JSON.stringify(this.formData) |
|||
} else if (flag === '5') { |
|||
data = JSON.stringify(this.diagnosis) |
|||
} |
|||
const params = { |
|||
flag: flag, |
|||
jsonText: data, |
|||
name: name, |
|||
patientId: this.patientId, |
|||
platform: 1 |
|||
} |
|||
let url = '' |
|||
if (this.collectId) { |
|||
url = '/case/update' |
|||
params.id = this.collectId |
|||
} else { |
|||
url = '/case/save' |
|||
} |
|||
const { data: res } = await this.$http.post(url, params) |
|||
if (res.code === 0) { |
|||
this.$message.success('保存成功') |
|||
this.getOutPatientList(flag) |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
selectZs(e) { |
|||
}, |
|||
// 打印 |
|||
printerHandle() { |
|||
console.log(this) |
|||
// this.$print(this.$refs.formDiagnosis) |
|||
// this.printPage('formDiagnosis') |
|||
this.printPage('medHistory') |
|||
// this.$refs.formDiagnosis.$el.contentWindow.print() |
|||
}, |
|||
// tab切换 |
|||
handleClick() { |
|||
console.log(this.comonFormActive) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style lang="scss" scoped> |
|||
.recordContainer{ |
|||
width: 100%; |
|||
height: 100%; |
|||
position: relative; |
|||
|
|||
.btnBox{ |
|||
text-align: right; |
|||
position: absolute; |
|||
right: 0px; |
|||
top: -1px; |
|||
z-index: 9; |
|||
} |
|||
} |
|||
</style> |
|||
<style lang="scss"> |
|||
.recordContainer{ |
|||
.el-tabs{ |
|||
height: 100%; |
|||
} |
|||
.el-tabs--border-card{ |
|||
border: none; |
|||
} |
|||
.el-tabs__header{ |
|||
background-color: white; |
|||
} |
|||
.el-tabs__content{ |
|||
padding: 8px; |
|||
} |
|||
} |
|||
</style> |
|||
File diff suppressed because it is too large
@ -0,0 +1,543 @@ |
|||
<template> |
|||
<div class="containerBox"> |
|||
<div class="patientBox"> |
|||
<div> |
|||
<el-dropdown class="mr20"> |
|||
<span class="el-dropdown-link"> |
|||
病人ID<i class="el-icon-arrow-down el-icon--right"></i> |
|||
</span> |
|||
<el-dropdown-menu slot="dropdown"> |
|||
<el-input v-model="patientId" placeholder="请输入病人ID" /> |
|||
</el-dropdown-menu> |
|||
</el-dropdown> |
|||
<el-dropdown class="mr20"> |
|||
<span class="el-dropdown-link"> |
|||
姓名<i class="el-icon-arrow-down el-icon--right"></i> |
|||
</span> |
|||
<el-dropdown-menu slot="dropdown"> |
|||
<el-input v-model="patientName" placeholder="请输入姓名" /> |
|||
</el-dropdown-menu> |
|||
</el-dropdown> |
|||
<!-- <el-dropdown class="mr20">--> |
|||
<!-- <span class="el-dropdown-link">--> |
|||
<!-- 设备类型<i class="el-icon-arrow-down el-icon--right"></i>--> |
|||
<!-- </span>--> |
|||
<!-- <el-dropdown-menu slot="dropdown">--> |
|||
<!-- <el-select default-value="全部" style="width: 180px" @change="selectDeviceType">--> |
|||
<!-- <el-select-option :value="0">--> |
|||
<!-- 全部--> |
|||
<!-- </el-select-option>--> |
|||
<!-- <el-select-option v-for="(item,index) in deviceType" :key="index" :value="item.deviceType">--> |
|||
<!-- {{ item.deviceTypeName }}--> |
|||
<!-- </el-select-option>--> |
|||
<!-- </el-select>--> |
|||
<!-- </el-dropdown-menu>--> |
|||
<!-- </el-dropdown>--> |
|||
<el-dropdown class="mr20"> |
|||
<span class="el-dropdown-link"> |
|||
备注<i class="el-icon-arrow-down el-icon--right"></i> |
|||
</span> |
|||
<el-dropdown-menu slot="dropdown"> |
|||
<el-input v-model="remark" placeholder="请输入备注" allow-clear /> |
|||
</el-dropdown-menu> |
|||
</el-dropdown> |
|||
<el-dropdown class="mr20"> |
|||
<span class="el-dropdown-link"> |
|||
用药<i class="el-icon-arrow-down el-icon--right"></i> |
|||
</span> |
|||
<el-dropdown-menu slot="dropdown"> |
|||
<el-input v-model="medication" placeholder="请输入用药" allow-clear /> |
|||
</el-dropdown-menu> |
|||
</el-dropdown> |
|||
<el-button style="float: right;margin-bottom: 10px;margin-left: 10px" type="primary" icon="search" @click="selectPagination(1)">查询</el-button> |
|||
<el-button style="float: right;margin-bottom: 10px" type="primary" icon="search" @click="reset()">重置</el-button> |
|||
</div> |
|||
<div class="exportBtn"> |
|||
<div> |
|||
<span class="export_l">已选择 {{ selectedRowKeys.length }} 项</span> |
|||
<span v-if="selectedRowKeys.length > 0" class="cancelSel" @click="cancelSelected">取消选择</span> |
|||
</div> |
|||
<span class="export_r" @click="exportData">导出数据</span> |
|||
</div> |
|||
<el-table :custom-row="handleClickRow" :row-selection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" :columns="columns" :data-source="patientList" :pagination="false"> |
|||
<template slot="lebal" slot-scope="text, record, index"> |
|||
<span v-for="item in record.tagList" v-if="record.tagList.length" class="lebalBox">{{ item.length > 20 ? item.slice(0, 20) + '...' : item }}</span> |
|||
</template> |
|||
<template slot="note" slot-scope="text, record, index"> |
|||
<span class="noteBox">{{ record.note }}</span> |
|||
</template> |
|||
<template slot="operate" slot-scope="text, record, index"> |
|||
<span class="detail" @click.stop="handleInfo(record.id)">查看信息</span> |
|||
</template> |
|||
</el-table> |
|||
<el-pagination class="pagination" size="small" :current="page" :total="total" show-size-changer show-quick-jumper :page-size="limit" @showSizeChange="onShowSizeChange" @change="selectPagination" /> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
// import api from '../../api/interface' |
|||
import moment from 'moment' |
|||
// import patientModel from './patientInfo' |
|||
|
|||
export default { |
|||
components: { |
|||
// patientModel |
|||
}, |
|||
data() { |
|||
return { |
|||
labelCol: { |
|||
xs: { span: 24 }, |
|||
sm: { span: 7 } |
|||
}, |
|||
midCol: { |
|||
xs: { span: 24 }, |
|||
sm: { span: 12 } |
|||
}, |
|||
wrapperCol: { |
|||
xs: { span: 24 }, |
|||
sm: { span: 14 } |
|||
}, |
|||
checkDate: [], |
|||
page: 1, |
|||
limit: 10, |
|||
total: 0, |
|||
// patientId: '2328656', |
|||
patientId: '2553716', |
|||
patientName: '', // 病人姓名 |
|||
userName: '', // 用户名 |
|||
childInfo: { |
|||
patientId: '', |
|||
detailFlag: false |
|||
}, |
|||
tagName: '', // 标签 |
|||
deviceId: '', // 品牌 |
|||
remark: '', // 备注 |
|||
medication: '', // 用药 |
|||
startDate: '', // 检查开始时间 |
|||
endDate: '', // 检查结束时间 |
|||
infoFlag: false, // 患者检查信息弹框 |
|||
patientIdFlag: false, |
|||
nameFlag: false, |
|||
deviceFlag: false, |
|||
brandFlag: false, |
|||
tagFlag: false, |
|||
remarkFlag: false, |
|||
medicationFlag: false, |
|||
dateFlag: false, |
|||
infoConfirm: false, |
|||
deviceType: [], |
|||
brandList: [], |
|||
patientList: [], |
|||
selectedRowKeys: [], |
|||
columns: [ |
|||
{ |
|||
title: '病人id', |
|||
dataIndex: 'id', |
|||
width: 120 |
|||
}, |
|||
{ |
|||
title: '姓名', |
|||
dataIndex: 'name', |
|||
width: 120 |
|||
}, |
|||
{ |
|||
title: '性别', |
|||
dataIndex: 'sex', |
|||
width: 120 |
|||
}, |
|||
{ |
|||
title: '年龄', |
|||
dataIndex: 'age', |
|||
width: 120 |
|||
}, |
|||
{ |
|||
title: '标签', |
|||
dataIndex: 'lebal', |
|||
scopedSlots: { customRender: 'lebal' } |
|||
}, |
|||
{ |
|||
title: '备注', |
|||
dataIndex: 'remark', |
|||
width: 150, |
|||
scopedSlots: { customRender: 'note' } |
|||
}, |
|||
{ |
|||
title: '操作', |
|||
dataIndex: 'operate', |
|||
width: 150, |
|||
scopedSlots: { customRender: 'operate' } |
|||
} |
|||
] |
|||
} |
|||
}, |
|||
computed: { |
|||
hasSelected() { |
|||
return this.selectedRowKeys.length > 0 |
|||
} |
|||
}, |
|||
mounted() { |
|||
this.userName = window.localStorage.getItem('userName') |
|||
// this.queryDeviceType() |
|||
this.queryPatientList() |
|||
}, |
|||
methods: { |
|||
moment, |
|||
// 重置 |
|||
reset() { |
|||
this.patientId = '' |
|||
this.patientName = '' |
|||
this.deviceId = '' |
|||
this.tagName = '' |
|||
this.remark = '' |
|||
this.medication = '' |
|||
this.startDate = null |
|||
this.endDate = null |
|||
}, |
|||
handleClickId() { |
|||
this.patientIdFlag = true |
|||
}, |
|||
handleClickName() { |
|||
this.nameFlag = true |
|||
}, |
|||
handleClickDevice() { |
|||
this.deviceFlag = true |
|||
}, |
|||
handleClickBrand() { |
|||
this.brandFlag = true |
|||
}, |
|||
handleClickTag() { |
|||
this.tagFlag = true |
|||
}, |
|||
handleClickRemark() { |
|||
this.remarkFlag = true |
|||
}, |
|||
handleClickMedication() { |
|||
this.medicationFlag = true |
|||
}, |
|||
handleClickDate() { |
|||
this.dateFlag = true |
|||
}, |
|||
// 退出页面 |
|||
handleOut() { |
|||
this.$router.push('/login') |
|||
}, |
|||
selectBrand(deviceId) { |
|||
this.deviceId = deviceId |
|||
}, |
|||
selectDate(val) { |
|||
if (val.length) { |
|||
this.startDate = val[0].format('YYYY-MM-DD') |
|||
this.endDate = val[1].format('YYYY-MM-DD') |
|||
} |
|||
}, |
|||
// 获取设备类型 |
|||
async queryDeviceType() { |
|||
const { data: res } = await this.$http.get('/dataBrower/patient/getDeviceTypeList') |
|||
if (res.code === 0) { |
|||
this.deviceType = res.data || [] |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
// 选择设备 |
|||
async selectDeviceType(deviceType) { |
|||
const { data: res } = await this.$http.get('/dataBrower/patient/getDeviceTypeList', { params: { |
|||
deviceType: deviceType |
|||
} |
|||
}) |
|||
if (res.code === 0) { |
|||
this.brandList = res.data || [] |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
onSelectChange(selectedRowKeys) { |
|||
this.selectedRowKeys = selectedRowKeys |
|||
}, |
|||
// 取消选择 |
|||
cancelSelected() { |
|||
this.selectedRowKeys = [] |
|||
}, |
|||
// 导出数据 |
|||
exportData() { |
|||
const token = window.localStorage.getItem('token') |
|||
const url = `${api.interfaceConfig.downLoad}?patientId=${this.patientId}&token=${token}` |
|||
window.location.href = url |
|||
}, |
|||
// 点击进入患者详情 |
|||
handleClickRow(record, index) { |
|||
return { |
|||
on: { |
|||
click: () => { |
|||
console.log(record) |
|||
// window.localStorage.setItem('patientId', '88163664') |
|||
window.localStorage.setItem('patientId', '2553716') |
|||
// window.localStorage.setItem('patientId', record.id) |
|||
window.localStorage.setItem('name', record.name) |
|||
window.localStorage.setItem('age', record.age) |
|||
window.localStorage.setItem('sex', record.sex) |
|||
this.$router.push({ name: 'patientDetail' }) |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
// 查看患者信息 |
|||
handleInfo() { |
|||
this.infoFlag = true |
|||
this.childInfo.patientId = this.patientId |
|||
this.$nextTick(() => { |
|||
// this.$refs.infoComponent.openModal() |
|||
}) |
|||
}, |
|||
// 获取患者列表 |
|||
async queryPatientList() { |
|||
console.log(123) |
|||
const params = { |
|||
page: this.page, |
|||
limit: this.limit, |
|||
patientId: this.patientId, |
|||
patientName: this.patientName, |
|||
tagName: this.tagName, |
|||
deviceId: this.deviceId, |
|||
medication: this.medication, |
|||
startDate: this.startDate, |
|||
endDate: this.endDate, |
|||
remark: this.remark |
|||
} |
|||
Object.keys(params).map((item) => { |
|||
if (!params[item]) { |
|||
delete params[item] |
|||
} |
|||
return true |
|||
}) |
|||
const { data: res } = await this.$http.get('/patient/pac30/page', { params: params }) |
|||
if (res.code === 0) { |
|||
this.patientList = res.data ? res.data.list : [] |
|||
this.total = res.data ? res.data.total : 0 |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
// 切换页面条数 |
|||
onShowSizeChange(current, pageSize) { |
|||
this.limit = pageSize |
|||
this.queryPatientList() |
|||
}, |
|||
// 分页 |
|||
selectPagination(pageNumber) { |
|||
this.page = pageNumber |
|||
this.queryPatientList() |
|||
} |
|||
} |
|||
} |
|||
|
|||
</script> |
|||
<style lang="scss" scoped> |
|||
.containerBox{ |
|||
width: 100%; |
|||
height: calc(100% - 50px) !important; |
|||
background: #141414; |
|||
.patientBox { |
|||
width: 100%; |
|||
height: 100%; |
|||
background-color: #141414; |
|||
padding: 16px; |
|||
} |
|||
|
|||
.header{ |
|||
width: 100%; |
|||
height: 48px; |
|||
line-height: 48px; |
|||
padding: 0; |
|||
background-color: #0B182E; |
|||
|
|||
.logo{ |
|||
height: 48px; |
|||
position: absolute; |
|||
left: 0; |
|||
top: 0; |
|||
} |
|||
} |
|||
.userName{ |
|||
color: #FFFFFF; |
|||
font-size: 16px; |
|||
} |
|||
.logOut{ |
|||
float: right; |
|||
padding-right: 10px; |
|||
} |
|||
.searchBox{ |
|||
width: 100%; |
|||
display: flex; |
|||
justify-content: space-around; |
|||
} |
|||
.cancelSel{ |
|||
color: #4797FF; |
|||
font-size: 14px; |
|||
font-family: PingFang SC; |
|||
margin-left: 8px; |
|||
cursor: pointer; |
|||
} |
|||
.exportBtn{ |
|||
width: 100%; |
|||
height: 54px; |
|||
line-height: 54px; |
|||
padding: 0 6px 0 32px; |
|||
background-color: rgba(71, 151, 255, 0.1); |
|||
border: 1px solid rgba(71, 151, 255, 0.3); |
|||
margin: 16px 0 16px 0; |
|||
display: flex; |
|||
justify-content: space-between; |
|||
|
|||
.export_l{ |
|||
font-size: 14px; |
|||
font-family: PingFang SC; |
|||
color: #FFFFFF; |
|||
letter-spacing: 2px; |
|||
} |
|||
.export_r{ |
|||
font-size: 14px; |
|||
font-family: PingFang SC; |
|||
color: #4797FF; |
|||
letter-spacing: 1px; |
|||
cursor: pointer; |
|||
} |
|||
} |
|||
.pagination{ |
|||
float: right; |
|||
margin-top: 16px; |
|||
|
|||
} |
|||
.lebalBox{ |
|||
display: inline-block; |
|||
height: 22px; |
|||
padding: 0 8px; |
|||
margin-right: 5px; |
|||
color: #52C41A; |
|||
letter-spacing: 1px; |
|||
background-color: #162312; |
|||
border: 1px dotted #274916; |
|||
box-sizing: content-box; |
|||
} |
|||
.noteBox{ |
|||
letter-spacing: 1px; |
|||
} |
|||
.detail{ |
|||
font-size: 14px; |
|||
font-family: PingFang SC; |
|||
color: #4797FF; |
|||
letter-spacing: 1px; |
|||
cursor: pointer; |
|||
} |
|||
.mr20{ |
|||
margin-right: 40px; |
|||
} |
|||
|
|||
} |
|||
</style> |
|||
<style lang="scss"> |
|||
.containerBox{ |
|||
.el-dropdown{ |
|||
color: white; |
|||
} |
|||
.el-pager{ |
|||
li { |
|||
background-color: transparent; |
|||
} |
|||
} |
|||
.btn-next,.btn-prev,.el-pagination button:disabled{ |
|||
background-color: transparent; |
|||
} |
|||
.el-input__inner{ |
|||
color: white; |
|||
background-color: transparent; |
|||
border: 1px solid #000000; |
|||
} |
|||
.el-table__empty-block{ |
|||
background-color: #0c1016; |
|||
.el-table__empty-text{ |
|||
color: white; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-form-item{ |
|||
margin: 16px 0; |
|||
} |
|||
.ant-form-item-label>label{ |
|||
color: #FFFFFF !important; |
|||
} |
|||
.ant-table-placeholder{ |
|||
border-top: none; |
|||
border-bottom: 1px solid #0C1016; |
|||
background-color: transparent; |
|||
} |
|||
.ant-empty-normal{ |
|||
color: #FFFFFF; |
|||
} |
|||
.ant-table-thead>tr>th{ |
|||
color: #FFFFFF; |
|||
background: #434343; |
|||
border-bottom: none; |
|||
} |
|||
|
|||
.ant-table-tbody>tr>td{ |
|||
color: #FFFFFF !important; |
|||
border-bottom: none; |
|||
} |
|||
.ant-table-tbody>tr:nth-child(odd){ |
|||
background: #1F2329 !important; |
|||
} |
|||
.ant-table-tbody>tr:nth-child(even){ |
|||
background: #141414 !important; |
|||
} |
|||
.ant-table-tbody>tr:nth-child(odd):hover:not(.ant-table-expanded-row) > td{ |
|||
background: #1F2329 !important; |
|||
} |
|||
.ant-table-tbody>tr:nth-child(even):hover:not(.ant-table-expanded-row) > td{ |
|||
background: #141414 !important; |
|||
} |
|||
.ant-table-tbody>tr:nth-child(odd).ant-table-row-selected td{ |
|||
background: #1F2329 !important; |
|||
} |
|||
.ant-table-tbody>tr:nth-child(even).ant-table-row-selected td{ |
|||
background: #141414 !important; |
|||
} |
|||
.ant-pagination-next a, .ant-pagination-prev a, .ant-pagination-item-ellipsis{ |
|||
color: #D9D9D9 !important; |
|||
} |
|||
.ant-pagination-item{ |
|||
width: 32px !important; |
|||
height: 32px !important; |
|||
line-height: 30px !important; |
|||
background-color: #1F1F1F !important; |
|||
} |
|||
.ant-pagination-item-active a{ |
|||
color: #40a9ff !important; |
|||
} |
|||
.ant-pagination-item:hover{ |
|||
border-color: #40a9ff !important; |
|||
} |
|||
.ant-pagination-item a, .ant-pagination.mini .ant-pagination-options-quick-jumper, .ant-select-sm .ant-select-selection--single{ |
|||
color: #FFFFFF; |
|||
height: 32px !important; |
|||
} |
|||
.ant-select-sm .ant-select-selection__rendered{ |
|||
line-height: 32px !important; |
|||
} |
|||
.pagination .ant-select-selection, .ant-pagination-options-quick-jumper input{ |
|||
color: #FFFFFF ; |
|||
height: 32px !important; |
|||
background-color: #1F1F1F !important; |
|||
border: 1px solid rgba(103, 103, 103, 0.38); |
|||
} |
|||
.ant-select-arrow{ |
|||
color: #FFFFFF; |
|||
} |
|||
.ant-dropdown-link{ |
|||
color: #FFFFFF; |
|||
font-size: 14px; |
|||
font-family: PingFang SC; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,243 @@ |
|||
<template> |
|||
<div class="examineBox"> |
|||
<div style="display: flex;margin-top: 32px"> |
|||
<el-table |
|||
max-height="450" |
|||
:data="tableData" |
|||
style="width:100%;margin: 8px 8px 0 0" |
|||
> |
|||
<el-table-column |
|||
align="center" |
|||
type="index" |
|||
label="序号" |
|||
/> |
|||
<el-table-column |
|||
align="center" |
|||
prop="name" |
|||
label="项目" |
|||
/> |
|||
<el-table-column |
|||
align="center" |
|||
label="OD" |
|||
> |
|||
<template slot-scope="scope"> |
|||
<div> |
|||
<span v-if="scope.row.sort === 1"> |
|||
<span style="margin-right: 16px">结膜:充血</span>{{ scope.row.odValue }} |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 2"> |
|||
<span style="margin-right: 16px">结膜:分泌物</span>{{ scope.row.odValue }} |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 3"> |
|||
<span style="margin-right: 16px">视盘:视神经</span>{{ scope.row.odValue }} |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 4"> |
|||
<span style="margin-right: 16px">视盘:CDR</span>{{ scope.row.odValue }} |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 5"> |
|||
<div v-if="scope.row.eyeType === 'OD'"> |
|||
<p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> |
|||
<p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> |
|||
<p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> |
|||
<p style="margin-right: 16px">等效球镜:{{ scope.row.odSe }}</p> |
|||
</div> |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 6"> |
|||
<div v-if="scope.row.eyeType === 'OD'"> |
|||
<p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> |
|||
<p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> |
|||
<p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> |
|||
<p style="margin-right: 16px">矫正视力VA:{{ scope.row.odVa }}</p> |
|||
</div> |
|||
</span> |
|||
<span v-else> |
|||
{{ scope.row.odValue }} |
|||
</span> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
align="center" |
|||
label="OS" |
|||
> |
|||
<template slot-scope="scope"> |
|||
<div> |
|||
<span v-if="scope.row.sort === 1"> |
|||
<span style="margin-right: 16px">结膜:充血</span>{{ scope.row.osValue }} |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 2"> |
|||
<span style="margin-right: 16px">结膜:分泌物</span>{{ scope.row.osValue }} |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 3"> |
|||
<span style="margin-right: 16px">视盘:视神经</span>{{ scope.row.osValue }} |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 4"> |
|||
<span style="margin-right: 16px">视盘:CDR</span>{{ scope.row.osValue }} |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 5"> |
|||
<div v-if="scope.row.eyeType === 'OS'"> |
|||
<p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> |
|||
<p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> |
|||
<p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> |
|||
<p style="margin-right: 16px">等效球镜:{{ scope.row.odSe }}</p> |
|||
</div> |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 6"> |
|||
<div v-if="scope.row.eyeType === 'OS'"> |
|||
<p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> |
|||
<p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> |
|||
<p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> |
|||
<p style="margin-right: 16px">矫正视力VA:{{ scope.row.odVa }}</p> |
|||
</div> |
|||
</span> |
|||
<span v-else> |
|||
{{ scope.row.osValue }} |
|||
</span> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
align="center" |
|||
label="OU" |
|||
> |
|||
<template slot-scope="scope"> |
|||
<div> |
|||
<span v-if="scope.row.sort === 1"> |
|||
<span style="margin-right: 16px" />{{ scope.row.ouValue }} |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 5"> |
|||
<div v-if="scope.row.eyeType === 'OU'"> |
|||
<p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> |
|||
<p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> |
|||
<p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> |
|||
<p style="margin-right: 16px">等效球镜:{{ scope.row.odSe }}</p> |
|||
</div> |
|||
</span> |
|||
<span v-else-if="scope.row.sort === 6"> |
|||
<div v-if="scope.row.eyeType === 'OU'"> |
|||
<p style="margin-right: 16px">球镜 DS:{{ scope.row.odSph }}</p> |
|||
<p style="margin-right: 16px">柱镜 DC:{{ scope.row.odCyl }}</p> |
|||
<p style="margin-right: 16px">轴位 Axis:{{ scope.row.odAx }}</p> |
|||
<p style="margin-right: 16px">矫正视力VA:{{ scope.row.odVa }}</p> |
|||
</div> |
|||
</span> |
|||
<span v-else> |
|||
{{ scope.row.ouValue }} |
|||
</span> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import eventBus from '@/page-subspecialty/utils/eventBus' |
|||
import treeSelect from '@/components/360View/itemSelect' |
|||
const Base64 = require('js-base64').Base64 |
|||
|
|||
export default { |
|||
components: { |
|||
treeSelect |
|||
}, |
|||
mixins: [], |
|||
props: { |
|||
patientIdNumber: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
patientId: { |
|||
type: String, |
|||
default: '' |
|||
} |
|||
}, |
|||
inject: ['refresh'], |
|||
data() { |
|||
return { |
|||
userData: {}, |
|||
collectId: '', |
|||
tableData: [] |
|||
} |
|||
}, |
|||
created() { |
|||
}, |
|||
mounted() { |
|||
this.getOutPatientList() |
|||
eventBus.$on('sendDataToExamine', data => { |
|||
this.tableData = data |
|||
}) |
|||
}, |
|||
methods: { |
|||
// 获取表单数据 |
|||
async getOutPatientList() { |
|||
const { data: res } = await this.$http.get('/case/getCase', { |
|||
params: { |
|||
patientId: this.patientId, |
|||
platform: 1, |
|||
flag: 4 |
|||
} |
|||
}) |
|||
if (res.code === 0) { |
|||
this.tableData = res.data ? JSON.parse(res.data.jsonText) : [] |
|||
this.collectId = res.data ? res.data.id : '' |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
// 保存 |
|||
async saveExamine() { |
|||
const params = { |
|||
flag: 4, |
|||
jsonText: JSON.stringify(this.tableData), |
|||
name: '专科检查', |
|||
patientId: this.patientId, |
|||
platform: 1 |
|||
} |
|||
let url = '' |
|||
if (this.collectId) { |
|||
url = '/case/update' |
|||
params.id = this.collectId |
|||
} else { |
|||
url = '/case/save' |
|||
} |
|||
const { data: res } = await this.$http.post(url, params) |
|||
if (res.code === 0) { |
|||
this.$message.success('保存成功') |
|||
await this.getOutPatientList() |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style lang="scss" scoped> |
|||
.examineBox{ |
|||
width: 100%; |
|||
height: 100%; |
|||
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% + 120px); |
|||
top: 40px; |
|||
z-index: 9; |
|||
} |
|||
} |
|||
</style> |
|||
<style lang="scss"> |
|||
.examineBox{ |
|||
.el-form-item__content{ |
|||
text-align: left; |
|||
} |
|||
} |
|||
</style> |
|||
@ -0,0 +1,209 @@ |
|||
<template> |
|||
<div> |
|||
<div :id="idName" ref="yanyaRef" :style="{ height: height, width: width }" /> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import moment from 'moment' // 导入模块 |
|||
export default { |
|||
props: { |
|||
idName: { type: String, default: 'chart' }, |
|||
width: { type: String, default: '100%' }, |
|||
height: { type: String, default: '200px' }, |
|||
chartData: { type: Array, default: () => [] }, |
|||
desc: { type: String, default: '' } |
|||
}, |
|||
data() { |
|||
return { |
|||
date: [], |
|||
typeList: { |
|||
OD: [], |
|||
OS: [], |
|||
typeNull: [] |
|||
}, |
|||
legendData: [], |
|||
seriesData: [], |
|||
disabled: false |
|||
} |
|||
}, |
|||
watch: { |
|||
chartData: { |
|||
handler(val, olVal) { |
|||
this.initFun() |
|||
}, |
|||
deep: true |
|||
} |
|||
}, |
|||
mounted() { |
|||
this.initFun() |
|||
}, |
|||
methods: { |
|||
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')) |
|||
if (item.type === 'OD') { |
|||
this.typeList.OD.push([item.date, item.value]) |
|||
this.legendData[0] = 'OD' |
|||
} |
|||
if (item.type === 'OS') { |
|||
this.typeList.OS.push([item.date, item.value]) |
|||
this.legendData[1] = 'OS' |
|||
} |
|||
if (item.type === null) { |
|||
this.typeList.typeNull.push([item.date, item.value]) |
|||
this.legendData = [] |
|||
} |
|||
}) |
|||
} else { |
|||
this.disabled = true |
|||
} |
|||
this.$nextTick(() => { |
|||
this.visionFun() |
|||
}) |
|||
}, |
|||
visionFun() { |
|||
// 基于准备好的dom,初始化echarts实例 |
|||
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', |
|||
// color: 'rgba(24, 24, 24, 0.1)', |
|||
borderRadius: 10 |
|||
}, |
|||
smooth: true, |
|||
itemStyle: { |
|||
color: colors[index] |
|||
}, |
|||
symbolSize: 10 |
|||
}) |
|||
} |
|||
}) |
|||
// 基于准备好的dom,初始化echarts实例 |
|||
yanya.setOption({ |
|||
title: { |
|||
text: this.desc, |
|||
textStyle: { |
|||
'color': '#000000' |
|||
}, |
|||
left: 10 |
|||
}, |
|||
tooltip: { |
|||
// trigger: 'axis' |
|||
backgroundColor: '#ece6e6', |
|||
textStyle: { |
|||
color: '#000000' // 设置文字颜色 |
|||
}, |
|||
formatter(params) { |
|||
console.log(params) |
|||
return params.seriesName + '<br/>' + params.data[0] + '   ' + 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, // 分割刻度 |
|||
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 style="scss" scoped> |
|||
</style> |
|||
@ -0,0 +1,543 @@ |
|||
<template> |
|||
<div class="containerBox"> |
|||
<div class="patientBox"> |
|||
<div> |
|||
<el-dropdown class="mr20"> |
|||
<span class="el-dropdown-link"> |
|||
病人ID<i class="el-icon-arrow-down el-icon--right"></i> |
|||
</span> |
|||
<el-dropdown-menu slot="dropdown"> |
|||
<el-input v-model="patientId" placeholder="请输入病人ID" /> |
|||
</el-dropdown-menu> |
|||
</el-dropdown> |
|||
<el-dropdown class="mr20"> |
|||
<span class="el-dropdown-link"> |
|||
姓名<i class="el-icon-arrow-down el-icon--right"></i> |
|||
</span> |
|||
<el-dropdown-menu slot="dropdown"> |
|||
<el-input v-model="patientName" placeholder="请输入姓名" /> |
|||
</el-dropdown-menu> |
|||
</el-dropdown> |
|||
<!-- <el-dropdown class="mr20">--> |
|||
<!-- <span class="el-dropdown-link">--> |
|||
<!-- 设备类型<i class="el-icon-arrow-down el-icon--right"></i>--> |
|||
<!-- </span>--> |
|||
<!-- <el-dropdown-menu slot="dropdown">--> |
|||
<!-- <el-select default-value="全部" style="width: 180px" @change="selectDeviceType">--> |
|||
<!-- <el-select-option :value="0">--> |
|||
<!-- 全部--> |
|||
<!-- </el-select-option>--> |
|||
<!-- <el-select-option v-for="(item,index) in deviceType" :key="index" :value="item.deviceType">--> |
|||
<!-- {{ item.deviceTypeName }}--> |
|||
<!-- </el-select-option>--> |
|||
<!-- </el-select>--> |
|||
<!-- </el-dropdown-menu>--> |
|||
<!-- </el-dropdown>--> |
|||
<el-dropdown class="mr20"> |
|||
<span class="el-dropdown-link"> |
|||
备注<i class="el-icon-arrow-down el-icon--right"></i> |
|||
</span> |
|||
<el-dropdown-menu slot="dropdown"> |
|||
<el-input v-model="remark" placeholder="请输入备注" allow-clear /> |
|||
</el-dropdown-menu> |
|||
</el-dropdown> |
|||
<el-dropdown class="mr20"> |
|||
<span class="el-dropdown-link"> |
|||
用药<i class="el-icon-arrow-down el-icon--right"></i> |
|||
</span> |
|||
<el-dropdown-menu slot="dropdown"> |
|||
<el-input v-model="medication" placeholder="请输入用药" allow-clear /> |
|||
</el-dropdown-menu> |
|||
</el-dropdown> |
|||
<el-button style="float: right;margin-bottom: 10px;margin-left: 10px" type="primary" icon="search" @click="selectPagination(1)">查询</el-button> |
|||
<el-button style="float: right;margin-bottom: 10px" type="primary" icon="search" @click="reset()">重置</el-button> |
|||
</div> |
|||
<div class="exportBtn"> |
|||
<div> |
|||
<span class="export_l">已选择 {{ selectedRowKeys.length }} 项</span> |
|||
<span v-if="selectedRowKeys.length > 0" class="cancelSel" @click="cancelSelected">取消选择</span> |
|||
</div> |
|||
<span class="export_r" @click="exportData">导出数据</span> |
|||
</div> |
|||
<el-table :custom-row="handleClickRow" :row-selection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" :columns="columns" :data-source="patientList" :pagination="false"> |
|||
<template slot="lebal" slot-scope="text, record, index"> |
|||
<span v-for="item in record.tagList" v-if="record.tagList.length" class="lebalBox">{{ item.length > 20 ? item.slice(0, 20) + '...' : item }}</span> |
|||
</template> |
|||
<template slot="note" slot-scope="text, record, index"> |
|||
<span class="noteBox">{{ record.note }}</span> |
|||
</template> |
|||
<template slot="operate" slot-scope="text, record, index"> |
|||
<span class="detail" @click.stop="handleInfo(record.id)">查看信息</span> |
|||
</template> |
|||
</el-table> |
|||
<el-pagination class="pagination" size="small" :current="page" :total="total" show-size-changer show-quick-jumper :page-size="limit" @showSizeChange="onShowSizeChange" @change="selectPagination" /> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
// import api from '../../api/interface' |
|||
import moment from 'moment' |
|||
// import patientModel from './patientInfo' |
|||
|
|||
export default { |
|||
components: { |
|||
// patientModel |
|||
}, |
|||
data() { |
|||
return { |
|||
labelCol: { |
|||
xs: { span: 24 }, |
|||
sm: { span: 7 } |
|||
}, |
|||
midCol: { |
|||
xs: { span: 24 }, |
|||
sm: { span: 12 } |
|||
}, |
|||
wrapperCol: { |
|||
xs: { span: 24 }, |
|||
sm: { span: 14 } |
|||
}, |
|||
checkDate: [], |
|||
page: 1, |
|||
limit: 10, |
|||
total: 0, |
|||
// patientId: '2328656', |
|||
// patientId: '2553716', |
|||
patientId: '', |
|||
patientName: '', // 病人姓名 |
|||
userName: '', // 用户名 |
|||
childInfo: { |
|||
patientId: '', |
|||
detailFlag: false |
|||
}, |
|||
tagName: '', // 标签 |
|||
deviceId: '', // 品牌 |
|||
remark: '', // 备注 |
|||
medication: '', // 用药 |
|||
startDate: '', // 检查开始时间 |
|||
endDate: '', // 检查结束时间 |
|||
infoFlag: false, // 患者检查信息弹框 |
|||
patientIdFlag: false, |
|||
nameFlag: false, |
|||
deviceFlag: false, |
|||
brandFlag: false, |
|||
tagFlag: false, |
|||
remarkFlag: false, |
|||
medicationFlag: false, |
|||
dateFlag: false, |
|||
infoConfirm: false, |
|||
deviceType: [], |
|||
brandList: [], |
|||
patientList: [], |
|||
selectedRowKeys: [], |
|||
columns: [ |
|||
{ |
|||
title: '病人id', |
|||
dataIndex: 'id', |
|||
width: 120 |
|||
}, |
|||
{ |
|||
title: '姓名', |
|||
dataIndex: 'name', |
|||
width: 120 |
|||
}, |
|||
{ |
|||
title: '性别', |
|||
dataIndex: 'sex', |
|||
width: 120 |
|||
}, |
|||
{ |
|||
title: '年龄', |
|||
dataIndex: 'age', |
|||
width: 120 |
|||
}, |
|||
{ |
|||
title: '标签', |
|||
dataIndex: 'lebal', |
|||
scopedSlots: { customRender: 'lebal' } |
|||
}, |
|||
{ |
|||
title: '备注', |
|||
dataIndex: 'remark', |
|||
width: 150, |
|||
scopedSlots: { customRender: 'note' } |
|||
}, |
|||
{ |
|||
title: '操作', |
|||
dataIndex: 'operate', |
|||
width: 150, |
|||
scopedSlots: { customRender: 'operate' } |
|||
} |
|||
] |
|||
} |
|||
}, |
|||
computed: { |
|||
hasSelected() { |
|||
return this.selectedRowKeys.length > 0 |
|||
} |
|||
}, |
|||
mounted() { |
|||
this.userName = window.localStorage.getItem('userName') |
|||
// this.queryDeviceType() |
|||
this.queryPatientList() |
|||
}, |
|||
methods: { |
|||
moment, |
|||
// 重置 |
|||
reset() { |
|||
this.patientId = '' |
|||
this.patientName = '' |
|||
this.deviceId = '' |
|||
this.tagName = '' |
|||
this.remark = '' |
|||
this.medication = '' |
|||
this.startDate = null |
|||
this.endDate = null |
|||
}, |
|||
handleClickId() { |
|||
this.patientIdFlag = true |
|||
}, |
|||
handleClickName() { |
|||
this.nameFlag = true |
|||
}, |
|||
handleClickDevice() { |
|||
this.deviceFlag = true |
|||
}, |
|||
handleClickBrand() { |
|||
this.brandFlag = true |
|||
}, |
|||
handleClickTag() { |
|||
this.tagFlag = true |
|||
}, |
|||
handleClickRemark() { |
|||
this.remarkFlag = true |
|||
}, |
|||
handleClickMedication() { |
|||
this.medicationFlag = true |
|||
}, |
|||
handleClickDate() { |
|||
this.dateFlag = true |
|||
}, |
|||
// 退出页面 |
|||
handleOut() { |
|||
this.$router.push('/login') |
|||
}, |
|||
selectBrand(deviceId) { |
|||
this.deviceId = deviceId |
|||
}, |
|||
selectDate(val) { |
|||
if (val.length) { |
|||
this.startDate = val[0].format('YYYY-MM-DD') |
|||
this.endDate = val[1].format('YYYY-MM-DD') |
|||
} |
|||
}, |
|||
// 获取设备类型 |
|||
async queryDeviceType() { |
|||
const { data: res } = await this.$http.get('/dataBrower/patient/getDeviceTypeList') |
|||
if (res.code === 0) { |
|||
this.deviceType = res.data || [] |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
// 选择设备 |
|||
async selectDeviceType(deviceType) { |
|||
const { data: res } = await this.$http.get('/dataBrower/patient/getDeviceTypeList', { params: { |
|||
deviceType: deviceType |
|||
} |
|||
}) |
|||
if (res.code === 0) { |
|||
this.brandList = res.data || [] |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
onSelectChange(selectedRowKeys) { |
|||
this.selectedRowKeys = selectedRowKeys |
|||
}, |
|||
// 取消选择 |
|||
cancelSelected() { |
|||
this.selectedRowKeys = [] |
|||
}, |
|||
// 导出数据 |
|||
exportData() { |
|||
const token = window.localStorage.getItem('token') |
|||
const url = `${api.interfaceConfig.downLoad}?patientId=${this.patientId}&token=${token}` |
|||
window.location.href = url |
|||
}, |
|||
// 点击进入患者详情 |
|||
handleClickRow(record, index) { |
|||
return { |
|||
on: { |
|||
click: () => { |
|||
console.log(record) |
|||
// window.localStorage.setItem('patientId', '88163664') |
|||
window.localStorage.setItem('patientId', '2553716') |
|||
// window.localStorage.setItem('patientId', record.id) |
|||
window.localStorage.setItem('name', record.name) |
|||
window.localStorage.setItem('age', record.age) |
|||
window.localStorage.setItem('sex', record.sex) |
|||
this.$router.push({ name: 'patientDetail' }) |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
// 查看患者信息 |
|||
handleInfo() { |
|||
this.infoFlag = true |
|||
this.childInfo.patientId = this.patientId |
|||
this.$nextTick(() => { |
|||
// this.$refs.infoComponent.openModal() |
|||
}) |
|||
}, |
|||
// 获取患者列表 |
|||
async queryPatientList() { |
|||
const params = { |
|||
page: this.page, |
|||
limit: this.limit, |
|||
patientId: this.patientId, |
|||
patientName: this.patientName, |
|||
tagName: this.tagName, |
|||
deviceId: this.deviceId, |
|||
medication: this.medication, |
|||
startDate: this.startDate, |
|||
endDate: this.endDate, |
|||
remark: this.remark |
|||
} |
|||
Object.keys(params).map((item) => { |
|||
if (!params[item]) { |
|||
delete params[item] |
|||
} |
|||
return true |
|||
}) |
|||
const { data: res } = await this.$http.get('/patient/pac30/page', { params: params }) |
|||
if (res.code === 0) { |
|||
this.patientList = res.data ? res.data.list : [] |
|||
this.total = res.data ? res.data.total : 0 |
|||
} else { |
|||
this.$message.error(res.msg) |
|||
} |
|||
}, |
|||
// 切换页面条数 |
|||
onShowSizeChange(current, pageSize) { |
|||
this.limit = pageSize |
|||
this.queryPatientList() |
|||
}, |
|||
// 分页 |
|||
selectPagination(pageNumber) { |
|||
this.page = pageNumber |
|||
this.queryPatientList() |
|||
} |
|||
} |
|||
} |
|||
|
|||
</script> |
|||
<style lang="scss" scoped> |
|||
.containerBox{ |
|||
width: 100%; |
|||
height: 100%; |
|||
background: #141414; |
|||
.patientBox { |
|||
width: 100%; |
|||
height: 100%; |
|||
background-color: #141414; |
|||
padding: 16px; |
|||
} |
|||
|
|||
.header{ |
|||
width: 100%; |
|||
height: 48px; |
|||
line-height: 48px; |
|||
padding: 0; |
|||
background-color: #0B182E; |
|||
|
|||
.logo{ |
|||
height: 48px; |
|||
position: absolute; |
|||
left: 0; |
|||
top: 0; |
|||
} |
|||
} |
|||
.userName{ |
|||
color: #FFFFFF; |
|||
font-size: 16px; |
|||
} |
|||
.logOut{ |
|||
float: right; |
|||
padding-right: 10px; |
|||
} |
|||
.searchBox{ |
|||
width: 100%; |
|||
display: flex; |
|||
justify-content: space-around; |
|||
} |
|||
.cancelSel{ |
|||
color: #4797FF; |
|||
font-size: 14px; |
|||
font-family: PingFang SC; |
|||
margin-left: 8px; |
|||
cursor: pointer; |
|||
} |
|||
.exportBtn{ |
|||
width: 100%; |
|||
height: 54px; |
|||
line-height: 54px; |
|||
padding: 0 6px 0 32px; |
|||
background-color: rgba(71, 151, 255, 0.1); |
|||
border: 1px solid rgba(71, 151, 255, 0.3); |
|||
margin: 16px 0 16px 0; |
|||
display: flex; |
|||
justify-content: space-between; |
|||
|
|||
.export_l{ |
|||
font-size: 14px; |
|||
font-family: PingFang SC; |
|||
color: #FFFFFF; |
|||
letter-spacing: 2px; |
|||
} |
|||
.export_r{ |
|||
font-size: 14px; |
|||
font-family: PingFang SC; |
|||
color: #4797FF; |
|||
letter-spacing: 1px; |
|||
cursor: pointer; |
|||
} |
|||
} |
|||
.pagination{ |
|||
float: right; |
|||
margin-top: 16px; |
|||
|
|||
} |
|||
.lebalBox{ |
|||
display: inline-block; |
|||
height: 22px; |
|||
padding: 0 8px; |
|||
margin-right: 5px; |
|||
color: #52C41A; |
|||
letter-spacing: 1px; |
|||
background-color: #162312; |
|||
border: 1px dotted #274916; |
|||
box-sizing: content-box; |
|||
} |
|||
.noteBox{ |
|||
letter-spacing: 1px; |
|||
} |
|||
.detail{ |
|||
font-size: 14px; |
|||
font-family: PingFang SC; |
|||
color: #4797FF; |
|||
letter-spacing: 1px; |
|||
cursor: pointer; |
|||
} |
|||
.mr20{ |
|||
margin-right: 40px; |
|||
} |
|||
|
|||
} |
|||
</style> |
|||
<style lang="scss"> |
|||
.containerBox{ |
|||
.el-dropdown{ |
|||
color: white; |
|||
} |
|||
.el-pager{ |
|||
li { |
|||
background-color: transparent; |
|||
} |
|||
} |
|||
.btn-next,.btn-prev,.el-pagination button:disabled{ |
|||
background-color: transparent; |
|||
} |
|||
.el-input__inner{ |
|||
color: white; |
|||
background-color: transparent; |
|||
border: 1px solid #000000; |
|||
} |
|||
.el-table__empty-block{ |
|||
background-color: #0c1016; |
|||
.el-table__empty-text{ |
|||
color: white; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.ant-form-item{ |
|||
margin: 16px 0; |
|||
} |
|||
.ant-form-item-label>label{ |
|||
color: #FFFFFF !important; |
|||
} |
|||
.ant-table-placeholder{ |
|||
border-top: none; |
|||
border-bottom: 1px solid #0C1016; |
|||
background-color: transparent; |
|||
} |
|||
.ant-empty-normal{ |
|||
color: #FFFFFF; |
|||
} |
|||
.ant-table-thead>tr>th{ |
|||
color: #FFFFFF; |
|||
background: #434343; |
|||
border-bottom: none; |
|||
} |
|||
|
|||
.ant-table-tbody>tr>td{ |
|||
color: #FFFFFF !important; |
|||
border-bottom: none; |
|||
} |
|||
.ant-table-tbody>tr:nth-child(odd){ |
|||
background: #1F2329 !important; |
|||
} |
|||
.ant-table-tbody>tr:nth-child(even){ |
|||
background: #141414 !important; |
|||
} |
|||
.ant-table-tbody>tr:nth-child(odd):hover:not(.ant-table-expanded-row) > td{ |
|||
background: #1F2329 !important; |
|||
} |
|||
.ant-table-tbody>tr:nth-child(even):hover:not(.ant-table-expanded-row) > td{ |
|||
background: #141414 !important; |
|||
} |
|||
.ant-table-tbody>tr:nth-child(odd).ant-table-row-selected td{ |
|||
background: #1F2329 !important; |
|||
} |
|||
.ant-table-tbody>tr:nth-child(even).ant-table-row-selected td{ |
|||
background: #141414 !important; |
|||
} |
|||
.ant-pagination-next a, .ant-pagination-prev a, .ant-pagination-item-ellipsis{ |
|||
color: #D9D9D9 !important; |
|||
} |
|||
.ant-pagination-item{ |
|||
width: 32px !important; |
|||
height: 32px !important; |
|||
line-height: 30px !important; |
|||
background-color: #1F1F1F !important; |
|||
} |
|||
.ant-pagination-item-active a{ |
|||
color: #40a9ff !important; |
|||
} |
|||
.ant-pagination-item:hover{ |
|||
border-color: #40a9ff !important; |
|||
} |
|||
.ant-pagination-item a, .ant-pagination.mini .ant-pagination-options-quick-jumper, .ant-select-sm .ant-select-selection--single{ |
|||
color: #FFFFFF; |
|||
height: 32px !important; |
|||
} |
|||
.ant-select-sm .ant-select-selection__rendered{ |
|||
line-height: 32px !important; |
|||
} |
|||
.pagination .ant-select-selection, .ant-pagination-options-quick-jumper input{ |
|||
color: #FFFFFF ; |
|||
height: 32px !important; |
|||
background-color: #1F1F1F !important; |
|||
border: 1px solid rgba(103, 103, 103, 0.38); |
|||
} |
|||
.ant-select-arrow{ |
|||
color: #FFFFFF; |
|||
} |
|||
.ant-dropdown-link{ |
|||
color: #FFFFFF; |
|||
font-size: 14px; |
|||
font-family: PingFang SC; |
|||
} |
|||
</style> |
|||
Loading…
Reference in new issue