9 changed files with 765 additions and 89 deletions
-
142src/components/doctorCheck/CheckItemList.vue
-
2src/components/doctorCheck/CheckSumSug.vue
-
2src/components/doctorCheck/PatientRegisterBase.vue
-
2src/components/patientRegister/PatientRegisterList.vue
-
245src/components/sumDoctorCheck/AsbitemCriticalValue.vue
-
11src/components/sumDoctorCheck/ButtonList.vue
-
417src/components/sumDoctorCheck/SumSug.vue
-
1src/store/index.js
-
6src/views/doctorCheck/sumDoctorCheck.vue
@ -0,0 +1,245 @@ |
|||||
|
<template> |
||||
|
<div style="display: flex"> |
||||
|
<div :style="`width: ${window.pageWidth}px;`"> |
||||
|
<el-table |
||||
|
:data="asbitemCriticalValue" |
||||
|
border |
||||
|
:height="divHeight" |
||||
|
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 { |
||||
|
props: ["patientRegisterId", "tabChoosed", "refParams",], |
||||
|
data() { |
||||
|
return { |
||||
|
asbitemCriticalValue: [], |
||||
|
}; |
||||
|
}, |
||||
|
computed: { |
||||
|
...mapState(["window", "dataTransOpts", "dict", "patientRegister"]), |
||||
|
|
||||
|
divHeight() { |
||||
|
let tableHeight = 465 |
||||
|
switch (this.refParams.place) { |
||||
|
case 'summary': //总检处 |
||||
|
tableHeight = (this.window.pageHeight < 600 ? 600 : this.window.pageHeight) - 195 |
||||
|
break; |
||||
|
default: |
||||
|
break; |
||||
|
} |
||||
|
return tableHeight |
||||
|
}, |
||||
|
}, |
||||
|
methods: { |
||||
|
dddw, |
||||
|
moment, |
||||
|
getLists() { |
||||
|
if (this.dataTransOpts.tableS.patient_register.id) { |
||||
|
postapi( |
||||
|
"/api/app/PhoneFollowUp/GetAsbitemOrItemCriticalByPatientRegisterId", |
||||
|
{ |
||||
|
patientRegisterId: |
||||
|
this.dataTransOpts.tableS.patient_register.id, |
||||
|
} |
||||
|
).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.sumDoctor.M": { |
||||
|
// immediate:true, |
||||
|
handler(newVal, oldVal) { |
||||
|
console.log( |
||||
|
`watch 危急值 newVal:${newVal} oldVal:${oldVal} registerCheckId: ${this.dataTransOpts.tableS.patient_register.id}` |
||||
|
); |
||||
|
if (newVal != oldVal) { |
||||
|
if (this.refParams.place == 'doctor') { |
||||
|
this.getLists(); |
||||
|
} else { |
||||
|
if (this.tabChoosed == '3') 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> |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue