6 changed files with 198 additions and 55 deletions
@ -0,0 +1,141 @@ |
|||
<template> |
|||
<div id="multipleTable"> |
|||
<div v-if="curProject" class="project_title">医疗项目:{{ curProject.itemName }}</div> |
|||
<el-table |
|||
:data="dataList" |
|||
tooltip-effect="dark" |
|||
style="width: 100%" |
|||
@sort-change="sortList" |
|||
> |
|||
<el-table-column label="预约时间" header-align="center" align="center" width="110px"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.appointDate ? scope.row.appointDate : '-' }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="类型" prop="source" header-align="center" align="center" width="55px" /> |
|||
<el-table-column label="负责医生" header-align="center" align="center" width="100px"> |
|||
<template slot-scope="scope"> |
|||
{{ scope.row.doctorName ? scope.row.doctorName : '-' }} |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="patientName" label="患者姓名" header-align="center" align="center" width="100px" /> |
|||
<el-table-column prop="patientId" label="登记号" header-align="center" align="center" width="120px" /> |
|||
<el-table-column prop="patientPhone" label="电话" header-align="center" align="center" width="120px" /> |
|||
<el-table-column label="眼别" prop="eyeType" header-align="center" align="center" width="80px" /> |
|||
<el-table-column label="项目" prop="project" header-align="center" align="center" width="120px"> |
|||
<template slot-scope="scope"> |
|||
<div v-if="scope.row.project"> |
|||
<div v-for="item in scope.row.project.split(',')" :key="item"> |
|||
<div v-if="item!=='其他'"> |
|||
{{ item }} |
|||
</div> |
|||
<div v-else> |
|||
{{ `${item}: ${scope.row.otherProject}` }} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="准备工作" prop="preparation" header-align="center" align="center" width="120px"> |
|||
<template slot-scope="scope"> |
|||
<div> |
|||
<div v-if="showPreparation(scope.row.preparation,'医嘱已开')" :class="{active_check:showPreparation(scope.row.preparation,'医嘱已开')}"> |
|||
医嘱已开 |
|||
</div> |
|||
<div v-if="showPreparation(scope.row.preparation,'散瞳')" :class="{active_check:showPreparation(scope.row.preparation,'散瞳')}"> |
|||
散瞳 |
|||
</div> |
|||
<div v-if="showPreparation(scope.row.preparation,'表麻')" :class="{active_check:showPreparation(scope.row.preparation,'表麻')}"> |
|||
表麻 |
|||
</div> |
|||
<div v-if="showPreparation(scope.row.preparation,'全身检查完成')" :class="{active_check:showPreparation(scope.row.preparation,'全身检查完成')}"> |
|||
全身检查完成 |
|||
</div> |
|||
<div v-if="showPreparation(scope.row.preparation,'缩瞳')" :class="{active_check_red:showPreparation(scope.row.preparation,'缩瞳')}"> |
|||
缩瞳 |
|||
</div> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column sortable label="是否到达" header-align="center" align="center" width="110px"> |
|||
<template slot-scope="scope"> |
|||
<div> |
|||
<el-select v-model="scope.row.arrival" :class="{'active_check':scope.row.arrival==='Y'}" class="arrivalSelect" placeholder="" size="small" @change="value=>changeEyeType(value,scope)"> |
|||
<el-option |
|||
v-for="item in arrivalList" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value" |
|||
/> |
|||
</el-select> |
|||
<div v-if="scope.row.arrivalDate && scope.row.arrival==='Y'"> |
|||
{{ scope.row.arrivalDate }} |
|||
</div> |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="操作" class-name="hidden" header-align="center" align="center" width="200px"> |
|||
<template slot-scope="scope"> |
|||
<span class="call" @click="editOpera(scope.row)">{{ scope.row.appointDate ? "改约":"预约" }}</span> |
|||
<span class="cancel" @click="cancelClick(scope.row)">取消</span> |
|||
<span class="call" @click="checkPatientDetail(scope.row)">患者360</span> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: 'PrintTable', |
|||
props: { |
|||
curProject: { |
|||
type: Object |
|||
}, |
|||
dataList: { |
|||
type: Array |
|||
}, |
|||
arrivalList: { |
|||
type: Array |
|||
} |
|||
}, |
|||
methods: { |
|||
sortList(val) { |
|||
if (val.order === 'ascending') { |
|||
val.order = 'asc' |
|||
} |
|||
if (val.order === 'descending') { |
|||
val.order = 'desc' |
|||
} |
|||
this.dataForm.arrivalSort = val.order |
|||
this.getDataList() |
|||
}, |
|||
showPreparation(scope, value) { |
|||
if (!scope) { |
|||
return false |
|||
} |
|||
return scope.includes(value) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.active_check{ |
|||
color: #409EFF; |
|||
} |
|||
.active_check_red{ |
|||
color: #ff0000; |
|||
} |
|||
.arrivalSelect{ |
|||
::v-deep .el-input__suffix{ |
|||
display: none; |
|||
} |
|||
::v-deep .el-input__inner{ |
|||
border: 0; |
|||
font-size: 16px; |
|||
text-align: center; |
|||
padding: 0; |
|||
} |
|||
} |
|||
</style> |
Loading…
Reference in new issue