pengjun 2 months ago
parent
commit
1440b8c1ea
  1. 149
      src/components/doctorCheck/Question.vue
  2. 2
      src/components/report/PatientRegisterQueryNobtn.vue
  3. 1
      src/views/report/report.vue

149
src/components/doctorCheck/Question.vue

@ -1,14 +1,65 @@
<template> <template>
<div> <div>
<div style="margin-top: -10px;overflow-y: auto;font-size: 16px;width:100%;height:500px;">
<div v-for="(item,index) in questionDatas" key="index" style="margin: 0 0 10px 10px;">
<div>{{ (index + 1).toString() + '、' + item.questionName }}</div>
<div style="color:black;font-weight: 700;margin-left: 40px;">{{ item.answersNew }}</div>
</div>
<div v-if="questionDatas.length == 0" style="text-align: center;">
无调查问卷
</div>
</div>
<el-tabs style="margin-top: -10px;height: 500px;">
<el-tab-pane label="问卷详情">
<div class="contentDiv">
<div v-for="(item, index) in questionDatas" :key="index" style="margin: 0 0 10px 10px;">
<div>{{ (index + 1).toString() + '、' + item.questionName }}</div>
<div style="color:black;font-weight: 700;margin-left: 40px;">{{ item.answersNew }}</div>
</div>
<div v-if="questionDatas.length == 0" style="text-align: center;">
无调查问卷
</div>
</div>
</el-tab-pane>
<el-tab-pane label="问卷汇总">
<div class="contentDiv">
<div v-for="(item, index) in questionSubjects" :key="index" style="margin: 0 0 10px 10px;">
<div>{{ item.questionSubjectTypeName }}</div>
<div style="color:black;font-weight: 700;margin-left: 40px;">{{ item.answersNew }}</div>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="疾病风险">
<div class="contentDiv">
<div v-for="(item, index) in diseaseRiskDetail" :key="index"
style="margin: 0 40px 3px 40px;display: flex;justify-content: space-between;">
<div style="width: 200px;">{{ item.diseaseRiskName }}</div>
<div style="text-align: center;width: 200px;">
<el-tag size="small">{{ item.diseaseRiskLevelName }}</el-tag>
</div>
<div style="width: 300px;"></div>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="推荐项目">
<el-tabs tab-position="left">
<el-tab-pane v-for="(item, index) in recommendMedicalPackageDetail" :label="item.medicalPackageName"
:key="index">
<div class="contentDiv">
<div>套餐/分组</div>
<el-table :data="item.asbitems" style="width: 100%;" border highlight-current-row
:row-style="{ height: '28px' }">
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="asbitemName" label="组合项目" min-width="200" />
<el-table-column prop="standardPrice" label="折扣价" min-width="100" align="center" />
<el-table-column prop="price" label="折扣价" min-width="100" align="center" />
</el-table>
<div v-for="(itemPlus, i) in item.diseaseRiskLevelAsbitems" :key="i" style="margin-top: 5px;">
<div>{{ itemPlus.diseaseRiskName }}</div>
<el-table :data="itemPlus.asbitems" style="width: 100%;" border highlight-current-row
:row-style="{ height: '28px' }">
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="asbitemName" label="组合项目" min-width="200" />
<el-table-column prop="standardPrice" label="折扣价" min-width="100" align="center" />
<el-table-column prop="price" label="折扣价" min-width="100" align="center" />
</el-table>
</div>
</div>
</el-tab-pane>
</el-tabs>
</el-tab-pane>
</el-tabs>
<div style="display: flex;justify-content: space-between;"> <div style="display: flex;justify-content: space-between;">
<div></div> <div></div>
<div style=" margin-top: 5px"> <div style=" margin-top: 5px">
@ -30,7 +81,10 @@ export default {
props: ["refParams"], props: ["refParams"],
data() { data() {
return { return {
questionDatas: []
questionDatas: [],
questionSubjects: [],
diseaseRiskDetail: [],
recommendMedicalPackageDetail: []
}; };
}, },
//<el-tree :data="$store.state.customerOrg.ref_tree" :props="$store.state.customerOrg.treeprops" @node-click="treeclick"></el-tree> //<el-tree :data="$store.state.customerOrg.ref_tree" :props="$store.state.customerOrg.treeprops" @node-click="treeclick"></el-tree>
@ -42,7 +96,7 @@ export default {
// //
mounted() { mounted() {
console.log('this.refParams',this.refParams)
console.log('this.refParams', this.refParams)
}, },
methods: { methods: {
@ -53,20 +107,8 @@ export default {
postapi('/api/app/QuestionRegister/GetQuestionRegisterListByPatientRegisterNo', { idNo: this.refParams.idNo }) postapi('/api/app/QuestionRegister/GetQuestionRegisterListByPatientRegisterNo', { idNo: this.refParams.idNo })
.then(res => { .then(res => {
if (res.code > -1) { if (res.code > -1) {
this.questionDatas = res.data
let answersNew = ''
this.questionDatas.forEach(e => {
answersNew = ''
e.answers.forEach(c => {
if(answersNew){
answersNew += ';' + c.answer
}else{
answersNew = c.answer
}
});
e.answersNew = answersNew
});
}else{
this.parseQuestion(res.data)
} else {
this.dialogWin.question = false this.dialogWin.question = false
} }
}) })
@ -74,14 +116,54 @@ export default {
this.dialogWin.question = false this.dialogWin.question = false
}) })
}, },
//
parseQuestion(data) {
//
this.questionDatas = data?.questionDetail || []
let answersNew = ''
this.questionDatas.forEach(e => {
answersNew = ''
e.answers.forEach(c => {
if (answersNew) {
answersNew += ';' + c.answer
} else {
answersNew = c.answer
}
});
e.answersNew = answersNew
});
//
this.questionSubjects = data?.subjectTypeDetail || []
this.questionSubjects.forEach(e => {
answersNew = ''
e.answers.forEach(c => {
if (answersNew) {
answersNew += '; ' + c.questionAnswerName
} else {
answersNew = c.questionAnswerName
}
});
e.answersNew = answersNew
});
//
this.diseaseRiskDetail = data?.diseaseRiskDetail || []
//
this.recommendMedicalPackageDetail = data?.recommendMedicalPackageDetail || []
},
}, },
watch: {
"refParams.refresh":{
immediate:true,
watch: {
"refParams.refresh": {
immediate: true,
handler(newVal, oldVal) { handler(newVal, oldVal) {
console.log(`watch:调查问卷refParams.refresh newVal: ${newVal}, oldVal: ${oldVal}`,this.refParams);
if(newVal != oldVal) this.btnRefresh();
console.log(`watch:调查问卷refParams.refresh newVal: ${newVal}, oldVal: ${oldVal}`, this.refParams);
if (newVal != oldVal) this.btnRefresh();
} }
}, },
}, },
@ -94,5 +176,10 @@ export default {
@import "../../assets/css/global.css"; @import "../../assets/css/global.css";
@import "../../assets/css/global_tree.css"; @import "../../assets/css/global_tree.css";
.contentDiv {
overflow-y: auto;
font-size: 16px;
width: 100%;
height: 470px;
}
</style> </style>

2
src/components/report/PatientRegisterQueryNobtn.vue

@ -35,7 +35,7 @@
</div> </div>
<div class="query"> <div class="query">
<span class="spanClass">性别</span> <span class="spanClass">性别</span>
<el-select v-model="query.sex" placeholder="请选择" style="width: 60px" size="small">
<el-select v-model="query.sex" placeholder="请选择" style="width: 60px" size="small" clearable>
<el-option v-for="item in dict.sex" :key="item.id" :label="item.displayName" :value="item.id" /> <el-option v-for="item in dict.sex" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select> </el-select>
</div> </div>

1
src/views/report/report.vue

@ -805,6 +805,7 @@ export default {
body.customerOrgs = customerOrgs body.customerOrgs = customerOrgs
if (this.query.phone) body.phone = this.query.phone if (this.query.phone) body.phone = this.query.phone
if (this.query.completeFlag) body.completeFlag = this.query.completeFlag if (this.query.completeFlag) body.completeFlag = this.query.completeFlag
if (this.query.sex) body.sexId = this.query.sex
if (this.query.isAudit) body.isAudit = this.query.isAudit if (this.query.isAudit) body.isAudit = this.query.isAudit
if (this.query.isReportPrint) body.isReportPrint = this.query.isReportPrint if (this.query.isReportPrint) body.isReportPrint = this.query.isReportPrint
if (this.query.isUpload) body.isUpload = this.query.isUpload if (this.query.isUpload) body.isUpload = this.query.isUpload

Loading…
Cancel
Save