罗斌杰 1 year ago
parent
commit
72ef9b7035
  1. 155
      src/components/follow/AsbitemCriticalValue.vue
  2. 17
      src/components/follow/FollowList.vue
  3. 4
      src/components/follow/PhoneFollowUp.vue
  4. 4
      src/components/follow/SmsSend.vue

155
src/components/follow/AsbitemCriticalValue.vue

@ -0,0 +1,155 @@
<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="危急值标志">
</el-table-column>
<el-table-column
prop="criticalValueContent"
label="危急值处理内容"
width="150"
/>
<el-table-column prop="isCriticalValueAudit" label="危急值审核">
</el-table-column>
<el-table-column prop="isReview" label="复查" />
<el-table-column prop="isFollowUp" label="随访标志"> </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="危急值标志">
</el-table-column>
<el-table-column
prop="itemCriticalValueContent"
label="危急值处理内容"
width="150"
>
</el-table-column>
<el-table-column prop="itemIsCriticalValueAudit" label="危急值审核">
</el-table-column>
<el-table-column prop="itemIsReview" label="复查"> </el-table-column>
<el-table-column prop="itemIsFollowUp" label="随访标志">
</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() {
postapi(
"/api/app/PhoneFollowUp/GetAsbitemOrItemCriticalByPatientRegisterId",
{
patientRegisterId:
this.dataTransOpts.tableS.patient_register.patientRegisterId,
}
).then((res) => {
if (res.code > -1) this.asbitemCriticalValue = res.data;
});
},
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";
</style>

17
src/components/follow/FollowList.vue

@ -12,8 +12,8 @@
border
:height="
window.pageHeight < 600
? 248
: Math.floor(((window.pageHeight - 250) * 2) / 3)
? 200
: Math.floor(((window.pageHeight - 370) * 2) / 3)
"
highlight-current-row
@row-click="rowClick"
@ -29,7 +29,7 @@
<el-table-column prop="sexName" label="性别" width="50" align="center" />
<el-table-column prop="birthDate" label="出生日期" width="90" align="center" />
<el-table-column prop="age" label="年龄" width="50" align="center" />
<el-table-column prop="abnormalAsbitemDetail" label="组合项目异常" width="200">
<!-- <el-table-column prop="abnormalAsbitemDetail" label="组合项目异常" width="200">
<template slot-scope="scope">
<div v-for="(item,index) in scope.row.abnormalAsbitemDetail" :key="index">
{{item.asbitemName+' '+item.isCriticalValue+' '+item.isReview}}
@ -42,7 +42,7 @@
{{item.itemName+' '+item.isCriticalValue+' '+item.isReview}}
</div>
</template>
</el-table-column>
</el-table-column> -->
<el-table-column prop="jobCardNo" label="工卡号" width="90" align="center" />
<el-table-column prop="medicalCardNo" label="体检卡号" width="90" align="center" />
<el-table-column prop="maritalStatusName" label="婚姻状况" width="90" align="center" />
@ -70,10 +70,13 @@
</div>
<!-- 组合项目 基本信息 -->
<el-tabs v-model="tabChoosed">
<el-tab-pane label="电话随访" name="1">
<el-tab-pane label="危急值" name="1">
<AsbitemCriticalValue />
</el-tab-pane>
<el-tab-pane label="电话随访" name="2">
<PhoneFollowUp />
</el-tab-pane>
<el-tab-pane label="短信随访" name="2">
<el-tab-pane label="短信随访" name="3">
<SmsSend />
</el-tab-pane>
</el-tabs>
@ -106,12 +109,14 @@ import {
import FollowCritical from "./FollowCritical.vue";
import PhoneFollowUp from "./PhoneFollowUp.vue";
import SmsSend from "./SmsSend.vue";
import AsbitemCriticalValue from "./AsbitemCriticalValue.vue";
export default {
components: {
FollowCritical,
PhoneFollowUp,
SmsSend,
AsbitemCriticalValue
},
data() {
return {

4
src/components/follow/PhoneFollowUp.vue

@ -6,8 +6,8 @@
border
:height="
window.pageHeight < 600
? 124
: Math.floor((window.pageHeight - 228) / 3)
? 150
: Math.floor((window.pageHeight+20) / 3)
"
size="small"
highlight-current-row

4
src/components/follow/SmsSend.vue

@ -6,8 +6,8 @@
border
:height="
window.pageHeight < 600
? 124
: Math.floor((window.pageHeight - 228) / 3)
? 150
: Math.floor((window.pageHeight+20) / 3)
"
size="small"
highlight-current-row

Loading…
Cancel
Save