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.
230 lines
7.0 KiB
230 lines
7.0 KiB
<template>
|
|
<div style="display: flex">
|
|
<div :style="`width: ${window.pageWidth}px;`">
|
|
<el-table
|
|
:data="asbitemCriticalValue"
|
|
border
|
|
:height="
|
|
window.pageHeight < 600
|
|
? 150
|
|
: Math.floor((window.pageHeight + 20) / 3)
|
|
"
|
|
size="small"
|
|
highlight-current-row
|
|
ref="asbitemCriticalValue"
|
|
:span-method="objectSpanMethod"
|
|
>
|
|
<el-table-column prop="asbitemName" label="组合项目" />
|
|
<el-table-column prop="summaryDetail" label="小结" min-width="400">
|
|
<template slot-scope="scope">
|
|
<span v-html="scope.row.summaryDetail"></span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="criticalRangeValue" label="危急值范围" />
|
|
<el-table-column prop="isCriticalValue" label="危急值标志">
|
|
<template slot-scope="scope">
|
|
<el-checkbox
|
|
v-model="scope.row.isCriticalValue"
|
|
disabled
|
|
true-label="Y"
|
|
false-label="N"
|
|
></el-checkbox>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column
|
|
prop="criticalValueContent"
|
|
label="危急值处理内容"
|
|
width="150"
|
|
/>
|
|
<el-table-column prop="isCriticalValueAudit" label="危急值审核">
|
|
<template slot-scope="scope">
|
|
<el-checkbox
|
|
v-model="scope.row.isCriticalValueAudit"
|
|
disabled
|
|
true-label="Y"
|
|
false-label="N"
|
|
></el-checkbox>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="isReview" label="复查">
|
|
<template slot-scope="scope">
|
|
<el-checkbox
|
|
v-model="scope.row.isReview"
|
|
disabled
|
|
true-label="Y"
|
|
false-label="N"
|
|
></el-checkbox>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="isFollowUp" label="随访标志">
|
|
<template slot-scope="scope">
|
|
<el-checkbox
|
|
v-model="scope.row.isFollowUp"
|
|
disabled
|
|
true-label="Y"
|
|
false-label="N"
|
|
></el-checkbox>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="itemName" label="项目"> </el-table-column>
|
|
<el-table-column prop="itemResult" label="项目结果"> </el-table-column>
|
|
<el-table-column prop="unit" label="单位"> </el-table-column>
|
|
<el-table-column prop="referenceRangeValue" label="参考范围">
|
|
</el-table-column>
|
|
<el-table-column prop="itemCriticalRangeValue" label="危急值范围">
|
|
</el-table-column>
|
|
<el-table-column prop="itemIsCriticalValue" label="危急值标志">
|
|
<template slot-scope="scope">
|
|
<el-checkbox
|
|
v-model="scope.row.itemIsCriticalValue"
|
|
disabled
|
|
true-label="Y"
|
|
false-label="N"
|
|
></el-checkbox>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column
|
|
prop="itemCriticalValueContent"
|
|
label="危急值处理内容"
|
|
width="150"
|
|
>
|
|
</el-table-column>
|
|
<el-table-column prop="itemIsCriticalValueAudit" label="危急值审核">
|
|
<template slot-scope="scope">
|
|
<el-checkbox
|
|
v-model="scope.row.itemIsCriticalValueAudit"
|
|
disabled
|
|
true-label="Y"
|
|
false-label="N"
|
|
></el-checkbox>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="itemIsReview" label="复查">
|
|
<template slot-scope="scope">
|
|
<el-checkbox
|
|
v-model="scope.row.itemIsReview"
|
|
disabled
|
|
true-label="Y"
|
|
false-label="N"
|
|
></el-checkbox>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="itemIsFollowUp" label="随访标志">
|
|
<template slot-scope="scope">
|
|
<el-checkbox
|
|
v-model="scope.row.itemIsFollowUp"
|
|
disabled
|
|
true-label="Y"
|
|
false-label="N"
|
|
></el-checkbox>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import moment from "moment";
|
|
import { mapState } from "vuex";
|
|
import { dddw } from "../../utlis/proFunc";
|
|
import { getapi, postapi, putapi, deletapi } from "../../api/api";
|
|
export default {
|
|
data() {
|
|
return {
|
|
asbitemCriticalValue: [],
|
|
};
|
|
},
|
|
computed: {
|
|
...mapState(["window", "dataTransOpts", "dict", "patientRegister"]),
|
|
},
|
|
methods: {
|
|
dddw,
|
|
moment,
|
|
getLists() {
|
|
if (this.dataTransOpts.tableS.patient_register.patientRegisterId) {
|
|
postapi(
|
|
"/api/app/PhoneFollowUp/GetAsbitemOrItemCriticalByPatientRegisterId",
|
|
{
|
|
patientRegisterId:
|
|
this.dataTransOpts.tableS.patient_register.patientRegisterId,
|
|
}
|
|
).then((res) => {
|
|
if (res.code > -1) this.asbitemCriticalValue = res.data;
|
|
});
|
|
}else{
|
|
this.asbitemCriticalValue=[]
|
|
}
|
|
},
|
|
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
|
|
if (
|
|
//if条件判断的是合并那一竖列
|
|
columnIndex == 0 ||
|
|
columnIndex == 1 ||
|
|
columnIndex == 2 ||
|
|
columnIndex == 3 ||
|
|
columnIndex == 4 ||
|
|
columnIndex == 5 ||
|
|
columnIndex == 6 ||
|
|
columnIndex == 7
|
|
) {
|
|
const _row = this.flitterData2(this.asbitemCriticalValue).one[rowIndex];
|
|
const _col = _row > 0 ? 1 : 0;
|
|
return {
|
|
rowspan: _row,
|
|
colspan: _col,
|
|
};
|
|
}
|
|
},
|
|
flitterData2(arr) {
|
|
let spanOneArr = [];
|
|
let concatOne = 0;
|
|
arr.forEach((item, index) => {
|
|
if (index === 0) {
|
|
spanOneArr.push(1);
|
|
} else {
|
|
//name 修改
|
|
if (item.registerCheckId === arr[index - 1].registerCheckId) {
|
|
//pid就是判断相同的字段
|
|
//第一列需合并相同内容的判断条件
|
|
spanOneArr[concatOne] += 1;
|
|
spanOneArr.push(0);
|
|
} else {
|
|
spanOneArr.push(1);
|
|
concatOne = index;
|
|
}
|
|
}
|
|
});
|
|
return {
|
|
one: spanOneArr,
|
|
};
|
|
},
|
|
},
|
|
updated() {
|
|
this.$nextTick(() => {
|
|
this.$refs["asbitemCriticalValue"].doLayout();
|
|
});
|
|
},
|
|
watch: {
|
|
//人员ID未切换换时 也可以强制刷新数据
|
|
"dataTransOpts.refresh.register_check_asbitem.M": {
|
|
// immediate:true,
|
|
handler(newVal, oldVal) {
|
|
console.log(
|
|
`watch 人员登记 newVal:${newVal} oldVal:${oldVal} registerCheckId: ${this.dataTransOpts.tableS.patient_register.id}`
|
|
);
|
|
// if (newVal != oldVal)
|
|
this.getLists();
|
|
},
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
|
|
<style scoped>
|
|
@import "../../assets/css/global.css";
|
|
::v-deep .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner {
|
|
background-color: #409eff;
|
|
border-color: #409eff;
|
|
}
|
|
</style>
|