xg
This commit is contained in:
parent
a08c122063
commit
dce69c73df
@ -4,7 +4,7 @@ import request from '@/utils/request'
|
||||
// 查询患者宣教信息列表
|
||||
export function getList(query) {
|
||||
return request({
|
||||
url: '/manage/patientPropaganda/getList',
|
||||
url: '/manage/signnode/getNodeList',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
|
||||
@ -133,7 +133,7 @@
|
||||
</div>
|
||||
<div class="text" style="font-size:14px;font-weight: 400;"
|
||||
v-if="uitem.taskType == 'ARTIFICIAL_FOLLOW_UP'">
|
||||
随访详情:<el-button style="padding: 6px 10px;">预览</el-button>
|
||||
人工随访详情:<el-button @click="lookquestion(uitem)" style="padding: 6px 10px;">预览</el-button>
|
||||
</div>
|
||||
<div class="text" style="font-size:14px;font-weight: 400;"
|
||||
v-if="uitem.taskType == 'QUESTIONNAIRE_SCALE'">
|
||||
|
||||
293
src/views/manage/components/RehabilitationPlanandRecords.vue
Normal file
293
src/views/manage/components/RehabilitationPlanandRecords.vue
Normal file
@ -0,0 +1,293 @@
|
||||
<template>
|
||||
<div class="header">
|
||||
<div class="leftheader">
|
||||
<div class="item" v-for="(item, index) in namelist" :key="index" @click="clicknameitem(item, index)"
|
||||
:class="index == itemindex ? 'selectitem' : ''">
|
||||
<div class="name">
|
||||
{{ item.name }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rightheader" v-if="categorylist.length > 0">
|
||||
<div class="richtext">
|
||||
<div class="text" style="font-size: 20px;"> 任务:</div>
|
||||
<div v-for="item in categorylist" :key="item.manageRouteId" style="margin: 0 auto 30px;">
|
||||
<div class="texts">
|
||||
<div class="text">
|
||||
任务名称: {{ item.routeName }}
|
||||
</div>
|
||||
<div class="text">
|
||||
适用范围: {{ item.suitRange == 'IN_THE_HOSPITAL' ? '在院' : '' }}
|
||||
{{ item.suitRange == 'DISCHARGE' ? '出院' : '' }}
|
||||
{{ item.suitRange == 'OUTPATIENT_SERVICE' ? '门诊' : '' }}
|
||||
{{ item.suitRange == 'OUTPATIENT_SERVICE_DISCHARGE' ? '门诊+出院' : "" }}
|
||||
</div>
|
||||
</div>
|
||||
<div v-for="uitem in item.nodeList" :key="uitem.id">
|
||||
<div class="texts">
|
||||
<div class="text" style="font-size:14px;font-weight: 400;">
|
||||
任务内容:{{ uitem.taskType == 'PHONE_OUTBOUND' ? "电话外呼" : "" }}
|
||||
{{ uitem.taskType == 'QUESTIONNAIRE_SCALE' ? "问卷量表" : "" }}
|
||||
{{ uitem.taskType == 'PROPAGANDA_ARTICLE' ? "宣教文案" : "" }}
|
||||
{{ uitem.taskType == 'TEXT_REMIND' ? "文字提醒" : "" }}
|
||||
{{ uitem.taskType == 'ARTIFICIAL_FOLLOW_UP' ? "人工随访" : "" }}
|
||||
</div>
|
||||
<div class="text" style="font-size:14px;font-weight: 400;"
|
||||
v-if="uitem.taskType == 'PHONE_OUTBOUND'">
|
||||
话术模板:{{ uitem.phoneTemplateName }}
|
||||
</div>
|
||||
<div class="text" style="font-size:14px;font-weight: 400;"
|
||||
v-if="uitem.taskType == 'QUESTIONNAIRE_SCALE'">
|
||||
问卷模板:{{ uitem.questionnaireName }}
|
||||
</div>
|
||||
<div class="text" style="font-size:14px;font-weight: 400;"
|
||||
v-if="uitem.taskType == 'QUESTIONNAIRE_SCALE'">
|
||||
问卷有效期:{{ uitem.questionExpirationDate }}天
|
||||
</div>
|
||||
<div class="text" style="font-size:14px;font-weight: 400;"
|
||||
v-if="uitem.taskType == 'PROPAGANDA_ARTICLE'">
|
||||
宣教模板:{{ uitem.propagandaTitle }}
|
||||
</div>
|
||||
<div class="textarea" v-if="uitem.taskType == 'TEXT_REMIND'">
|
||||
提醒内容:{{ uitem.textRemindContent }}
|
||||
</div>
|
||||
<div class="text" style="font-size:14px;font-weight: 400;"
|
||||
v-if="uitem.taskType == 'ARTIFICIAL_FOLLOW_UP'">
|
||||
人工随访模板:{{ uitem.questionnaireName }}
|
||||
</div>
|
||||
<div class="text" style="font-size:14px;font-weight: 400;"
|
||||
v-if="uitem.taskType == 'ARTIFICIAL_FOLLOW_UP'">
|
||||
人工随访详情:<el-button @click="lookquestion(uitem)" style="padding: 6px 10px;">预览</el-button>
|
||||
</div>
|
||||
<div class="text" style="font-size:14px;font-weight: 400;"
|
||||
v-if="uitem.taskType == 'QUESTIONNAIRE_SCALE'">
|
||||
问卷模板详情:<el-button @click="lookquestion(uitem)" style="padding: 6px 10px;">预览</el-button>
|
||||
</div>
|
||||
<div class="text" style="font-size:14px;font-weight: 400;"
|
||||
v-if="uitem.taskType == 'PROPAGANDA_ARTICLE'">
|
||||
宣教模板详情:<el-button @click="lookpropaganda(uitem)"
|
||||
style="padding: 6px 10px;">预览</el-button>
|
||||
</div>
|
||||
<div class="text" style="font-size:14px;font-weight: 400;"
|
||||
v-if="uitem.taskType == 'PHONE_OUTBOUND'">
|
||||
话术模板详情:<el-button @click="lookphone(uitem)" style="padding: 6px 10px;">预览</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<el-empty description="暂无" style="width: 100%;" v-else></el-empty>
|
||||
<!-- 话术预览弹框 -->
|
||||
<el-dialog title="话术预览" :visible.sync="phoneopen" width="30%" :before-close="openfalse">
|
||||
<img style="width:200px" :src="baseUrl + lookitem.scriptFilePath" />
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="phoneopen = false">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<!-- 宣教预览弹框 -->
|
||||
<el-dialog title="宣教预览" :visible.sync="propagandaopen" width="30%" :before-close="openfalse">
|
||||
<div class="titletop">文章模板:{{ lookitem.propagandaTitle }}</div>
|
||||
<div class="bodytop">
|
||||
<div class="titledata">{{ lookitem.propagandaTitle }}</div>
|
||||
<div>
|
||||
<img :src="baseUrl + lookitem.propagandaCoverPath" alt="" />
|
||||
<div class="know">知识卡片</div>
|
||||
<div class="knowlist">
|
||||
{{ lookitem.propagandaContent }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 问卷预览弹框 -->
|
||||
<questionopen ref="question" :lookitem="lookitem"></questionopen>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import {
|
||||
getList
|
||||
} from '@/api/manage/healthEducation'
|
||||
import questionopen from './questionopen.vue';
|
||||
export default {
|
||||
components: {
|
||||
questionopen,
|
||||
},
|
||||
name: "RehabilitationPlanandRecords",
|
||||
data() {
|
||||
return {
|
||||
baseUrl: process.env.VUE_APP_BASE_API,
|
||||
//左侧list
|
||||
itemindex: 0,
|
||||
namelist: [
|
||||
{
|
||||
name: '手动创建任务'
|
||||
},
|
||||
{
|
||||
name: '专病管理路径'
|
||||
}
|
||||
],
|
||||
categorylist: [],
|
||||
query: {
|
||||
patientId: '',
|
||||
routeCheckStatus: 'AGREE',
|
||||
taskCreateType: 'MANUAL_CREATE'
|
||||
},
|
||||
lookitem: {},
|
||||
phoneopen: false,
|
||||
propagandaopen: false,
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.info();
|
||||
},
|
||||
methods: {
|
||||
//查看宣教模板
|
||||
lookpropaganda(item) {
|
||||
this.lookitem = item.detailInfo
|
||||
this.propagandaopen = true
|
||||
},
|
||||
//查看话术模板
|
||||
lookphone(item) {
|
||||
this.lookitem = item.detailInfo
|
||||
this.phoneopen = true
|
||||
},
|
||||
//查看问卷模板
|
||||
lookquestion(item) {
|
||||
this.lookitem = item.detailInfo
|
||||
this.$refs.question.questionopentrue()
|
||||
},
|
||||
//关闭预览
|
||||
openfalse() {
|
||||
this.phoneopen = false
|
||||
this.propagandaopen = false
|
||||
this.lookitem = {}
|
||||
},
|
||||
clicknameitem(item, index) {
|
||||
this.itemindex = index
|
||||
if (index == 0) {
|
||||
this.query.taskCreateType = 'MANUAL_CREATE'
|
||||
} else {
|
||||
this.query.taskCreateType = 'MANUAL_MATCHE'
|
||||
}
|
||||
this.info();
|
||||
},
|
||||
info() {
|
||||
this.query.patientId = this.$route.query.patientId
|
||||
getList(this.query).then(res => {
|
||||
if (res.data.length > 0) {
|
||||
this.categorylist = res.data
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.header {
|
||||
background-color: #fff !important;
|
||||
padding: 0 !important;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
.rightheader {
|
||||
width: 75%;
|
||||
padding-top: 20px;
|
||||
|
||||
.titletop {
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
margin: 10px 0px 0 20px;
|
||||
}
|
||||
|
||||
.bodytop {
|
||||
.titledata {
|
||||
margin: 30px 0px 15px 20px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.audiotop {
|
||||
margin: 10px 0px 10px 20px;
|
||||
}
|
||||
|
||||
img {
|
||||
margin: 0px 0px 0px 20px;
|
||||
}
|
||||
|
||||
.know {
|
||||
margin: 11px 0px 10px 20px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.knowlist {
|
||||
margin: 10px 0px 10px 20px;
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.texts {
|
||||
margin: 16px 0 20px;
|
||||
flex-wrap: wrap;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
font-size: 14px;
|
||||
|
||||
.text {
|
||||
margin-bottom: 10px;
|
||||
width: 50%;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
-o-text-overflow: ellipsis;
|
||||
}
|
||||
}
|
||||
|
||||
.richtext {
|
||||
overflow: scroll;
|
||||
// 隐藏表头的滚动条
|
||||
overflow-x: hidden !important;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
height: 550px;
|
||||
|
||||
.textarea {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
margin-bottom: 10px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.text {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.leftheader {
|
||||
width: 20%;
|
||||
margin-top: 20px;
|
||||
height: 450px;
|
||||
overflow: scroll;
|
||||
// 隐藏表头的滚动条
|
||||
overflow-x: hidden !important;
|
||||
|
||||
.selectitem {
|
||||
background-color: #D2E9FC;
|
||||
border-left: 2px solid #1890ff !important;
|
||||
border-bottom: 1px solid #fff !important;
|
||||
}
|
||||
|
||||
.item {
|
||||
padding: 25px 10px;
|
||||
position: relative;
|
||||
border-left: 2px solid #fff;
|
||||
border-bottom: 1px solid #E7E7E7;
|
||||
|
||||
.name {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -1,15 +1,27 @@
|
||||
<template>
|
||||
<div class="header">
|
||||
<div class="leftheader" v-if="categorylist.length > 0">
|
||||
<div class="item" v-for="(item, index) in categorylist" :key="item.id" @click="clickcategory(item, index)"
|
||||
:class="index == categoryindex ? 'selectitem' : ''">
|
||||
<div class="item" v-for="(item, index) in categorylist" :key="item.propagandaInfoId"
|
||||
@click="clickcategory(item, index)" :class="index == categoryindex ? 'selectitem' : ''">
|
||||
<div class="name">
|
||||
{{ item.propagandaTitle }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rightheader" v-if="categorylist.length > 0">
|
||||
<div class="richtext" v-html="categoryItem.propagandaContent">
|
||||
<div class="richtext">
|
||||
<div class="titletop">文章模板:{{ categoryItem.propagandaTitle }}</div>
|
||||
<div class="bodytop">
|
||||
<div class="titledata">{{ categoryItem.propagandaTitle }}</div>
|
||||
<div>
|
||||
<img :src="baseUrl + categoryItem.propagandaCoverPath" alt="" />
|
||||
<div class="know">知识卡片</div>
|
||||
<div class="knowlist">
|
||||
{{ categoryItem.propagandaContent }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-html="categoryItem.propagandaContent"></div>
|
||||
</div>
|
||||
</div>
|
||||
<el-empty description="暂无" style="width: 100%;" v-else></el-empty>
|
||||
@ -23,6 +35,7 @@ export default {
|
||||
name: "healthEducation",
|
||||
data() {
|
||||
return {
|
||||
baseUrl: process.env.VUE_APP_BASE_API,
|
||||
//左侧类型选中
|
||||
categoryindex: 0,
|
||||
//左侧选中的item
|
||||
@ -30,7 +43,9 @@ export default {
|
||||
//左侧list
|
||||
categorylist: [],
|
||||
query: {
|
||||
patientId: ''
|
||||
patientId: '',
|
||||
routeCheckStatus: 'AGREE',
|
||||
taskType: 'PROPAGANDA_ARTICLE'
|
||||
}
|
||||
};
|
||||
},
|
||||
@ -46,7 +61,11 @@ export default {
|
||||
this.query.patientId = this.$route.query.patientId
|
||||
getList(this.query).then(res => {
|
||||
if (res.data.length > 0) {
|
||||
this.categorylist = res.data
|
||||
res.data.forEach(e => {
|
||||
e.nodeList.forEach(el => {
|
||||
this.categorylist.push(el)
|
||||
})
|
||||
})
|
||||
this.categoryItem = this.categorylist[0]
|
||||
}
|
||||
})
|
||||
@ -65,6 +84,37 @@ export default {
|
||||
padding-top: 20px;
|
||||
border-left: 3px solid #DFE4ED;
|
||||
|
||||
.titletop {
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
margin: 10px 0px 0 20px;
|
||||
}
|
||||
|
||||
.bodytop {
|
||||
.titledata {
|
||||
margin: 30px 0px 15px 20px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.audiotop {
|
||||
margin: 10px 0px 10px 20px;
|
||||
}
|
||||
|
||||
img {
|
||||
margin: 0px 0px 0px 20px;
|
||||
}
|
||||
|
||||
.know {
|
||||
margin: 11px 0px 10px 20px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.knowlist {
|
||||
margin: 10px 0px 10px 20px;
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.richtext {
|
||||
overflow: scroll;
|
||||
// 隐藏表头的滚动条
|
||||
|
||||
@ -52,12 +52,12 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottomheader">
|
||||
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||||
<el-tabs v-model="activeName">
|
||||
<el-tab-pane label="就诊记录" name="first">
|
||||
<visitRecords></visitRecords>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="康复计划及记录" name="second">
|
||||
<el-empty description="暂无" style="width: 100%;"></el-empty>
|
||||
<RehabilitationPlanandRecords v-if="activeName == 'second'"></RehabilitationPlanandRecords>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="健康宣教" name="third">
|
||||
<healthEducation v-if="activeName == 'third'"></healthEducation>
|
||||
@ -78,6 +78,7 @@ import visitRecords from '../components/visitRecords.vue';
|
||||
import healthEducation from '../components/healthEducation.vue';
|
||||
import indicatorMonitoring from '../components/indicatorMonitoring.vue';
|
||||
import signingRecords from '../components/signingRecords.vue';
|
||||
import RehabilitationPlanandRecords from '../components/RehabilitationPlanandRecords.vue';
|
||||
export default {
|
||||
components: {
|
||||
//就诊记录
|
||||
@ -88,6 +89,8 @@ export default {
|
||||
indicatorMonitoring,
|
||||
// 签约记录
|
||||
signingRecords,
|
||||
//康复计划
|
||||
RehabilitationPlanandRecords
|
||||
},
|
||||
name: "patientdetails",
|
||||
data() {
|
||||
@ -98,9 +101,6 @@ export default {
|
||||
created() {
|
||||
},
|
||||
methods: {
|
||||
handleClick(tab, event) {
|
||||
console.log(tab, event);
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user