修改康复计划记录
This commit is contained in:
parent
30924ea5ef
commit
576aa2f183
10
src/api/manage/patientdetails.js
Normal file
10
src/api/manage/patientdetails.js
Normal file
@ -0,0 +1,10 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
|
||||
// 根据患者主键查询签约记录
|
||||
export function getRecordList(patientId) {
|
||||
return request({
|
||||
url: `/manage/signroute/getRecordList/${patientId}`,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
@ -15,4 +15,17 @@ export function getByRecordId(patientSignRecordId) {
|
||||
url: `/manage/signRecord/getByRecordId/${patientSignRecordId}`,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export function getRecordLists(patientId) {
|
||||
return request({
|
||||
url: `/manage/signroute/getRecordList/${patientId}`,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
export function getNodeListsignPatientRecordld(signPatientRecordld) {
|
||||
return request({
|
||||
url: `/manage/signnode/getNodeList/${signPatientRecordld}`,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
BIN
src/assets/system/dangan.png
Normal file
BIN
src/assets/system/dangan.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
BIN
src/assets/system/shenghuo.png
Normal file
BIN
src/assets/system/shenghuo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.3 KiB |
BIN
src/assets/system/yaoshifuwu.png
Normal file
BIN
src/assets/system/yaoshifuwu.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.1 KiB |
BIN
src/assets/system/zhongdian.png
Normal file
BIN
src/assets/system/zhongdian.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.9 KiB |
@ -1,20 +1,118 @@
|
||||
<template>
|
||||
<div class="header">
|
||||
<div class="leftheader">
|
||||
<div
|
||||
<!-- <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 class="dataall">数据总览</div>
|
||||
|
||||
<div class="background">
|
||||
<el-timeline>
|
||||
<el-timeline-item
|
||||
v-for="(item, index) in categorylist"
|
||||
:key="index"
|
||||
:color="listindex == index ? '#48BDBC' : ''"
|
||||
>
|
||||
<div class="top">
|
||||
<div class="toptop">
|
||||
{{ item.executeDateTime }}({{ item.routeNodeNameCN }}第{{
|
||||
item.routeNodeDay
|
||||
}}天)
|
||||
</div>
|
||||
<div class="words">
|
||||
<img
|
||||
v-if="item.taskNodeType=='PHONE_OUTBOUND'"
|
||||
|
||||
class="imagecla"
|
||||
src="../../../assets/system/dangan.png"
|
||||
alt=""
|
||||
/>
|
||||
<img
|
||||
class="imagecla"
|
||||
v-if="item.taskNodeType=='TEXT_REMIND'"
|
||||
src="../../../assets/system/yaoshifuwu.png"
|
||||
alt=""
|
||||
/>
|
||||
<img
|
||||
class="imagecla"
|
||||
v-if="item.taskNodeType=='QUESTIONNAIRE_SCALE'"
|
||||
|
||||
src="../../../assets/system/zhongdian.png"
|
||||
alt=""
|
||||
/>
|
||||
<img
|
||||
v-if="item.taskNodeType=='PROPAGANDA_ARTICLE'"
|
||||
class="imagecla"
|
||||
src="../../../assets/system/shenghuo.png"
|
||||
alt=""
|
||||
/>
|
||||
<!-- <i class="el-icon-tickets" ></i> -->
|
||||
{{ item.secondClassifyDescribe }}
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<el-card
|
||||
@click.native="bottomclickevent(item, index)"
|
||||
:class="listindex == index ? 'cards' : ''"
|
||||
>
|
||||
<h3
|
||||
style="
|
||||
width: 116px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
"
|
||||
>
|
||||
{{ item.taskName }}
|
||||
</h3>
|
||||
<el-tag
|
||||
type="danger"
|
||||
class="routeCheckStatus"
|
||||
v-if="item.taskStatus == 'UNREAD'"
|
||||
>未阅读</el-tag
|
||||
>
|
||||
<el-tag
|
||||
type="info"
|
||||
class="routeCheckStatus"
|
||||
v-if="item.taskStatus == 'NOT_CONNECTED'"
|
||||
>未接通</el-tag
|
||||
>
|
||||
<el-tag
|
||||
type="warning"
|
||||
class="routeCheckStatus"
|
||||
v-if="item.taskStatus == 'CONNECTED'"
|
||||
>已接通</el-tag
|
||||
>
|
||||
|
||||
<el-tag
|
||||
class="routeCheckStatus"
|
||||
v-if="item.taskStatus == 'EXPIRED'"
|
||||
>已超时</el-tag
|
||||
>
|
||||
<el-tag
|
||||
type="success"
|
||||
class="routeCheckStatus"
|
||||
v-if="item.taskStatus == 'READ'"
|
||||
>已阅读</el-tag
|
||||
>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
</el-timeline>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rightheader" v-if="categorylist.length > 0">
|
||||
<div class="richtext" v-if="itemindex == 1">
|
||||
|
||||
<div class="rightheader" v-if="form">
|
||||
<!-- <div class="richtext" v-if="itemindex == 1">
|
||||
<div class="text" style="font-size: 20px">手动创建任务:</div>
|
||||
<div
|
||||
v-for="item in categorylist"
|
||||
@ -130,10 +228,65 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="richtext" v-if="itemindex == 0">
|
||||
<div class="text" style="font-size: 20px">专病管理路径:</div>
|
||||
<div
|
||||
<div class="borderheader">
|
||||
<span
|
||||
>任务来源:{{
|
||||
form.taskCreateType == "MANUAL_CREATE" ? "手动创建任务" : ""
|
||||
}}
|
||||
{{
|
||||
form.taskCreateType == "MANUAL_MATCHE" ? "专病路径任务" : ""
|
||||
}}</span
|
||||
>
|
||||
<span>路径名称:{{ form.manageRouteName }}</span>
|
||||
<span>任务执行状态:
|
||||
{{
|
||||
form.nodeExecuteStatus == "EXECUTED" ? "已执行" : ""
|
||||
}}
|
||||
{{
|
||||
form.nodeExecuteStatus == "UNEXECUTED" ? "未执行" : ""
|
||||
}}</span>
|
||||
<span>任务响应状态:{{
|
||||
form.taskStatus == "NOT_CONNECTED" ? "未接通" : ""
|
||||
}}
|
||||
{{
|
||||
form.taskStatus == "CONNECTED" ? "已接通" : ""
|
||||
}}
|
||||
{{
|
||||
form.taskStatus == "EXPIRED" ? "任务已超时" : ""
|
||||
}}
|
||||
{{
|
||||
form.taskStatus == "UNREAD" ? "未阅读" : ""
|
||||
}}
|
||||
{{
|
||||
form.taskStatus == "READ" ? "已阅读" : ""
|
||||
}}
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<!-- 宣教 -->
|
||||
<div class="bodytop" v-if="form.taskNodeType=='PROPAGANDA_ARTICLE'">
|
||||
<div class="titletop">文章模板:{{ form.propagandaTitle }}</div>
|
||||
<!-- <div class="titledata">哈哈哈</div> -->
|
||||
<!-- <img :src="baseUrl + lookitem.propagandaCoverPath" alt="" /> -->
|
||||
<div class="know">知识卡片</div>
|
||||
<div v-html="form.propagandaContent"></div>
|
||||
</div>
|
||||
<!-- 文字提醒 -->
|
||||
<div v-if="form.taskNodeType=='TEXT_REMIND' " v-html="form.nodeContent"></div>
|
||||
<!-- <el-input " v-model="form.nodeContent" type="textarea"></el-input> -->
|
||||
|
||||
<!-- 话术图 -->
|
||||
<Scriptpreview
|
||||
v-if="form.taskNodeType=='PHONE_OUTBOUND'"
|
||||
:phoneNodeContent="form.phoneNodeContent"
|
||||
></Scriptpreview>
|
||||
<!-- <img v-if=""style="width: 200px" :src="baseUrl + form.scriptFilePath" /> -->
|
||||
<!-- 问卷 -->
|
||||
<questionopen v-if="form.taskNodeType=='QUESTIONNAIRE_SCALE'" ref="question" :lookitemnew="form.detailInfo?form.detailInfo:''"></questionopen>
|
||||
<!-- <div class="text" style="font-size: 20px">专病管理路径:</div> -->
|
||||
<!-- <div
|
||||
v-for="item in categorylist"
|
||||
:key="item.manageRouteId"
|
||||
style="margin: 0 auto 30px"
|
||||
@ -213,7 +366,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
<el-empty description="暂无" style="width: 100%" v-else></el-empty>
|
||||
@ -258,15 +411,18 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import {
|
||||
getList
|
||||
} from '@/api/manage/healthEducation'
|
||||
import questionopen from './questionopen.vue';
|
||||
import specialDiseaseNodeopen from './specialDiseaseNodeopen.vue';
|
||||
import { getList } from "@/api/manage/healthEducation";
|
||||
import Scriptpreview from "../../system/components/Scriptpreviewopen.vue";
|
||||
import questionopen from "./questionopennew.vue";
|
||||
import specialDiseaseNodeopen from "./specialDiseaseNodeopen.vue";
|
||||
import { getNodeListsignPatientRecordld } from "@/api/manage/signingRecords";
|
||||
|
||||
export default {
|
||||
props: ["signPatientRecordld"],
|
||||
components: {
|
||||
questionopen,
|
||||
specialDiseaseNodeopen
|
||||
specialDiseaseNodeopen,
|
||||
Scriptpreview
|
||||
},
|
||||
name: "RehabilitationPlanandRecords",
|
||||
data() {
|
||||
@ -274,28 +430,39 @@ export default {
|
||||
baseUrl: process.env.VUE_APP_BASE_API,
|
||||
//左侧list
|
||||
itemindex: 0,
|
||||
manageRouteId: '',
|
||||
listindex: 0,
|
||||
|
||||
manageRouteId: "",
|
||||
namelist: [
|
||||
{
|
||||
name: '专病管理路径'
|
||||
name: "专病管理路径",
|
||||
},
|
||||
{
|
||||
name: '手动创建任务'
|
||||
name: "手动创建任务",
|
||||
},
|
||||
],
|
||||
categorylist: [],
|
||||
query: {
|
||||
patientId: '',
|
||||
routeCheckStatus: 'AGREE',
|
||||
taskCreateType: 'MANUAL_MATCHE'
|
||||
patientId: "",
|
||||
routeCheckStatus: "AGREE",
|
||||
taskCreateType: "MANUAL_MATCHE",
|
||||
},
|
||||
lookitem: {},
|
||||
phoneopen: false,
|
||||
propagandaopen: false,
|
||||
specialDiseaseNodeopen: false,
|
||||
loading: null,
|
||||
form: {},
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
signPatientRecordld(newvalue, oldvalue) {
|
||||
if (newvalue) {
|
||||
this.signPatientRecordld = newvalue;
|
||||
this.info();
|
||||
}
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.info(0);
|
||||
},
|
||||
@ -307,64 +474,138 @@ export default {
|
||||
suitRange: item.suitRange,
|
||||
id: item.specialDiseaseRoute.specialDiseaseRouteId,
|
||||
manageRouteId: this.manageRouteId,
|
||||
|
||||
}
|
||||
this.specialDiseaseNodeopen = true
|
||||
};
|
||||
this.specialDiseaseNodeopen = true;
|
||||
},
|
||||
//查看宣教模板
|
||||
lookpropaganda(item) {
|
||||
this.lookitem = item.detailInfo
|
||||
this.propagandaopen = true
|
||||
this.lookitem = item.detailInfo;
|
||||
this.propagandaopen = true;
|
||||
},
|
||||
//查看话术模板
|
||||
lookphone(item) {
|
||||
this.lookitem = item.detailInfo
|
||||
this.phoneopen = true
|
||||
this.lookitem = item.detailInfo;
|
||||
this.phoneopen = true;
|
||||
},
|
||||
//查看问卷模板
|
||||
lookquestion(item) {
|
||||
this.lookitem = item.detailInfo
|
||||
this.$refs.question.questionopentrue()
|
||||
this.lookitem = item.detailInfo;
|
||||
this.$refs.question.questionopentrue();
|
||||
},
|
||||
//关闭预览
|
||||
openfalse() {
|
||||
this.phoneopen = false
|
||||
this.propagandaopen = false
|
||||
this.lookitem = {}
|
||||
this.phoneopen = false;
|
||||
this.propagandaopen = false;
|
||||
this.lookitem = {};
|
||||
},
|
||||
clicknameitem(item, index) {
|
||||
this.loading = this.$loading({
|
||||
lock: true,
|
||||
text: '加载数据中',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(255,255,255,0.7)'
|
||||
text: "加载数据中",
|
||||
spinner: "el-icon-loading",
|
||||
background: "rgba(255,255,255,0.7)",
|
||||
});
|
||||
if (index == 1) {
|
||||
this.query.taskCreateType = 'MANUAL_CREATE'
|
||||
this.query.taskCreateType = "MANUAL_CREATE";
|
||||
} else {
|
||||
this.query.taskCreateType = 'MANUAL_MATCHE'
|
||||
this.query.taskCreateType = "MANUAL_MATCHE";
|
||||
}
|
||||
this.info(index);
|
||||
},
|
||||
info(index) {
|
||||
this.loading = this.$loading({
|
||||
lock: true,
|
||||
text: '加载数据中',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(255,255,255,0.7)'
|
||||
});
|
||||
this.query.patientId = this.$route.query.patientId
|
||||
getList(this.query).then(res => {
|
||||
this.itemindex = index
|
||||
this.loading.close();
|
||||
this.categorylist = res.data
|
||||
this.manageRouteId = this.categorylist[0].manageRouteId
|
||||
})
|
||||
bottomclickevent(item, index) {
|
||||
console.log(item, "utiem");
|
||||
this.form = item;
|
||||
this.listindex = index;
|
||||
},
|
||||
}
|
||||
info(index) {
|
||||
// this.loading = this.$loading({
|
||||
// lock: true,
|
||||
// text: "加载数据中",
|
||||
// spinner: "el-icon-loading",
|
||||
// background: "rgba(255,255,255,0.7)",
|
||||
// });
|
||||
// this.query.patientId = this.$route.query.patientId;
|
||||
getNodeListsignPatientRecordld(this.signPatientRecordld).then((res) => {
|
||||
this.itemindex = index;
|
||||
// this.loading.close();
|
||||
this.categorylist = res.data;
|
||||
console.log(this.categorylist, " this.categorylist");
|
||||
this.form = this.categorylist[0];
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
<style lang="scss" scoped>
|
||||
::v-deep.el-timeline-item {
|
||||
padding: 0 25px 0 12px;
|
||||
// padding-left: 10px;
|
||||
}
|
||||
.cards {
|
||||
border: 1px solid #008e78;
|
||||
border-left: 5px solid #008e78;
|
||||
}
|
||||
.el-icon-tickets {
|
||||
color: green;
|
||||
// background: red;
|
||||
}
|
||||
.routeCheckStatus {
|
||||
position: absolute;
|
||||
right: 5px;
|
||||
top: 85px;
|
||||
}
|
||||
.dataall {
|
||||
color: #2fb0af;
|
||||
background: #e9f5f3;
|
||||
font-weight: 600;
|
||||
height: 40px;
|
||||
z-index: 1;
|
||||
line-height: 40px;
|
||||
position: fixed;
|
||||
width: 20%;
|
||||
padding-left: 14px;
|
||||
// margin-left: -10px;
|
||||
// top: 10px;
|
||||
// left: 10px;
|
||||
// margin: 0 0 10px 0;
|
||||
// padding: 10px 10px 20px 20px;
|
||||
}
|
||||
.top {
|
||||
// display: flex;
|
||||
// justify-content: space-between;
|
||||
// align-items: center;
|
||||
// padding: 10px 10px 20px 0px;
|
||||
|
||||
.toptop {
|
||||
color: #b2b1b5;
|
||||
|
||||
// display: flex;
|
||||
// align-items: center;
|
||||
}
|
||||
.words {
|
||||
font-weight: 600;
|
||||
display: flex;
|
||||
padding: 10px 0 10px 0;
|
||||
.imagecla {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
// span {
|
||||
// padding: 0 4px;
|
||||
// }
|
||||
|
||||
// i {
|
||||
// font-size: 17px;
|
||||
// }
|
||||
|
||||
// i:nth-child(2) {
|
||||
// padding-left: 12px;
|
||||
// }
|
||||
}
|
||||
::v-deep img {
|
||||
width: 100%;
|
||||
}
|
||||
@ -417,7 +658,17 @@ export default {
|
||||
.rightheader {
|
||||
width: 75%;
|
||||
padding-top: 20px;
|
||||
border-left: 3px solid #dfe4ed;
|
||||
.borderheader {
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
|
||||
border-bottom: 2px solid #e5e5e5;
|
||||
span {
|
||||
display: inline-block;
|
||||
width: 25%;
|
||||
}
|
||||
}
|
||||
.tagtitle {
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
@ -470,13 +721,19 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.background {
|
||||
// margin-top: 40px;
|
||||
z-index: -1;
|
||||
// background: red;
|
||||
margin: 49px 0 0px -26px;
|
||||
}
|
||||
.leftheader {
|
||||
height: calc(100vh - 352px);
|
||||
|
||||
width: 20%;
|
||||
margin-top: 20px;
|
||||
width: 24%;
|
||||
// margin-top: 13px;
|
||||
// height: 450px;
|
||||
// padding-right: 20px;
|
||||
overflow: auto;
|
||||
// 隐藏表头的滚动条
|
||||
overflow-x: hidden !important;
|
||||
|
||||
@ -1,386 +1,462 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<!-- 问卷模板 -->
|
||||
<!-- <el-dialog title="问卷预览" :visible.sync="questionopen" width="30%"> -->
|
||||
<div class="words" v-for="(item, index) in questiondata.questionSubjectList" :key="index">
|
||||
{{ index + 1 }}.{{ item.questionName }}
|
||||
<span v-if="item.questionType == 'MULTIPLE_CHOICE'">(单选题)</span>
|
||||
<span v-if="item.questionType == 'MULTIPLE_CHOICE_QUESTIONS'">(多选题)</span>
|
||||
<span v-if="item.questionType == 'SCORING_QUESTIONS'">(打分题)</span>
|
||||
<span v-if="item.questionType == 'COMBINATION_RADIO_SUBJECT'">(组合单选题)</span>
|
||||
<span v-if="item.questionType == 'COMBINATION_MULTIPLE_SUBJECT'">(组合多选题)</span>
|
||||
<span v-if="item.questionType == 'COMBINATION_BLANKS_SUBJECT'">(组合填空题)</span>
|
||||
<span v-if="item.questionType == 'FILL_IN_THE_BLANKS'">(填空题)</span>
|
||||
<span v-if="item.questionType == 'COMBINATION_SCORING_SUBJECT'">(组合打分题)</span>
|
||||
<span v-if="item.questionType == 'DATE_BLANKS_SUBJECT'">(日期填空题)</span>
|
||||
<span v-if="item.questionType == 'TIME_BLANKS_SUBJECT'">(时间填空题)</span>
|
||||
<el-radio-group v-if="item.questionType == 'MULTIPLE_CHOICE' ||
|
||||
item.questionType == 'COMBINATION_RADIO_SUBJECT' ||
|
||||
item.questionType == 'SCORING_QUESTIONS' ||
|
||||
item.questionType == 'COMBINATION_SCORING_SUBJECT'
|
||||
" v-model="questiondata[index]" class="custom-radio-group" disabled
|
||||
@change="radioGroupChange($event, item)">
|
||||
<el-radio class="custom" v-for="(aitem, aindex) in item.questionSubjectOptionList" :key="aindex"
|
||||
:label="aitem.id" @change="radioChange($event, aitem, index)">{{ aitem.optionName }}</el-radio>
|
||||
</el-radio-group>
|
||||
<!-- 多选、组合多选 -->
|
||||
<el-checkbox-group disabled v-model="checkeddata" @change="radioGroupChange($event, item, 'checkbox')" v-if="item.questionType == 'MULTIPLE_CHOICE_QUESTIONS' ||
|
||||
item.questionType == 'COMBINATION_MULTIPLE_SUBJECT'
|
||||
">
|
||||
<el-checkbox v-for="(aitem, aindex) in item.questionSubjectOptionList" :key="aindex" :label="aitem.id"
|
||||
@change="radioChangecheck($event, aitem, index, aindex)">{{ aitem.optionName
|
||||
}}</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
<!-- 填空题、组合填空 -->
|
||||
<div v-if="item.questionType == 'FILL_IN_THE_BLANKS' ||
|
||||
item.questionType == 'COMBINATION_BLANKS_SUBJECT'
|
||||
" class="tk">
|
||||
<el-input v-model="item.fillBlanksAnswer" disabled placeholder="请输入答案" type="textarea" />
|
||||
<!-- <el-input></el-input> -->
|
||||
</div>
|
||||
<!-- 日期填空题、 -->
|
||||
<div v-if="item.questionType == 'DATE_BLANKS_SUBJECT'" style="margin: 20px 0 10px 30px">
|
||||
<el-date-picker disabled @change="timepicker($event, index)" clearable v-model="item.fillBlanksAnswer"
|
||||
type="date" value-format="yyyy-MM-dd" placeholder="选择日期">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<!-- 时间填空题 -->
|
||||
<div style="margin: 20px 0 10px 30px" v-if="item.questionType == 'TIME_BLANKS_SUBJECT'">
|
||||
<el-time-select disabled @change="timepickerselect($event, index)" clearable
|
||||
v-model="item.fillBlanksAnswer" :picker-options="{
|
||||
<div class="app-container">
|
||||
<!-- 问卷模板 -->
|
||||
<!-- <el-dialog title="问卷预览" :visible.sync="questionopen" width="30%"> -->
|
||||
<div
|
||||
class="words"
|
||||
v-for="(item, index) in questiondata.questionSubjectList"
|
||||
:key="index"
|
||||
>
|
||||
{{ index + 1 }}.{{ item.questionName }}
|
||||
<span v-if="item.questionType == 'MULTIPLE_CHOICE'">(单选题)</span>
|
||||
<span v-if="item.questionType == 'MULTIPLE_CHOICE_QUESTIONS'"
|
||||
>(多选题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'SCORING_QUESTIONS'">(打分题)</span>
|
||||
<span v-if="item.questionType == 'COMBINATION_RADIO_SUBJECT'"
|
||||
>(组合单选题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'COMBINATION_MULTIPLE_SUBJECT'"
|
||||
>(组合多选题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'COMBINATION_BLANKS_SUBJECT'"
|
||||
>(组合填空题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'FILL_IN_THE_BLANKS'">(填空题)</span>
|
||||
<span v-if="item.questionType == 'COMBINATION_SCORING_SUBJECT'"
|
||||
>(组合打分题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'DATE_BLANKS_SUBJECT'"
|
||||
>(日期填空题)</span
|
||||
>
|
||||
<span v-if="item.questionType == 'TIME_BLANKS_SUBJECT'"
|
||||
>(时间填空题)</span
|
||||
>
|
||||
<el-radio-group
|
||||
v-if="
|
||||
item.questionType == 'MULTIPLE_CHOICE' ||
|
||||
item.questionType == 'COMBINATION_RADIO_SUBJECT' ||
|
||||
item.questionType == 'SCORING_QUESTIONS' ||
|
||||
item.questionType == 'COMBINATION_SCORING_SUBJECT'
|
||||
"
|
||||
v-model="questiondata[index]"
|
||||
class="custom-radio-group"
|
||||
disabled
|
||||
@change="radioGroupChange($event, item)"
|
||||
>
|
||||
<el-radio
|
||||
class="custom"
|
||||
v-for="(aitem, aindex) in item.questionSubjectOptionList"
|
||||
:key="aindex"
|
||||
:label="aitem.id"
|
||||
@change="radioChange($event, aitem, index)"
|
||||
>{{ aitem.optionName }}</el-radio
|
||||
>
|
||||
</el-radio-group>
|
||||
<!-- 多选、组合多选 -->
|
||||
<el-checkbox-group
|
||||
disabled
|
||||
v-model="checkeddata"
|
||||
@change="radioGroupChange($event, item, 'checkbox')"
|
||||
v-if="
|
||||
item.questionType == 'MULTIPLE_CHOICE_QUESTIONS' ||
|
||||
item.questionType == 'COMBINATION_MULTIPLE_SUBJECT'
|
||||
"
|
||||
>
|
||||
<el-checkbox
|
||||
v-for="(aitem, aindex) in item.questionSubjectOptionList"
|
||||
:key="aindex"
|
||||
:label="aitem.id"
|
||||
@change="radioChangecheck($event, aitem, index, aindex)"
|
||||
>{{ aitem.optionName }}</el-checkbox
|
||||
>
|
||||
</el-checkbox-group>
|
||||
<!-- 填空题、组合填空 -->
|
||||
<div
|
||||
v-if="
|
||||
item.questionType == 'FILL_IN_THE_BLANKS' ||
|
||||
item.questionType == 'COMBINATION_BLANKS_SUBJECT'
|
||||
"
|
||||
class="tk"
|
||||
>
|
||||
<el-input
|
||||
v-model="item.fillBlanksAnswer"
|
||||
disabled
|
||||
placeholder="请输入答案"
|
||||
type="textarea"
|
||||
/>
|
||||
<!-- <el-input></el-input> -->
|
||||
</div>
|
||||
<!-- 日期填空题、 -->
|
||||
<div
|
||||
v-if="item.questionType == 'DATE_BLANKS_SUBJECT'"
|
||||
style="margin: 20px 0 10px 30px"
|
||||
>
|
||||
<el-date-picker
|
||||
disabled
|
||||
@change="timepicker($event, index)"
|
||||
clearable
|
||||
v-model="item.fillBlanksAnswer"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="选择日期"
|
||||
>
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<!-- 时间填空题 -->
|
||||
<div
|
||||
style="margin: 20px 0 10px 30px"
|
||||
v-if="item.questionType == 'TIME_BLANKS_SUBJECT'"
|
||||
>
|
||||
<el-time-select
|
||||
disabled
|
||||
@change="timepickerselect($event, index)"
|
||||
clearable
|
||||
v-model="item.fillBlanksAnswer"
|
||||
:picker-options="{
|
||||
start: '08:30',
|
||||
step: '00:30',
|
||||
end: '23:30',
|
||||
}" placeholder="选择时间">
|
||||
</el-time-select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- </el-dialog> -->
|
||||
}"
|
||||
placeholder="选择时间"
|
||||
>
|
||||
</el-time-select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- </el-dialog> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "questionopen",
|
||||
props: ['lookitemnew'],
|
||||
data() {
|
||||
return {
|
||||
checkeddata: [],
|
||||
questiondata: {},
|
||||
// questionopen: false,
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
},
|
||||
created() {
|
||||
this.questiondata = this.lookitemnew
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
watch: {
|
||||
lookitemnew(newValue, oldValue) {
|
||||
console.log(newValue, 'newValue111')
|
||||
if (newValue) {
|
||||
this.questiondata = newValue;
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// questionopentrue() {
|
||||
// this.questionopen = true
|
||||
// },
|
||||
// 日期填空题
|
||||
timepicker(e, index) {
|
||||
this.questiondata.questionSubjectList[index].fillBlanksAnswer = e
|
||||
},
|
||||
// 复选框
|
||||
radioChangecheck(e, item, index, aindex) {
|
||||
console.log(e, item, index, '选中某个复选框时')
|
||||
if (e == true) {
|
||||
this.questiondata.questionSubjectList[index].questionSubjectOptionList[aindex].optionChooseSign = '0'
|
||||
} else {
|
||||
this.questiondata.questionSubjectList[index].questionSubjectOptionList[aindex].optionChooseSign = '1'
|
||||
}
|
||||
},
|
||||
// 时间填空题
|
||||
timepickerselect(e, index) {
|
||||
this.questiondata.questionSubjectList[index].fillBlanksAnswer = e
|
||||
},
|
||||
radioGroupChange(e, item) {
|
||||
},
|
||||
// 选中某个单选框时,由radio时触发
|
||||
radioChange(e, item, index) {
|
||||
this.questiondata.questionSubjectList[index].questionSubjectOptionList.forEach(el => {
|
||||
if (el.id == item.id) {
|
||||
el.optionChooseSign = '0'
|
||||
}
|
||||
else {
|
||||
el.optionChooseSign = '1'
|
||||
}
|
||||
})
|
||||
console.log(this.questiondata, 'this.questiondata')
|
||||
this.questiondata
|
||||
},
|
||||
// 复选框
|
||||
radioChangecheck(e, item, index, aindex) {
|
||||
if (e == true) {
|
||||
this.questiondata.questionSubjectList[index].questionSubjectOptionList[aindex].optionChooseSign = '0'
|
||||
} else {
|
||||
this.questiondata.questionSubjectList[index].questionSubjectOptionList[aindex].optionChooseSign = '1'
|
||||
}
|
||||
},
|
||||
name: "questionopen",
|
||||
props: ["lookitemnew"],
|
||||
data() {
|
||||
return {
|
||||
checkeddata: [],
|
||||
questiondata: {},
|
||||
// questionopen: false,
|
||||
};
|
||||
},
|
||||
watch: {},
|
||||
created() {
|
||||
if (this.lookitemnew) {
|
||||
this.questiondata = this.lookitemnew;
|
||||
}
|
||||
},
|
||||
mounted() {},
|
||||
watch: {
|
||||
lookitemnew(newValue, oldValue) {
|
||||
console.log(newValue, "newValue111");
|
||||
if (newValue) {
|
||||
this.questiondata = newValue;
|
||||
}
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
// questionopentrue() {
|
||||
// this.questionopen = true
|
||||
// },
|
||||
// 日期填空题
|
||||
timepicker(e, index) {
|
||||
this.questiondata.questionSubjectList[index].fillBlanksAnswer = e;
|
||||
},
|
||||
// 复选框
|
||||
radioChangecheck(e, item, index, aindex) {
|
||||
console.log(e, item, index, "选中某个复选框时");
|
||||
if (e == true) {
|
||||
this.questiondata.questionSubjectList[index].questionSubjectOptionList[
|
||||
aindex
|
||||
].optionChooseSign = "0";
|
||||
} else {
|
||||
this.questiondata.questionSubjectList[index].questionSubjectOptionList[
|
||||
aindex
|
||||
].optionChooseSign = "1";
|
||||
}
|
||||
},
|
||||
// 时间填空题
|
||||
timepickerselect(e, index) {
|
||||
this.questiondata.questionSubjectList[index].fillBlanksAnswer = e;
|
||||
},
|
||||
radioGroupChange(e, item) {},
|
||||
// 选中某个单选框时,由radio时触发
|
||||
radioChange(e, item, index) {
|
||||
this.questiondata.questionSubjectList[
|
||||
index
|
||||
].questionSubjectOptionList.forEach((el) => {
|
||||
if (el.id == item.id) {
|
||||
el.optionChooseSign = "0";
|
||||
} else {
|
||||
el.optionChooseSign = "1";
|
||||
}
|
||||
});
|
||||
console.log(this.questiondata, "this.questiondata");
|
||||
this.questiondata;
|
||||
},
|
||||
// 复选框
|
||||
radioChangecheck(e, item, index, aindex) {
|
||||
if (e == true) {
|
||||
this.questiondata.questionSubjectList[index].questionSubjectOptionList[
|
||||
aindex
|
||||
].optionChooseSign = "0";
|
||||
} else {
|
||||
this.questiondata.questionSubjectList[index].questionSubjectOptionList[
|
||||
aindex
|
||||
].optionChooseSign = "1";
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.app-container {
|
||||
height: 100% !important;
|
||||
height: 100% !important;
|
||||
}
|
||||
|
||||
::v-deep .el-input .is-disabled .el-input__inner {
|
||||
background: #fff !important;
|
||||
color: #606266;
|
||||
background: #fff !important;
|
||||
color: #606266;
|
||||
}
|
||||
|
||||
::v-deep .el-textarea .is-disabled .el-textarea__inner {
|
||||
color: #606266;
|
||||
background: #fff;
|
||||
color: #606266;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
::v-deep .el-radio__input.is-disabled+span.el-radio__label {
|
||||
color: black;
|
||||
background: #fff;
|
||||
cursor: default;
|
||||
::v-deep .el-radio__input.is-disabled + span.el-radio__label {
|
||||
color: black;
|
||||
background: #fff;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.tk {
|
||||
::v-deep .el-textarea__inner {
|
||||
margin: 20px 0 10px 10px;
|
||||
}
|
||||
::v-deep .el-textarea__inner {
|
||||
margin: 20px 0 10px 10px;
|
||||
}
|
||||
}
|
||||
|
||||
::v-deep .el-radio {
|
||||
padding: 10px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
::v-deep .el-checkbox-group {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 10px 0px 10px 24px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 10px 0px 10px 24px;
|
||||
}
|
||||
|
||||
::v-deep .el-checkbox {
|
||||
padding: 10px 0 10px 0px;
|
||||
// padding: 10px;
|
||||
padding: 10px 0 10px 0px;
|
||||
// padding: 10px;
|
||||
}
|
||||
|
||||
.custom-radio-group {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 10px 0 10px 10px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 10px 0 10px 10px;
|
||||
|
||||
.custom {
|
||||
padding: 10px 0 10px 10px;
|
||||
}
|
||||
.custom {
|
||||
padding: 10px 0 10px 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.bodytop {
|
||||
position: relative;
|
||||
top: 20px;
|
||||
// height: 500px;
|
||||
width: 400px;
|
||||
margin: 0 auto;
|
||||
// background: red;f
|
||||
overflow: auto;
|
||||
border: 1px solid #e2e2e2;
|
||||
position: relative;
|
||||
top: 20px;
|
||||
// height: 500px;
|
||||
width: 400px;
|
||||
margin: 0 auto;
|
||||
// background: red;f
|
||||
overflow: auto;
|
||||
border: 1px solid #e2e2e2;
|
||||
|
||||
.titledata {
|
||||
margin: 30px 0px 15px 30px;
|
||||
top: 14px;
|
||||
font-size: 20px;
|
||||
}
|
||||
.titledata {
|
||||
margin: 30px 0px 15px 30px;
|
||||
top: 14px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.audiotop {
|
||||
margin: 10px 0px 10px 30px;
|
||||
}
|
||||
.audiotop {
|
||||
margin: 10px 0px 10px 30px;
|
||||
}
|
||||
|
||||
img {
|
||||
// width: 362px;
|
||||
// height: 127px;
|
||||
margin: 0px 0px 0px 30px;
|
||||
}
|
||||
img {
|
||||
// width: 362px;
|
||||
// height: 127px;
|
||||
margin: 0px 0px 0px 30px;
|
||||
}
|
||||
|
||||
.know {
|
||||
margin: 11px 0px 10px 30px;
|
||||
font-size: 20px;
|
||||
font-weight: 550;
|
||||
}
|
||||
.know {
|
||||
margin: 11px 0px 10px 30px;
|
||||
font-size: 20px;
|
||||
font-weight: 550;
|
||||
}
|
||||
|
||||
.knowlist {
|
||||
margin: 10px 0px 10px 30px;
|
||||
font-size: 16px;
|
||||
}
|
||||
.knowlist {
|
||||
margin: 10px 0px 10px 30px;
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.right {
|
||||
width: 100%;
|
||||
height: 500px;
|
||||
// background: yellow;
|
||||
width: 100%;
|
||||
height: 500px;
|
||||
// background: yellow;
|
||||
}
|
||||
|
||||
.header {
|
||||
background-color: #f1f3f5;
|
||||
padding-top: 10px;
|
||||
background-color: #f1f3f5;
|
||||
padding-top: 10px;
|
||||
|
||||
::v-deep .el-tabs__header {
|
||||
margin: 0 !important;
|
||||
::v-deep .el-tabs__header {
|
||||
margin: 0 !important;
|
||||
width: 100%;
|
||||
// overflow: auto;
|
||||
// height: 500px;
|
||||
// background: red;
|
||||
}
|
||||
|
||||
.bottomheader {
|
||||
overflow: auto;
|
||||
width: 99%;
|
||||
background-color: #fff;
|
||||
margin: 10px auto;
|
||||
padding: 10px 20px;
|
||||
|
||||
.sport {
|
||||
padding: 10px 50px 10px 10px;
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.words {
|
||||
font-size: 15px;
|
||||
padding: 10px 50px 10px 10px;
|
||||
}
|
||||
|
||||
.sports {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translate(-50%);
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.word {
|
||||
font-size: 14px;
|
||||
font-weight: 550;
|
||||
padding: 50px 50px 10px 10px;
|
||||
}
|
||||
|
||||
.videoleft {
|
||||
width: 40%;
|
||||
height: 200px;
|
||||
background: red;
|
||||
}
|
||||
|
||||
.time {
|
||||
font-size: 20px;
|
||||
font-weight: 550;
|
||||
padding: 10px 50px 10px 10px;
|
||||
}
|
||||
|
||||
.number {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
color: white;
|
||||
background: blue;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.nexttime {
|
||||
font-size: 15px;
|
||||
padding: 10px 50px 10px 10px;
|
||||
}
|
||||
|
||||
.images {
|
||||
width: 53%;
|
||||
height: 241px;
|
||||
margin: 0 auto;
|
||||
background: red;
|
||||
}
|
||||
|
||||
.attention {
|
||||
font-size: 14px;
|
||||
font-weight: 550;
|
||||
padding: 10px 50px 10px 10px;
|
||||
}
|
||||
|
||||
// .videobottom
|
||||
// {
|
||||
// font-size: 14px;
|
||||
// font-weight: 550;
|
||||
// padding: 10px 50px 10px 10px;
|
||||
// }
|
||||
}
|
||||
|
||||
.topheader {
|
||||
width: 99%;
|
||||
background-color: #fff;
|
||||
margin: 0 auto;
|
||||
|
||||
.information {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
padding: 10px 20px;
|
||||
height: 110px;
|
||||
|
||||
.top,
|
||||
.bottom {
|
||||
color: #666666;
|
||||
width: 100%;
|
||||
// overflow: auto;
|
||||
// height: 500px;
|
||||
// background: red;
|
||||
display: flex;
|
||||
|
||||
div {
|
||||
width: 25%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.bottomheader {
|
||||
overflow: auto;
|
||||
width: 99%;
|
||||
background-color: #fff;
|
||||
margin: 10px auto;
|
||||
padding: 10px 20px;
|
||||
.user {
|
||||
width: 100%;
|
||||
padding: 0 20px;
|
||||
display: flex;
|
||||
height: 80px;
|
||||
align-items: center;
|
||||
line-height: 80px;
|
||||
|
||||
.sport {
|
||||
padding: 10px 50px 10px 10px;
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
.source {
|
||||
display: flex;
|
||||
position: relative;
|
||||
right: 59px;
|
||||
position: absolute;
|
||||
|
||||
.item {
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.words {
|
||||
font-size: 15px;
|
||||
padding: 10px 50px 10px 10px;
|
||||
}
|
||||
.name {
|
||||
font-size: 20px;
|
||||
padding-left: 12px;
|
||||
}
|
||||
|
||||
.sports {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translate(-50%);
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.gender {
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.word {
|
||||
font-size: 14px;
|
||||
font-weight: 550;
|
||||
padding: 50px 50px 10px 10px;
|
||||
}
|
||||
.age {
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.videoleft {
|
||||
width: 40%;
|
||||
height: 200px;
|
||||
background: red;
|
||||
}
|
||||
|
||||
.time {
|
||||
font-size: 20px;
|
||||
font-weight: 550;
|
||||
padding: 10px 50px 10px 10px;
|
||||
}
|
||||
|
||||
.number {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
color: white;
|
||||
background: blue;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.nexttime {
|
||||
font-size: 15px;
|
||||
padding: 10px 50px 10px 10px;
|
||||
}
|
||||
|
||||
.images {
|
||||
width: 53%;
|
||||
height: 241px;
|
||||
margin: 0 auto;
|
||||
background: red;
|
||||
}
|
||||
|
||||
.attention {
|
||||
font-size: 14px;
|
||||
font-weight: 550;
|
||||
padding: 10px 50px 10px 10px;
|
||||
}
|
||||
|
||||
// .videobottom
|
||||
// {
|
||||
// font-size: 14px;
|
||||
// font-weight: 550;
|
||||
// padding: 10px 50px 10px 10px;
|
||||
// }
|
||||
}
|
||||
|
||||
.topheader {
|
||||
width: 99%;
|
||||
background-color: #fff;
|
||||
margin: 0 auto;
|
||||
|
||||
.information {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
padding: 10px 20px;
|
||||
height: 110px;
|
||||
|
||||
.top,
|
||||
.bottom {
|
||||
color: #666666;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
|
||||
div {
|
||||
width: 25%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.user {
|
||||
width: 100%;
|
||||
padding: 0 20px;
|
||||
display: flex;
|
||||
height: 80px;
|
||||
align-items: center;
|
||||
line-height: 80px;
|
||||
|
||||
.source {
|
||||
display: flex;
|
||||
position: relative;
|
||||
right: 59px;
|
||||
position: absolute;
|
||||
|
||||
.item {
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.name {
|
||||
font-size: 20px;
|
||||
padding-left: 12px;
|
||||
}
|
||||
|
||||
.gender {
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.age {
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.headsculpture {
|
||||
border-radius: 50%;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
}
|
||||
.headsculpture {
|
||||
border-radius: 50%;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -2,39 +2,61 @@
|
||||
<div class="header">
|
||||
<div class="topheader">
|
||||
<div class="user">
|
||||
<img class="headsculpture" src="../../../assets/manage/touxiang.png" alt="" v-if="$route.query.sex == 'MALE'">
|
||||
<img class="headsculpture" src="../../../assets/manage/nvtouxiang.png" alt=""
|
||||
v-if="$route.query.sex == 'FEMALE'">
|
||||
<img
|
||||
class="headsculpture"
|
||||
src="../../../assets/manage/touxiang.png"
|
||||
alt=""
|
||||
v-if="$route.query.sex == 'MALE'"
|
||||
/>
|
||||
<img
|
||||
class="headsculpture"
|
||||
src="../../../assets/manage/nvtouxiang.png"
|
||||
alt=""
|
||||
v-if="$route.query.sex == 'FEMALE'"
|
||||
/>
|
||||
<div class="name">
|
||||
{{ $route.query.patientName }}
|
||||
</div>
|
||||
<div class="gender">
|
||||
{{ $route.query.sex == 'MALE' ? '男' : $route.query.sex == 'FEMALE' ? '女' : '' }}
|
||||
{{
|
||||
$route.query.sex == "MALE"
|
||||
? "男"
|
||||
: $route.query.sex == "FEMALE"
|
||||
? "女"
|
||||
: ""
|
||||
}}
|
||||
</div>
|
||||
<div class="age">
|
||||
{{ $route.query.age }}
|
||||
</div>
|
||||
<div class="source">
|
||||
<div class="item" style="color:#00E06E;border-color:#00E06E"
|
||||
v-if="$route.query.patientSource == 'WE_CHAT_OFFICIAL_ACCOUNT'">
|
||||
<img src="../../../assets/manage/gzh.png" alt="" style="width:24px">
|
||||
<div>
|
||||
公众号
|
||||
</div>
|
||||
<div
|
||||
class="item"
|
||||
style="color: #00e06e; border-color: #00e06e"
|
||||
v-if="$route.query.patientSource == 'WE_CHAT_OFFICIAL_ACCOUNT'"
|
||||
>
|
||||
<img
|
||||
src="../../../assets/manage/gzh.png"
|
||||
alt=""
|
||||
style="width: 24px"
|
||||
/>
|
||||
<div>公众号</div>
|
||||
</div>
|
||||
<div class="item" style="color:#339DE5;border-color:#339DE5"
|
||||
v-if="$route.query.patientSource == 'WE_CHAT_APPLET'">
|
||||
<img src="../../../assets/manage/xcx.png" alt="">
|
||||
<div>
|
||||
小程序
|
||||
</div>
|
||||
<div
|
||||
class="item"
|
||||
style="color: #339de5; border-color: #339de5"
|
||||
v-if="$route.query.patientSource == 'WE_CHAT_APPLET'"
|
||||
>
|
||||
<img src="../../../assets/manage/xcx.png" alt="" />
|
||||
<div>小程序</div>
|
||||
</div>
|
||||
<div class="item" style="color:#F4881F;border-color:#F4881F"
|
||||
v-if="$route.query.patientSource == 'MANAGE_END'">
|
||||
<img src="../../../assets/manage/gld.png" alt="">
|
||||
<div>
|
||||
管理端
|
||||
</div>
|
||||
<div
|
||||
class="item"
|
||||
style="color: #f4881f; border-color: #f4881f"
|
||||
v-if="$route.query.patientSource == 'MANAGE_END'"
|
||||
>
|
||||
<img src="../../../assets/manage/gld.png" alt="" />
|
||||
<div>管理端</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -42,28 +64,44 @@
|
||||
<div class="top">
|
||||
<div>身份证号:{{ $route.query.cardNo }}</div>
|
||||
<div>患者电话:{{ $route.query.patientPhone }}</div>
|
||||
<div style="width: 50%;">出生日期:{{ $route.query.birthDate }}</div>
|
||||
<div style="width: 50%">出生日期:{{ $route.query.birthDate }}</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div>注册时间:{{ $route.query.createTime }}</div>
|
||||
<div>家属电话:{{ $route.query.familyMemberPhone }}</div>
|
||||
<div style="width: 50%;">住址:{{ $route.query.address }}</div>
|
||||
<div style="width: 50%">住址:{{ $route.query.address }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="selectitem" v-if="activeName == 'second'">
|
||||
<el-select v-model="value" placeholder="请选择" @change="changeitem">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.id"
|
||||
:label="item.signRouteName"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="bottomheader">
|
||||
<el-tabs v-model="activeName">
|
||||
<el-tab-pane label="就诊记录" name="first">
|
||||
<visitRecords></visitRecords>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="康复计划及记录" name="second">
|
||||
<RehabilitationPlanandRecords v-if="activeName == 'second'"></RehabilitationPlanandRecords>
|
||||
<RehabilitationPlanandRecords
|
||||
v-if="activeName == 'second'"
|
||||
:signPatientRecordld="signPatientRecordld"
|
||||
></RehabilitationPlanandRecords>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="健康宣教" name="third">
|
||||
<healthEducation v-if="activeName == 'third'"></healthEducation>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="指标监测" name="fourth">
|
||||
<indicatorMonitoring v-if="activeName == 'fourth'"></indicatorMonitoring>
|
||||
<indicatorMonitoring
|
||||
v-if="activeName == 'fourth'"
|
||||
></indicatorMonitoring>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="签约记录" name="five">
|
||||
<signingRecords v-if="activeName == 'five'"></signingRecords>
|
||||
@ -74,11 +112,13 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
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';
|
||||
import { getRecordLists } from "@/api/manage/signingRecords";
|
||||
|
||||
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: {
|
||||
//就诊记录
|
||||
@ -90,23 +130,55 @@ export default {
|
||||
// 签约记录
|
||||
signingRecords,
|
||||
//康复计划
|
||||
RehabilitationPlanandRecords
|
||||
RehabilitationPlanandRecords,
|
||||
},
|
||||
name: "patientdetails",
|
||||
data() {
|
||||
return {
|
||||
activeName: 'first'
|
||||
options: [],
|
||||
value: "",
|
||||
activeName: "first",
|
||||
signPatientRecordld: "",
|
||||
};
|
||||
},
|
||||
created() {
|
||||
console.log(1111111111);
|
||||
// if(this.activeName == 'second'){
|
||||
this.info();
|
||||
|
||||
// }
|
||||
},
|
||||
methods: {
|
||||
}
|
||||
changeitem(e) {
|
||||
console.log(e, "e");
|
||||
this.signPatientRecordld = e;
|
||||
},
|
||||
info() {
|
||||
getRecordLists(this.$route.query.patientId).then((res) => {
|
||||
console.log(res, "res");
|
||||
this.options = res.data;
|
||||
this.value = res.data[0].signRouteName;
|
||||
this.signPatientRecordld = res.data[0].id;
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
::v-deep.el-tabs__nav-scroll {
|
||||
overflow: hidden;
|
||||
width: 600px;
|
||||
}
|
||||
.selectitem {
|
||||
display: inline-block;
|
||||
width: 220px;
|
||||
position: absolute;
|
||||
right: 20px;
|
||||
z-index: 999;
|
||||
line-height: 65px;
|
||||
}
|
||||
.header {
|
||||
background-color: #F1F3F5;
|
||||
background-color: #f1f3f5;
|
||||
padding-top: 10px;
|
||||
|
||||
::v-deep .el-tabs__header {
|
||||
@ -125,7 +197,6 @@ export default {
|
||||
background-color: #fff;
|
||||
margin: 0 auto;
|
||||
|
||||
|
||||
.information {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
@ -160,7 +231,7 @@ export default {
|
||||
line-height: 30px;
|
||||
font-size: 14px;
|
||||
margin-left: 20px;
|
||||
border: 1px solid #C7C7C7;
|
||||
border: 1px solid #c7c7c7;
|
||||
width: 100px;
|
||||
border-radius: 5px;
|
||||
justify-content: center;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user