8 changed files with 811 additions and 1110 deletions
@ -0,0 +1,197 @@ |
|||
<template> |
|||
<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" 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="comonForm-tab"> |
|||
<el-radio-group v-model="formType" size="small"> |
|||
<el-radio-button label="门诊" name="门诊" style="" /> |
|||
<el-radio-button label="报告" name="报告" style="" /> |
|||
<el-radio-button label="其他" name="其他" style="" /> |
|||
</el-radio-group> |
|||
<div v-if="formType === '门诊'"> |
|||
<div v-for="(item,index) in outFormNameList" :key="`${item}_${index}`" class="record"> |
|||
<p>{{ item }}</p> |
|||
<img v-if="!onlyRead&&isSearch == '2'" :src="require('@/assets/img/add.png')" alt="" @click="addRecord(item)"> |
|||
</div> |
|||
</div> |
|||
<div v-if="formType === '报告'" class="record"> |
|||
<p>报告</p> |
|||
<img v-if="!onlyRead&&isSearch == '2'" :src="require('@/assets/img/add.png')" alt="" @click="addRecord('报告')"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: 'LeftFormList', |
|||
props: ['onlyRead', 'isSearch', 'patientId', 'formList', 'curIndex'], |
|||
data() { |
|||
return { |
|||
formType: '门诊', |
|||
defaultChecked: [], |
|||
outFormNameList: ['门急诊电子病历', '眼科激光手术患者知情同意书', '眼科激光手术治疗', '眼底血管造影知情同意书'] |
|||
} |
|||
}, |
|||
methods: { |
|||
addRecord(name) { |
|||
this.$emit('addRecord', name) |
|||
}, |
|||
handleForm(index, item) { |
|||
this.$emit('handleForm', { index, item }) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.content-left { |
|||
width: 185px; |
|||
height: 100%; |
|||
margin-right: 14px; |
|||
.nodata { |
|||
width: 175px; |
|||
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; |
|||
.formBox{ |
|||
cursor: pointer; |
|||
padding: 2px 8px; |
|||
border-radius: 2px; |
|||
margin-top: 12px; |
|||
} |
|||
.active { |
|||
color: white; |
|||
background-color: #1C76FD; |
|||
} |
|||
.curFont { |
|||
color: #A6A4A4; |
|||
} |
|||
.activeFont { |
|||
color: #D9D9D9; |
|||
} |
|||
.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; |
|||
} |
|||
} |
|||
</style> |
@ -1,609 +0,0 @@ |
|||
<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> |
|||
</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 |
|||
}, |
|||
// 签名 |
|||
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,178 @@ |
|||
<template> |
|||
<div id="operation-record" style=" background: #fff; padding: 10px 20px 50px 20px;page-break-after:always"> |
|||
<div class="btnBox"> |
|||
<el-button v-print="'#reportForm'" size="small">打印</el-button> |
|||
<el-button type="primary" size="small" @click="handleSaveTable">保存</el-button> |
|||
<el-button type="danger" size="small" @click="formDelete">删除</el-button> |
|||
</div> |
|||
<div id="reportForm" style="width: 840px;padding-right: 8px;text-align: left"> |
|||
<div class="flex" style="width: 240px">患者姓名:<el-input v-model="formData.patientName" style="flex: 1" /></div> |
|||
<table class="treatAction"> |
|||
<thead> |
|||
<tr> |
|||
<td colspan="2">睑板腺综合治疗睑脂性状分析</td> |
|||
</tr> |
|||
<tr> |
|||
<td>右眼</td> |
|||
<td>左眼</td> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
<tr> |
|||
<td> |
|||
<div v-for="(item,index) in formData.form.OD" :key="index"> |
|||
<el-checkbox v-model="item.isSelect"> |
|||
{{ item.name }} |
|||
<el-input v-if="item.isEdit" v-model="item.remark" /> |
|||
</el-checkbox> |
|||
</div> |
|||
</td> |
|||
<td><div v-for="(item,index) in formData.form.OS" :key="index"> |
|||
<el-checkbox v-model="item.isSelect"> |
|||
{{ item.name }} |
|||
<el-input v-if="item.isEdit" v-model="item.remark" /> |
|||
</el-checkbox> |
|||
</div></td> |
|||
</tr> |
|||
<tr> |
|||
<td colspan="2"> |
|||
<div class="flex"> |
|||
备注:<el-input style="flex:1" /> |
|||
</div> |
|||
</td> |
|||
</tr> |
|||
<tr> |
|||
<td colspan="2"> |
|||
<div class="flex"> |
|||
操作者:<el-input style="flex:1" /> |
|||
</div> |
|||
</td> |
|||
</tr> |
|||
</tbody> |
|||
</table> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: 'ReportForm', |
|||
props: { |
|||
jsonText: { |
|||
type: String, |
|||
default: '' |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
origin: {}, |
|||
formData: { |
|||
patientName: '', |
|||
remark: '', |
|||
operator: '', |
|||
form: { |
|||
checkList: [], |
|||
OD: [ |
|||
{ |
|||
name: '分泌物清亮', |
|||
isSelect: false |
|||
}, { |
|||
name: '分泌物轻浑,云雾状', |
|||
isSelect: false |
|||
}, { |
|||
name: '分泌物浑浊,粘稠可见颗粒物质', |
|||
isSelect: false |
|||
}, { |
|||
name: '分泌物呈牙膏状或压迫出现气泡', |
|||
isSelect: false |
|||
}, { |
|||
name: '其他:', |
|||
isSelect: false, |
|||
isEdit: true, |
|||
remark: '' |
|||
} |
|||
], |
|||
OS: [ |
|||
{ |
|||
name: '分泌物清亮', |
|||
isSelect: false |
|||
}, { |
|||
name: '分泌物轻浑,云雾状', |
|||
isSelect: false |
|||
}, { |
|||
name: '分泌物浑浊,粘稠可见颗粒物质', |
|||
isSelect: false |
|||
}, { |
|||
name: '分泌物呈牙膏状或压迫出现气泡', |
|||
isSelect: false |
|||
}, { |
|||
name: '其他:', |
|||
isSelect: false, |
|||
isEdit: true, |
|||
remark: '' |
|||
} |
|||
] |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
watch: { |
|||
jsonText(val) { |
|||
if (val) { |
|||
this.formData = JSON.parse(val) |
|||
} else { |
|||
this.formData = this.origin |
|||
} |
|||
} |
|||
}, |
|||
created() { |
|||
this.origin = JSON.parse(JSON.stringify(this.formData)) |
|||
if (this.jsonText) { |
|||
this.formData = JSON.parse(this.jsonText) |
|||
} |
|||
}, |
|||
methods: { |
|||
handleSaveTable() { |
|||
this.$emit('handleSaveTable', this.formData) |
|||
}, |
|||
formDelete() { |
|||
this.$emit('formDelete') |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.flex{ |
|||
display: flex; |
|||
} |
|||
.treatAction{ |
|||
width: 100%; |
|||
margin-top: 10px; |
|||
thead{ |
|||
text-align: center; |
|||
} |
|||
tr td,tr th{ |
|||
border: 1px solid #ccc; |
|||
padding: 5px; |
|||
} |
|||
td{ |
|||
width: 25%; |
|||
} |
|||
} |
|||
::v-deep .el-input__inner { |
|||
border: none; |
|||
height: 26px !important; |
|||
line-height: 26px !important; |
|||
text-align: center; |
|||
} |
|||
|
|||
::v-deep .el-input__inner { |
|||
border-bottom: 1px solid #ccc; |
|||
border-radius: 0; |
|||
padding: 0; |
|||
} |
|||
::v-deep .el-input__prefix { |
|||
display: none; |
|||
} |
|||
</style> |
Loading…
Reference in new issue