|
|
@ -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> |