You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
133 lines
4.5 KiB
133 lines
4.5 KiB
<template>
|
|
<div>
|
|
<!-- :row-class-name="tableRowClassName" -->
|
|
<el-table :data="doctorCheck.RegisterCheckList" style="width: 100%"
|
|
:height="window.pageHeight < 600 ? 400:window.pageHeight-200"
|
|
border highlight-current-row ref='doctorCheck_RegisterCheckList'
|
|
@row-click="rowClick">
|
|
<el-table-column prop="asbitemName" label="组合项目" width="198">
|
|
<template slot-scope="scope">
|
|
<div>
|
|
<el-tooltip class="item" effect="dark" content="未检" placement="left">
|
|
<i v-show="scope.row.completeFlag == '0'" class="el-icon-circle-plus" style="font-size: 18px;color: red;"></i>
|
|
</el-tooltip>
|
|
<el-tooltip class="item" effect="dark" content="已检" placement="left">
|
|
<i v-show="scope.row.completeFlag == '1'" class="el-icon-success" style="font-size: 18px;color: green;"></i>
|
|
</el-tooltip>
|
|
<el-tooltip class="item" effect="dark" content="弃检" placement="left">
|
|
<i v-show="scope.row.completeFlag == '2'" class="el-icon-remove" style="font-size: 18px;"></i>
|
|
</el-tooltip>
|
|
{{scope.row.asbitemName}}
|
|
</div>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
import { mapState } from 'vuex';
|
|
import { getapi, postapi, putapi, deletapi } from "@/api/api";
|
|
|
|
export default {
|
|
components: {},
|
|
data() {
|
|
return {
|
|
|
|
};
|
|
},
|
|
|
|
created() {},
|
|
|
|
//挂载完成
|
|
mounted() {},
|
|
|
|
computed:{
|
|
...mapState(['window','dataTransOpts','dict','doctorCheck']),
|
|
},
|
|
|
|
methods: {
|
|
tableRowClassName({row, rowIndex}) {
|
|
//console.log('tableRowClassName',rowIndex,row)
|
|
if (row.completeFlag === '0') {
|
|
return 'danger'; //未检
|
|
} else if (row.completeFlag === '2') {
|
|
return 'info'; //弃检
|
|
}
|
|
return '';
|
|
|
|
},
|
|
|
|
//选择组合项目
|
|
rowClick(row){
|
|
console.log('rowClick')
|
|
this.doctorCheck.RegisterCheckId = row.id
|
|
this.dataTransOpts.tableS.register_check.id = row.id
|
|
setTimeout(() => { // 不管值是否改变,点击就强制刷新
|
|
this.dataTransOpts.refresh.register_check.S++
|
|
this.dataTransOpts.refresh.register_check_item.M++
|
|
}, 10);
|
|
// this.doctorCheck.RegisterCheckEdit = row
|
|
},
|
|
|
|
//获取检查组合项目
|
|
registerCheckList(patientRegisterId){
|
|
if(!patientRegisterId){
|
|
this.doctorCheck.RegisterCheckList = []
|
|
this.doctorCheck.RegisterCheckId = ''
|
|
this.dataTransOpts.tableS.register_check.id = ''
|
|
setTimeout(() => {
|
|
this.dataTransOpts.refresh.register_check.S++
|
|
this.dataTransOpts.refresh.register_check_item.M++
|
|
}, 20);
|
|
return
|
|
}
|
|
console.log(`/api/app/register-check/register-check-or-asbitem/${patientRegisterId}`)
|
|
getapi(`/api/app/register-check/register-check-or-asbitem/${patientRegisterId}`)
|
|
.then((res) => {
|
|
console.log("registerCheckList", res.data);
|
|
if (res.code != -1) {
|
|
this.doctorCheck.RegisterCheckList = res.data;
|
|
//查询出来 默认显示第1条记录明细、小结等
|
|
if(res.data.length > 0) {
|
|
this.doctorCheck.RegisterCheckId = res.data[0].id
|
|
this.dataTransOpts.tableS.register_check.id = res.data[0].id
|
|
// this.doctorCheck.RegisterCheckEdit = res.data[0]
|
|
|
|
this.$refs['doctorCheck_RegisterCheckList'].setCurrentRow(res.data[0])
|
|
|
|
}else{
|
|
this.dataTransOpts.tableS.register_check.id = ''
|
|
}
|
|
|
|
setTimeout(() => { // 不管值是否改变,点击就强制刷新
|
|
this.dataTransOpts.refresh.register_check.S++ //刷新检查医生
|
|
this.dataTransOpts.refresh.register_check_item.M++ //刷新检查明细
|
|
}, 10);
|
|
}
|
|
})
|
|
.catch((err) => {
|
|
this.$message({type: "error",message: `操作失败,原因:${err}`});
|
|
});
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
//监听事件
|
|
watch: {
|
|
//体检人员未切换时 也可以强制刷新数据
|
|
"dataTransOpts.refresh.register_check.M":{
|
|
immediate:true,
|
|
handler(newVal, oldVal) {
|
|
console.log(`watch 组合项目列表 newVal: ${newVal} oldVal: ${oldVal} patient_register.id: ${this.dataTransOpts.tableS.patient_register.id}`);
|
|
this.registerCheckList(this.dataTransOpts.tableS.patient_register.id)
|
|
}
|
|
},
|
|
}
|
|
};
|
|
</script>
|
|
<style scoped>
|
|
|
|
</style>
|
|
|