修改专家节点预览
This commit is contained in:
parent
4080453b74
commit
9d488e80a4
@ -1,183 +1,275 @@
|
||||
<template>
|
||||
<div style="background-color:#F1F3F5">
|
||||
<div slot="footer" style="float: right;padding:10px 10px 0 0;height:35px">
|
||||
<el-button size="mini" @click="cancel">取 消</el-button>
|
||||
<el-button size="mini" type="primary" @click="auditing">审核通过</el-button>
|
||||
<el-button size="mini" type="info" @click="ignore">忽略</el-button>
|
||||
<div style="background-color: #f1f3f5">
|
||||
<div
|
||||
slot="footer"
|
||||
style="float: right; padding: 10px 10px 0 0; height: 35px"
|
||||
>
|
||||
<el-button size="mini" @click="cancel">取 消</el-button>
|
||||
<el-button size="mini" type="primary" @click="auditing"
|
||||
>审核通过</el-button
|
||||
>
|
||||
<el-button size="mini" type="info" @click="ignore">忽略</el-button>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="cardleft">
|
||||
<div class="title">
|
||||
<div style="display: flex; align-items: center">
|
||||
<img
|
||||
class="headsculpture"
|
||||
v-if="list.sex == 'MALE'"
|
||||
src="../../../assets/manage/touxiang.png"
|
||||
/>
|
||||
<img
|
||||
class="headsculpture"
|
||||
v-else
|
||||
src="../../../assets/manage/nvtouxiang.png"
|
||||
/>
|
||||
<div class="name">
|
||||
{{ list.patientName ? list.patientName : "" }}
|
||||
</div>
|
||||
<div class="genderandage">
|
||||
<span>
|
||||
{{ list.sex == "MALE" ? "男" : "" }}
|
||||
{{ list.sex == "FEMALE" ? "女" : "" }}
|
||||
</span>
|
||||
<span v-if="list.sex && list.age" style="padding: 0 6px">|</span>
|
||||
<span v-if="list.age">{{ list.age }}岁</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="source">
|
||||
<div class="situation item">
|
||||
{{ list.visitMethod == "OUTPATIENT_SERVICE" ? "门诊" : "" }}
|
||||
{{ list.visitMethod == "BE_IN_HOSPITAL" ? "住院" : "" }}
|
||||
</div>
|
||||
<div
|
||||
class="item"
|
||||
style="color: #00e06e; border-color: #00e06e"
|
||||
v-if="list.patientSource == 'WE_CHAT_OFFICIAL_ACCOUNT'"
|
||||
>
|
||||
<img src="../../../assets/manage/gzh.png" alt="" />
|
||||
<div>公众号</div>
|
||||
</div>
|
||||
<div
|
||||
class="item"
|
||||
style="color: #339de5; border-color: #339de5"
|
||||
v-if="list.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="list.patientSource == 'MANAGE_END'"
|
||||
>
|
||||
<img src="../../../assets/manage/gld.png" alt="" />
|
||||
<div>管理端</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="cardleft">
|
||||
<div class="title">
|
||||
<div style="display: flex;align-items:center">
|
||||
<img class="headsculpture" v-if="list.sex == 'MALE'" src="../../../assets/manage/touxiang.png">
|
||||
<img class="headsculpture" v-else src="../../../assets/manage/nvtouxiang.png">
|
||||
<div class="name">
|
||||
{{ list.patientName ? list.patientName : '' }}
|
||||
</div>
|
||||
<div class="genderandage">
|
||||
<span> {{ list.sex == 'MALE' ? "男" : '' }}
|
||||
{{ list.sex == 'FEMALE' ? "女" : '' }}
|
||||
</span>
|
||||
<span v-if="list.sex && list.age" style="padding: 0 6px;">|</span>
|
||||
<span v-if="list.age">{{ list.age }}岁</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="source">
|
||||
<div class="situation item">
|
||||
{{ list.visitMethod == 'OUTPATIENT_SERVICE' ? '门诊' : '' }}
|
||||
{{ list.visitMethod == 'BE_IN_HOSPITAL' ? '住院' : '' }}
|
||||
</div>
|
||||
<div class="item" style="color:#00E06E;border-color:#00E06E"
|
||||
v-if="list.patientSource == 'WE_CHAT_OFFICIAL_ACCOUNT'">
|
||||
<img src="../../../assets/manage/gzh.png" alt="">
|
||||
<div>
|
||||
公众号
|
||||
</div>
|
||||
</div>
|
||||
<div class="item" style="color:#339DE5;border-color:#339DE5"
|
||||
v-if="list.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="list.patientSource == 'MANAGE_END'">
|
||||
<img src="../../../assets/manage/gld.png" alt="">
|
||||
<div>
|
||||
管理端
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="texts">
|
||||
<div class="text">
|
||||
医院: {{ list.hospitalAgencyName ? list.hospitalAgencyName : '' }}
|
||||
</div>
|
||||
<div class="text">
|
||||
科室: {{ list.departmentName ? list.departmentName : '' }}
|
||||
</div>
|
||||
<div class="text" v-if="list.visitMethod == 'BE_IN_HOSPITAL'">
|
||||
入院时间: {{ list.admissionTime }}
|
||||
</div>
|
||||
<div class="text" v-if="list.visitMethod == 'BE_IN_HOSPITAL'">
|
||||
出院时间: {{ list.dischargeTime }}
|
||||
</div>
|
||||
<div class="text" v-if="list.visitMethod == 'OUTPATIENT_SERVICE'">
|
||||
就诊时间: {{ list.dischargeTime }}
|
||||
</div>
|
||||
</div>
|
||||
<el-descriptions title="诊断信息" style="margin:16px auto">
|
||||
<el-descriptions-item label="主要诊断">{{ list.mainDiagnosis }}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<el-descriptions title="手术信息" style="margin:16px auto;border-top: 1px solid #e6ebf5;"
|
||||
v-if="list.visitMethod != 'OUTPATIENT_SERVICE'">
|
||||
<el-descriptions-item label="手术名称">{{ list.surgicalName }}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<el-collapse v-model="activeNames">
|
||||
<el-collapse-item title="入院记录" name="-1">
|
||||
<div v-html="list.inHospitalInfo"></div>
|
||||
</el-collapse-item>
|
||||
<el-collapse-item title="手术记录" name="-2" v-if="list.visitMethod != 'OUTPATIENT_SERVICE'">
|
||||
<div v-html="list.surgicalRecord"></div>
|
||||
</el-collapse-item>
|
||||
<el-collapse-item title="出院记录" name="-3" v-if="list.visitMethod != 'OUTPATIENT_SERVICE'">
|
||||
<div v-html="list.outHospitalInfo"></div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</div>
|
||||
<div class="cardright">
|
||||
<div class="text" style="font-size: 20px;"> 任务:</div>
|
||||
<div v-for="item in nodelist" :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 class="texts">
|
||||
<div class="text">
|
||||
医院: {{ list.hospitalAgencyName ? list.hospitalAgencyName : "" }}
|
||||
</div>
|
||||
<div class="text">
|
||||
科室: {{ list.departmentName ? list.departmentName : "" }}
|
||||
</div>
|
||||
<div class="text" v-if="list.visitMethod == 'BE_IN_HOSPITAL'">
|
||||
入院时间: {{ list.admissionTime }}
|
||||
</div>
|
||||
<div class="text" v-if="list.visitMethod == 'BE_IN_HOSPITAL'">
|
||||
出院时间: {{ list.dischargeTime }}
|
||||
</div>
|
||||
<div class="text" v-if="list.visitMethod == 'OUTPATIENT_SERVICE'">
|
||||
就诊时间: {{ list.dischargeTime }}
|
||||
</div>
|
||||
</div>
|
||||
<!-- 话术预览弹框 -->
|
||||
<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>
|
||||
<el-descriptions title="诊断信息" style="margin: 16px auto">
|
||||
<el-descriptions-item label="主要诊断">{{
|
||||
list.mainDiagnosis
|
||||
}}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<el-descriptions
|
||||
title="手术信息"
|
||||
style="margin: 16px auto; border-top: 1px solid #e6ebf5"
|
||||
v-if="list.visitMethod != 'OUTPATIENT_SERVICE'"
|
||||
>
|
||||
<el-descriptions-item label="手术名称">{{
|
||||
list.surgicalName
|
||||
}}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<el-collapse v-model="activeNames">
|
||||
<el-collapse-item title="入院记录" name="-1">
|
||||
<div v-html="list.inHospitalInfo"></div>
|
||||
</el-collapse-item>
|
||||
<el-collapse-item
|
||||
title="手术记录"
|
||||
name="-2"
|
||||
v-if="list.visitMethod != 'OUTPATIENT_SERVICE'"
|
||||
>
|
||||
<div v-html="list.surgicalRecord"></div>
|
||||
</el-collapse-item>
|
||||
<el-collapse-item
|
||||
title="出院记录"
|
||||
name="-3"
|
||||
v-if="list.visitMethod != 'OUTPATIENT_SERVICE'"
|
||||
>
|
||||
<div v-html="list.outHospitalInfo"></div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</div>
|
||||
<div class="cardright">
|
||||
<div class="text" style="font-size: 20px">任务:</div>
|
||||
<div
|
||||
v-for="item in nodelist"
|
||||
: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>
|
||||
</el-dialog>
|
||||
<!-- 问卷预览弹框 -->
|
||||
<questionopen ref="question" :lookitem="lookitem"></questionopen>
|
||||
<!-- <el-dialog title="问卷预览" :visible.sync="questionopen" width="30%" :before-close="openfalse">
|
||||
</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-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">
|
||||
<Editorxj v-model="lookitem.propagandaContent" :min-height="192" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 问卷预览弹框 -->
|
||||
<questionopen ref="question" :lookitem="lookitem"></questionopen>
|
||||
<!-- <el-dialog title="问卷预览" :visible.sync="questionopen" width="30%" :before-close="openfalse">
|
||||
<div class="titletop">文章模板:{{ lookitem.propagandaTitle }}</div>
|
||||
<div class="bodytop">
|
||||
<div class="titledata">{{ lookitem.propagandaTitle }}</div>
|
||||
@ -190,285 +282,287 @@
|
||||
</div>
|
||||
</div>
|
||||
</el-dialog> -->
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
getRouteNodeList,
|
||||
getByPatientId,
|
||||
audit
|
||||
getRouteNodeList,
|
||||
getByPatientId,
|
||||
audit
|
||||
} from '@/api/manage/Auditing.js'
|
||||
import { getAge } from "@/utils/age";
|
||||
import questionopen from '../components/questionopen.vue';
|
||||
import Editorxj from "../../system/Editorxj/index.vue";
|
||||
export default {
|
||||
components: {
|
||||
questionopen,
|
||||
components: {
|
||||
questionopen,
|
||||
Editorxj
|
||||
},
|
||||
name: "Auditing",
|
||||
data() {
|
||||
return {
|
||||
baseUrl: process.env.VUE_APP_BASE_API,
|
||||
activeNames: ['-1', '-2', '-3'],
|
||||
list: {},
|
||||
nodelist: [],
|
||||
lookitem: {},
|
||||
phoneopen: false,
|
||||
propagandaopen: false,
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.info();
|
||||
},
|
||||
methods: {
|
||||
//查看宣教模板
|
||||
lookpropaganda(item) {
|
||||
this.lookitem = item.detailInfo
|
||||
this.propagandaopen = true
|
||||
},
|
||||
name: "Auditing",
|
||||
data() {
|
||||
return {
|
||||
baseUrl: process.env.VUE_APP_BASE_API,
|
||||
activeNames: ['-1', '-2', '-3'],
|
||||
list: {},
|
||||
nodelist: [],
|
||||
lookitem: {},
|
||||
phoneopen: false,
|
||||
propagandaopen: false,
|
||||
};
|
||||
//查看话术模板
|
||||
lookphone(item) {
|
||||
this.lookitem = item.detailInfo
|
||||
this.phoneopen = true
|
||||
},
|
||||
created() {
|
||||
this.info();
|
||||
//查看问卷模板
|
||||
lookquestion(item) {
|
||||
this.lookitem = item.detailInfo
|
||||
this.$refs.question.questionopentrue()
|
||||
},
|
||||
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 = {}
|
||||
},
|
||||
// 忽略
|
||||
ignore() {
|
||||
let manageRouteNodeIds = []
|
||||
this.nodelist.map(e => {
|
||||
manageRouteNodeIds = [...manageRouteNodeIds, ...e.nodeList.map(el => el.id)]
|
||||
})
|
||||
this.$prompt('请输入忽略备注信息?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
}).then(({ value }) => {
|
||||
let obj = {
|
||||
routeCheckPerson: JSON.parse(localStorage.getItem('user')).nickName,
|
||||
routeCheckRemark: value,
|
||||
routeCheckStatus: 'DISAGREE',
|
||||
manageRouteNodeIds: manageRouteNodeIds
|
||||
}
|
||||
audit(obj).then(res => {
|
||||
this.$notify({
|
||||
type: 'success',
|
||||
title: '提示',
|
||||
message: '已忽略,即将返回上一页',
|
||||
duration: 3000
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.$store.dispatch('tagsView/delView', this.$route).then(({ visitedViews }) => {
|
||||
this.$router.push({
|
||||
path: "/task/manualReview",
|
||||
});
|
||||
})
|
||||
}, 3000);
|
||||
})
|
||||
})
|
||||
},
|
||||
//审核
|
||||
auditing() {
|
||||
let manageRouteNodeIds = []
|
||||
this.nodelist.map(e => {
|
||||
manageRouteNodeIds = [...manageRouteNodeIds, ...e.nodeList.map(el => el.id)]
|
||||
})
|
||||
this.$prompt('请输入审核备注信息?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
}).then(({ value }) => {
|
||||
let obj = {
|
||||
routeCheckPerson: JSON.parse(localStorage.getItem('user')).nickName,
|
||||
routeCheckRemark: value,
|
||||
routeCheckStatus: 'AGREE',
|
||||
manageRouteNodeIds: manageRouteNodeIds
|
||||
}
|
||||
audit(obj).then(res => {
|
||||
this.$notify({
|
||||
type: 'success',
|
||||
title: '提示',
|
||||
message: '审核通过,即将返回上一页',
|
||||
duration: 3000
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.$store.dispatch('tagsView/delView', this.$route).then(({ visitedViews }) => {
|
||||
this.$router.push({
|
||||
path: "/task/manualReview",
|
||||
});
|
||||
})
|
||||
}, 3000);
|
||||
})
|
||||
})
|
||||
},
|
||||
info() {
|
||||
getByPatientId(this.$route.query.patientId).then(res => {
|
||||
res.data.birthDate ? res.data.age = getAge(res.data.birthDate) : ''
|
||||
this.list = res.data
|
||||
})
|
||||
getRouteNodeList({ patientId: this.$route.query.patientId, taskCreateType: 'MANUAL_CREATE', routeCheckStatus: "UNAUDITED" }).then(res => {
|
||||
this.nodelist = res.data
|
||||
})
|
||||
},
|
||||
cancel() {
|
||||
//关闭预览
|
||||
openfalse() {
|
||||
this.phoneopen = false
|
||||
this.propagandaopen = false
|
||||
this.lookitem = {}
|
||||
},
|
||||
// 忽略
|
||||
ignore() {
|
||||
let manageRouteNodeIds = []
|
||||
this.nodelist.map(e => {
|
||||
manageRouteNodeIds = [...manageRouteNodeIds, ...e.nodeList.map(el => el.id)]
|
||||
})
|
||||
this.$prompt('请输入忽略备注信息?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
}).then(({ value }) => {
|
||||
let obj = {
|
||||
routeCheckPerson: JSON.parse(localStorage.getItem('user')).nickName,
|
||||
routeCheckRemark: value,
|
||||
routeCheckStatus: 'DISAGREE',
|
||||
manageRouteNodeIds: manageRouteNodeIds
|
||||
}
|
||||
audit(obj).then(res => {
|
||||
this.$notify({
|
||||
type: 'success',
|
||||
title: '提示',
|
||||
message: '已忽略,即将返回上一页',
|
||||
duration: 3000
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.$store.dispatch('tagsView/delView', this.$route).then(({ visitedViews }) => {
|
||||
this.$router.push({
|
||||
path: "/task/manualReview",
|
||||
});
|
||||
this.$router.push({
|
||||
path: "/task/manualReview",
|
||||
});
|
||||
})
|
||||
},
|
||||
}
|
||||
}, 3000);
|
||||
})
|
||||
})
|
||||
},
|
||||
//审核
|
||||
auditing() {
|
||||
let manageRouteNodeIds = []
|
||||
this.nodelist.map(e => {
|
||||
manageRouteNodeIds = [...manageRouteNodeIds, ...e.nodeList.map(el => el.id)]
|
||||
})
|
||||
this.$prompt('请输入审核备注信息?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
}).then(({ value }) => {
|
||||
let obj = {
|
||||
routeCheckPerson: JSON.parse(localStorage.getItem('user')).nickName,
|
||||
routeCheckRemark: value,
|
||||
routeCheckStatus: 'AGREE',
|
||||
manageRouteNodeIds: manageRouteNodeIds
|
||||
}
|
||||
audit(obj).then(res => {
|
||||
this.$notify({
|
||||
type: 'success',
|
||||
title: '提示',
|
||||
message: '审核通过,即将返回上一页',
|
||||
duration: 3000
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.$store.dispatch('tagsView/delView', this.$route).then(({ visitedViews }) => {
|
||||
this.$router.push({
|
||||
path: "/task/manualReview",
|
||||
});
|
||||
})
|
||||
}, 3000);
|
||||
})
|
||||
})
|
||||
},
|
||||
info() {
|
||||
getByPatientId(this.$route.query.patientId).then(res => {
|
||||
res.data.birthDate ? res.data.age = getAge(res.data.birthDate) : ''
|
||||
this.list = res.data
|
||||
})
|
||||
getRouteNodeList({ patientId: this.$route.query.patientId, taskCreateType: 'MANUAL_CREATE', routeCheckStatus: "UNAUDITED" }).then(res => {
|
||||
this.nodelist = res.data
|
||||
})
|
||||
},
|
||||
cancel() {
|
||||
this.$store.dispatch('tagsView/delView', this.$route).then(({ visitedViews }) => {
|
||||
this.$router.push({
|
||||
path: "/task/manualReview",
|
||||
});
|
||||
})
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
::v-deep .el-collapse-item__header {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.texts {
|
||||
margin: 16px 0 20px;
|
||||
flex-wrap: wrap;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
font-size: 14px;
|
||||
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;
|
||||
}
|
||||
.text {
|
||||
margin-bottom: 10px;
|
||||
width: 50%;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
-o-text-overflow: ellipsis;
|
||||
}
|
||||
}
|
||||
|
||||
.card {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
padding: 20px 0;
|
||||
height: calc(100vh - 119px);
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
padding: 20px 0;
|
||||
height: calc(100vh - 119px);
|
||||
|
||||
.cardleft {
|
||||
width: 35%;
|
||||
background-color: #fff;
|
||||
overflow: scroll;
|
||||
padding: 20px;
|
||||
.cardleft {
|
||||
width: 35%;
|
||||
background-color: #fff;
|
||||
overflow: scroll;
|
||||
padding: 20px;
|
||||
|
||||
.title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
.title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
.source {
|
||||
display: flex;
|
||||
.source {
|
||||
display: flex;
|
||||
|
||||
.situation {
|
||||
background-color: #F1FAF7;
|
||||
padding: 3px 6px;
|
||||
color: #83CAC0 !important;
|
||||
border: 1px solid #83CAC0 !important;
|
||||
}
|
||||
|
||||
.item {
|
||||
font-size: 14px;
|
||||
margin-left: 5px;
|
||||
border: 1px solid #fff;
|
||||
padding: 3px 6px;
|
||||
border-radius: 5px;
|
||||
justify-content: center;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
img {
|
||||
margin-right: 2px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.name {
|
||||
padding: 0 6px;
|
||||
}
|
||||
|
||||
.genderandage {
|
||||
padding: 0 6px;
|
||||
}
|
||||
|
||||
.headsculpture {
|
||||
width: 35px;
|
||||
height: 35px;
|
||||
}
|
||||
.situation {
|
||||
background-color: #f1faf7;
|
||||
padding: 3px 6px;
|
||||
color: #83cac0 !important;
|
||||
border: 1px solid #83cac0 !important;
|
||||
}
|
||||
|
||||
.item {
|
||||
font-size: 14px;
|
||||
margin-left: 5px;
|
||||
border: 1px solid #fff;
|
||||
padding: 3px 6px;
|
||||
border-radius: 5px;
|
||||
justify-content: center;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
img {
|
||||
margin-right: 2px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.name {
|
||||
padding: 0 6px;
|
||||
}
|
||||
|
||||
.genderandage {
|
||||
padding: 0 6px;
|
||||
}
|
||||
|
||||
.headsculpture {
|
||||
width: 35px;
|
||||
height: 35px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.cardright {
|
||||
overflow: scroll;
|
||||
background-color: #fff;
|
||||
width: 62%;
|
||||
padding: 20px;
|
||||
font-size: 14px;
|
||||
|
||||
.textarea {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
margin-bottom: 10px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.cardright {
|
||||
overflow: scroll;
|
||||
background-color: #fff;
|
||||
width: 62%;
|
||||
padding: 20px;
|
||||
font-size: 14px;
|
||||
|
||||
.textarea {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
margin-bottom: 10px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.text {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.text {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.titletop {
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.bodytop {
|
||||
position: relative;
|
||||
top: 20px;
|
||||
height: 500px;
|
||||
overflow: auto;
|
||||
border: 1px solid #e2e2e2;
|
||||
position: relative;
|
||||
top: 20px;
|
||||
height: 500px;
|
||||
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: 100%;
|
||||
// width: 362px;
|
||||
// height: 127px;
|
||||
margin: 0px 0px 0px 30px;
|
||||
}
|
||||
img {
|
||||
// width: 100%;
|
||||
// width: 362px;
|
||||
// height: 127px;
|
||||
margin: 0px 0px 0px 30px;
|
||||
}
|
||||
|
||||
.know {
|
||||
margin: 11px 0px 10px 30px;
|
||||
font-size: 16px;
|
||||
}
|
||||
.know {
|
||||
margin: 11px 0px 10px 30px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.knowlist {
|
||||
margin: 10px 0px 10px 30px;
|
||||
font-size: 16px;
|
||||
}
|
||||
.knowlist {
|
||||
margin: 10px 0px 10px 30px;
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
377
src/views/manage/components/questionopennew.vue
Normal file
377
src/views/manage/components/questionopennew.vue
Normal file
@ -0,0 +1,377 @@
|
||||
<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="{
|
||||
start: '08:30',
|
||||
step: '00:30',
|
||||
end: '23:30',
|
||||
}" 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'
|
||||
}
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
::v-deep .el-input.is-disabled .el-input__inner {
|
||||
background: #fff !important;
|
||||
color: #606266;
|
||||
}
|
||||
|
||||
::v-deep .el-textarea.is-disabled .el-textarea__inner {
|
||||
color: #606266;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.tk {
|
||||
::v-deep .el-textarea__inner {
|
||||
margin: 20px 0 10px 10px;
|
||||
}
|
||||
}
|
||||
|
||||
::v-deep .el-radio {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
::v-deep .el-checkbox-group {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 10px 0px 10px 24px;
|
||||
}
|
||||
|
||||
::v-deep .el-checkbox {
|
||||
padding: 10px 0 10px 0px;
|
||||
// padding: 10px;
|
||||
}
|
||||
|
||||
.custom-radio-group {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
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;
|
||||
|
||||
.titledata {
|
||||
margin: 30px 0px 15px 30px;
|
||||
top: 14px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.audiotop {
|
||||
margin: 10px 0px 10px 30px;
|
||||
}
|
||||
|
||||
img {
|
||||
// width: 362px;
|
||||
// height: 127px;
|
||||
margin: 0px 0px 0px 30px;
|
||||
}
|
||||
|
||||
.know {
|
||||
margin: 11px 0px 10px 30px;
|
||||
font-size: 20px;
|
||||
font-weight: 550;
|
||||
}
|
||||
|
||||
.knowlist {
|
||||
margin: 10px 0px 10px 30px;
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.right {
|
||||
width: 100%;
|
||||
height: 500px;
|
||||
// background: yellow;
|
||||
}
|
||||
|
||||
.header {
|
||||
background-color: #f1f3f5;
|
||||
padding-top: 10px;
|
||||
|
||||
::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%;
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -146,7 +146,7 @@
|
||||
>
|
||||
</el-time-select>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
<!-- <el-form-item
|
||||
label="问卷库模板选择"
|
||||
prop=""
|
||||
v-if="form.taskSubdivisiontemplateType == 'QUESTIONNAIRE'"
|
||||
@ -167,16 +167,46 @@
|
||||
disabled
|
||||
style="width: 200px"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="bottomform">
|
||||
<wangeditor
|
||||
style="width: 100%"
|
||||
:nodeContent="form.nodeContent"
|
||||
@on-nodeContent="onNodeContent"
|
||||
ref="wangeditor"
|
||||
/>
|
||||
<!-- 问卷预览弹框 -->
|
||||
|
||||
<questionopennew
|
||||
style="width: 100%; background: #fff"
|
||||
ref="question"
|
||||
:lookitemnew="lookitemnew"
|
||||
v-if="form.templateType == 'QUESTIONNAIRE'"
|
||||
></questionopennew>
|
||||
|
||||
<div class="propaganda" v-else-if="form.templateType == 'PROPAGANDA'">
|
||||
<div class="titletop">
|
||||
文章模板:{{ lookitemnew.propagandaTitle }}
|
||||
</div>
|
||||
<div class="bodytop">
|
||||
<div class="titledata">{{ lookitemnew.propagandaTitle }}</div>
|
||||
<div>
|
||||
<img :src="baseUrl + lookitemnew.propagandaCoverPath" alt="" />
|
||||
<div class="know">知识卡片</div>
|
||||
<div class="knowlist">
|
||||
<Editorxj
|
||||
v-model="lookitemnew.propagandaContent"
|
||||
:min-height="192"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<wangeditor
|
||||
style="width: 100%"
|
||||
:nodeContent="form.nodeContent"
|
||||
@on-nodeContent="onNodeContent"
|
||||
ref="wangeditor"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="flex">
|
||||
<div class="pushMethod">
|
||||
@ -372,12 +402,17 @@ import miniProgram from '@/views/system/components/miniProgram.vue'
|
||||
import {
|
||||
selectTaskTypeList, taskPartitionList, taskStatusDictList, specialDiseaseNode, selectSpecialDiseasenew, updateRouteCheckStatus, getById
|
||||
} from '@/api/system/specialDiseaseNode'
|
||||
import questionopennew from '../components/questionopennew.vue';
|
||||
import Editorxj from "../../system/Editorxj/index.vue";
|
||||
|
||||
export default {
|
||||
components: { wangeditor, question, propaganda, message, officialAccount, miniProgram },
|
||||
components: { wangeditor, question, propaganda, message, officialAccount, miniProgram, questionopennew, Editorxj },
|
||||
props: ['lookitem'],
|
||||
name: "specialDiseaseNodeopen",
|
||||
data() {
|
||||
return {
|
||||
show: false,
|
||||
baseUrl: process.env.VUE_APP_BASE_API,
|
||||
dialogVisible: false,
|
||||
routeform: {
|
||||
routeCheckStatus: null,
|
||||
@ -418,6 +453,7 @@ export default {
|
||||
itemindex: 0,
|
||||
listindex: 0,
|
||||
lists: [],
|
||||
lookitemnew: {},
|
||||
value: '',
|
||||
input: '',
|
||||
//任务类型
|
||||
@ -456,6 +492,7 @@ export default {
|
||||
this.lists = this.handleData(res.data, 'routeNodeDay', 'routeNodeName')
|
||||
getById(this.lists[0].list[0].id).then(res => {
|
||||
this.form = res.data
|
||||
this.lookitemnew = res.data.detailInfo
|
||||
if (this.form.taskType) {
|
||||
this.changeTaskType(this.form.taskType, this.form.taskSubdivision)
|
||||
}
|
||||
@ -523,22 +560,6 @@ export default {
|
||||
this.form.officialTemplateName = item.templateName
|
||||
this.form.officialRemindContent = item.templateContent
|
||||
},
|
||||
//暂存
|
||||
TemporaryStorage() {
|
||||
this.$refs.wangeditor.emit()
|
||||
this.updata.specialDiseaseNodeList = []
|
||||
this.lists.forEach(e => {
|
||||
e.list.length > 0 ? e.list.forEach(el => {
|
||||
el.routeNodeDay = e.routeNodeDay
|
||||
el.routeNodeName = e.routeNodeName
|
||||
this.updata.specialDiseaseNodeList.push(el)
|
||||
}) : ""
|
||||
})
|
||||
specialDiseaseNode(this.updata).then(res => {
|
||||
this.info();
|
||||
this.$modal.msgSuccess("暂存成功!");
|
||||
})
|
||||
},
|
||||
//问卷传值
|
||||
questionontemplate(item) {
|
||||
this.form.templateId = item.templateId
|
||||
@ -550,16 +571,20 @@ export default {
|
||||
this.form.templateName = item.templateName
|
||||
},
|
||||
bottomclickevent(uitem, index, uindex, item) {
|
||||
console.log(uitem, item)
|
||||
// console.log(uitem, item)
|
||||
if (uitem.id) {
|
||||
getById(uitem.id).then(res => {
|
||||
this.form = res.data
|
||||
if (res.data.detailInfo) {
|
||||
this.lookitemnew = res.data.detailInfo
|
||||
} else {
|
||||
this.$refs.wangeditor.emit()
|
||||
}
|
||||
if (this.form.taskType) {
|
||||
this.changeTaskType(this.form.taskType, this.form.taskSubdivision)
|
||||
}
|
||||
})
|
||||
}
|
||||
this.$refs.wangeditor.emit()
|
||||
// this.form = uitem
|
||||
|
||||
this.listindex = index
|
||||
@ -710,6 +735,48 @@ export default {
|
||||
background-color: #fff !important;
|
||||
cursor: default !important;
|
||||
}
|
||||
.propaganda {
|
||||
background: #fff;
|
||||
.titletop {
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
margin-left: 30px;
|
||||
}
|
||||
.bodytop {
|
||||
position: relative;
|
||||
top: 20px;
|
||||
// height: 500px;
|
||||
// overflow: auto;
|
||||
// border: 1px solid #e2e2e2;
|
||||
|
||||
.titledata {
|
||||
margin: 30px 0px 15px 30px;
|
||||
top: 14px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.audiotop {
|
||||
margin: 10px 0px 10px 30px;
|
||||
}
|
||||
|
||||
img {
|
||||
// width: 100%;
|
||||
// width: 362px;
|
||||
// height: 127px;
|
||||
margin: 0px 0px 0px 30px;
|
||||
}
|
||||
|
||||
.know {
|
||||
margin: 11px 0px 10px 30px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.knowlist {
|
||||
margin: 10px 0px 10px 30px;
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.routeCheckStatus {
|
||||
position: absolute;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user