Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
4d22101507
@ -9,3 +9,19 @@ export function getRouteNodeList(query) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//获取患者信息
|
||||||
|
export function getByPatientId(patientId) {
|
||||||
|
return request({
|
||||||
|
url: `/manage/visitRecord/getByPatientId/${patientId}`,
|
||||||
|
method: 'get',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//审核
|
||||||
|
export function audit(data) {
|
||||||
|
return request({
|
||||||
|
url: `/manage/signnode/audit`,
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
@ -2,39 +2,46 @@
|
|||||||
<div style="background-color:#F1F3F5">
|
<div style="background-color:#F1F3F5">
|
||||||
<div slot="footer" style="float: right;padding:10px 10px 0 0;height:35px">
|
<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" @click="cancel">取 消</el-button>
|
||||||
<el-button size="mini" type="primary">审核通过</el-button>
|
<el-button size="mini" type="primary" @click="auditing">审核通过</el-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="cardleft">
|
<div class="cardleft">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<img class="headsculpture" src="../../../assets/manage/touxiang.png" alt="">
|
<div style="display: flex;align-items:center">
|
||||||
<!-- <img class="headsculpture" src="../../../assets/manage/nvtouxiang.png" alt=""> -->
|
<img class="headsculpture" v-if="list.sex == 'MALE'" src="../../../assets/manage/touxiang.png">
|
||||||
<div class="name">
|
<img class="headsculpture" v-else src="../../../assets/manage/nvtouxiang.png">
|
||||||
胡登
|
<div class="name">
|
||||||
</div>
|
{{ list.patientName ? list.patientName : '' }}
|
||||||
<div class="genderandage">
|
</div>
|
||||||
<span>男</span>
|
<div class="genderandage">
|
||||||
|
|
<span> {{ list.sex == 'MALE' ? "男" : '' }}
|
||||||
<span>24岁</span>
|
{{ 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>
|
||||||
<div class="source">
|
<div class="source">
|
||||||
<div class="situation item">
|
<div class="situation item">
|
||||||
{{ list.visitMethod == 'OUTPATIENT_SERVICE' ? '门诊' : '' }}
|
{{ list.visitMethod == 'OUTPATIENT_SERVICE' ? '门诊' : '' }}
|
||||||
{{ list.visitMethod == 'BE_IN_HOSPITAL' ? '住院' : '' }}
|
{{ list.visitMethod == 'BE_IN_HOSPITAL' ? '住院' : '' }}
|
||||||
</div>
|
</div>
|
||||||
<div class="item" style="color:#00E06E;border-color:#00E06E">
|
<div class="item" style="color:#00E06E;border-color:#00E06E"
|
||||||
|
v-if="list.patientSource == 'WE_CHAT_OFFICIAL_ACCOUNT'">
|
||||||
<img src="../../../assets/manage/gzh.png" alt="">
|
<img src="../../../assets/manage/gzh.png" alt="">
|
||||||
<div>
|
<div>
|
||||||
公众号
|
公众号
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="item" style="color:#339DE5;border-color:#339DE5">
|
<div class="item" style="color:#339DE5;border-color:#339DE5"
|
||||||
|
v-if="list.patientSource == 'WE_CHAT_APPLET'">
|
||||||
<img src="../../../assets/manage/xcx.png" alt="">
|
<img src="../../../assets/manage/xcx.png" alt="">
|
||||||
<div>
|
<div>
|
||||||
小程序
|
小程序
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="item" style="color:#F4881F;border-color:#F4881F">
|
<div class="item" style="color:#F4881F;border-color:#F4881F"
|
||||||
|
v-if="list.patientSource == 'MANAGE_END'">
|
||||||
<img src="../../../assets/manage/gld.png" alt="">
|
<img src="../../../assets/manage/gld.png" alt="">
|
||||||
<div>
|
<div>
|
||||||
管理端
|
管理端
|
||||||
@ -44,10 +51,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="texts">
|
<div class="texts">
|
||||||
<div class="text">
|
<div class="text">
|
||||||
医院: 济南医院
|
医院: {{ list.hospitalAgencyName ? list.hospitalAgencyName : '' }}
|
||||||
</div>
|
</div>
|
||||||
<div class="text">
|
<div class="text">
|
||||||
科室: 肠胃科
|
科室: {{ list.departmentName ? list.departmentName : '' }}
|
||||||
</div>
|
</div>
|
||||||
<div class="text" v-if="list.visitMethod == 'BE_IN_HOSPITAL'">
|
<div class="text" v-if="list.visitMethod == 'BE_IN_HOSPITAL'">
|
||||||
入院时间: {{ list.admissionTime }}
|
入院时间: {{ list.admissionTime }}
|
||||||
@ -59,30 +66,74 @@
|
|||||||
就诊时间: {{ list.dischargeTime }}
|
就诊时间: {{ list.dischargeTime }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-descriptions title="诊断信息">
|
<el-descriptions title="诊断信息" style="margin:16px auto">
|
||||||
<el-descriptions-item label="主要诊断">kooriookami</el-descriptions-item>
|
<el-descriptions-item label="主要诊断">{{ list.mainDiagnosis }}</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<el-descriptions title="手术信息">
|
<el-descriptions title="手术信息" style="margin:16px auto;border-top: 1px solid #e6ebf5;"
|
||||||
<el-descriptions-item label="手术名称">kooriookami</el-descriptions-item>
|
v-if="list.visitMethod != 'OUTPATIENT_SERVICE'">
|
||||||
|
<el-descriptions-item label="手术名称">{{ list.surgicalName }}</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<el-collapse v-model="activeNames">
|
<el-collapse v-model="activeNames">
|
||||||
<el-collapse-item title="入院记录" name="1">
|
<el-collapse-item title="入院记录" name="-1">
|
||||||
<div>与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念;</div>
|
<div>{{ list.inHospitalInfo }}</div>
|
||||||
<div>在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。</div>
|
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
<el-collapse-item title="手术记录" name="2">
|
<el-collapse-item title="手术记录" name="-2" v-if="list.visitMethod != 'OUTPATIENT_SERVICE'">
|
||||||
<div>用户决策:根据场景可给予用户操作建议或安全提示,但不能代替用户进行决策;</div>
|
<div>{{ list.surgicalRecord }}</div>
|
||||||
<div>结果可控:用户可以自由的进行操作,包括撤销、回退和终止当前操作等。</div>
|
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
<el-collapse-item title="出院记录" name="3">
|
<el-collapse-item title="出院记录" name="-3" v-if="list.visitMethod != 'OUTPATIENT_SERVICE'">
|
||||||
<div>简化流程:设计简洁直观的操作流程;</div>
|
<div>{{ list.outHospitalInfo }}</div>
|
||||||
<div>清晰明确:语言表达清晰且表意明确,让用户快速理解进而作出决策;</div>
|
|
||||||
<div>帮助用户识别:界面简单直白,让用户快速识别而非回忆,减少用户记忆负担。</div>
|
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
</el-collapse>
|
</el-collapse>
|
||||||
</div>
|
</div>
|
||||||
<div class="cardright">
|
<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>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -90,13 +141,16 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {
|
import {
|
||||||
getRouteNodeList
|
getRouteNodeList,
|
||||||
|
getByPatientId,
|
||||||
|
audit
|
||||||
} from '@/api/manage/Auditing.js'
|
} from '@/api/manage/Auditing.js'
|
||||||
|
import { getAge } from "@/utils/age";
|
||||||
export default {
|
export default {
|
||||||
name: "Auditing",
|
name: "Auditing",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
activeNames: ['1', '2', '3'],
|
activeNames: ['-1', '-2', '-3'],
|
||||||
list: {
|
list: {
|
||||||
visitMethod: "BE_IN_HOSPITAL",
|
visitMethod: "BE_IN_HOSPITAL",
|
||||||
},
|
},
|
||||||
@ -107,9 +161,47 @@ export default {
|
|||||||
this.info();
|
this.info();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
//审核
|
||||||
|
auditing() {
|
||||||
|
this.$prompt('请输入审核备注信息?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
}).then(({ value }) => {
|
||||||
|
let obj = {
|
||||||
|
routeCheckPerson: JSON.parse(localStorage.getItem('user')).nickName,
|
||||||
|
routeCheckRemark: value,
|
||||||
|
routeCheckStatus: 'AGREE',
|
||||||
|
manageRouteNodeIds: this.nodelist.map(e => e.manageRouteId)
|
||||||
|
}
|
||||||
|
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() {
|
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' }).then(res => {
|
getRouteNodeList({ patientId: this.$route.query.patientId, taskCreateType: 'MANUAL_CREATE' }).then(res => {
|
||||||
this.nodelist = res.data
|
this.nodelist = res.data
|
||||||
|
this.nodelist.forEach(e => {
|
||||||
|
let text
|
||||||
|
e.suitRange == 'IN_THE_HOSPITAL' ? text = '在院' : e.suitRange == 'DISCHARGE' ? text = '出院' : e.suitRange == 'OUTPATIENT_SERVICE' ? text = '门诊' : e.suitRange == 'OUTPATIENT_SERVICE_DISCHARGE' ? text = '门诊+出院' : text = ""
|
||||||
|
e.title = '任务名称:' + e.routeName + +'适用范围:' + text
|
||||||
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
cancel() {
|
cancel() {
|
||||||
@ -123,6 +215,28 @@ export default {
|
|||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
::v-deep .el-collapse-item__header {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.card {
|
.card {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -136,28 +250,6 @@ export default {
|
|||||||
overflow: scroll;
|
overflow: scroll;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
|
|
||||||
::v-deep .el-collapse-item__header {
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -191,24 +283,39 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.name {}
|
.name {
|
||||||
|
padding: 0 6px;
|
||||||
|
}
|
||||||
|
|
||||||
.genderandage {}
|
.genderandage {
|
||||||
|
padding: 0 6px;
|
||||||
.time {}
|
}
|
||||||
|
|
||||||
.headsculpture {
|
.headsculpture {
|
||||||
width: 35px;
|
width: 35px;
|
||||||
height: 35px;
|
height: 35px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.cardright {
|
.cardright {
|
||||||
overflow: scroll;
|
overflow: scroll;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
width: 62%;
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -42,6 +42,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
<el-input v-model="item.triggerConditionValue" style="width: 300px;"
|
<el-input v-model="item.triggerConditionValue" style="width: 300px;"
|
||||||
placeholder="请输入触发条件"></el-input>
|
placeholder="请输入触发条件"></el-input>
|
||||||
|
<i class="el-icon-delete" @click="delitem(item, index, updata.triggerConditionList)"></i>
|
||||||
</div>
|
</div>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
@ -68,7 +69,7 @@
|
|||||||
<span>天</span>
|
<span>天</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<i class="el-icon-delete" @click="delitem(item, index)"></i>
|
<i class="el-icon-delete" @click="delitem(item, index, list)"></i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-card :class="listindex == index ? 'cards' : ''">
|
<el-card :class="listindex == index ? 'cards' : ''">
|
||||||
@ -283,8 +284,8 @@ export default {
|
|||||||
phonePushSign: '0',
|
phonePushSign: '0',
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
delitem(item, index) {
|
delitem(item, index, list) {
|
||||||
this.list.splice(index, 1)
|
list.splice(index, 1)
|
||||||
},
|
},
|
||||||
upload() {
|
upload() {
|
||||||
this.updata.routeNodeList = this.list
|
this.updata.routeNodeList = this.list
|
||||||
@ -322,6 +323,10 @@ export default {
|
|||||||
|
|
||||||
.node {
|
.node {
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
|
|
||||||
|
.el-icon-delete {
|
||||||
|
padding-left: 10px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.PushMethod {
|
.PushMethod {
|
||||||
@ -342,7 +347,8 @@ export default {
|
|||||||
|
|
||||||
.nodes {
|
.nodes {
|
||||||
background-color: #F1F3F5;
|
background-color: #F1F3F5;
|
||||||
height: 700px;
|
// height: 700px;
|
||||||
|
height: calc(100vh - 308px);
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
padding-top: 20px;
|
padding-top: 20px;
|
||||||
@ -350,9 +356,9 @@ export default {
|
|||||||
.nodenames {
|
.nodenames {
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
height: 700px;
|
height: calc(100vh - 308px);
|
||||||
width: 25%;
|
width: 25%;
|
||||||
padding: 0 40px 0 40px;
|
padding: 0 40px 20px 40px;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
overflow: scroll;
|
overflow: scroll;
|
||||||
|
|
||||||
@ -370,9 +376,11 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.nodetexts {
|
.nodetexts {
|
||||||
|
padding-bottom: 20px;
|
||||||
|
overflow: scroll;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
width: 73%;
|
width: 73%;
|
||||||
height: 700px;
|
height: calc(100vh - 308px);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,11 +1,20 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="topheader">
|
<div class="">
|
||||||
<el-button size="medium" @click="goback">返回</el-button>
|
<div class="topheader" style="padding-left: 20px;">
|
||||||
<!-- <el-button size="medium" type="primary" plain>预览问卷</el-button> -->
|
问卷类型:
|
||||||
<el-button size="medium" type="primary" @click="upload">保存</el-button>
|
<el-radio-group v-model="list.questionType">
|
||||||
<!-- <el-button size="medium" type="primary" @click="releaseupload">保存并发布</el-button> -->
|
<el-radio label="REGULAR_QUESTIONNAIRE">普通问卷</el-radio>
|
||||||
|
<el-radio label="SATISFACTION_QUESTIONNAIRE">满意度问卷</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</div>
|
||||||
|
<div class="topheader" style="text-align: right;">
|
||||||
|
<el-button size="medium" @click="goback">返回</el-button>
|
||||||
|
<!-- <el-button size="medium" type="primary" plain>预览问卷</el-button> -->
|
||||||
|
<el-button size="medium" type="primary" @click="upload">保存</el-button>
|
||||||
|
<!-- <el-button size="medium" type="primary" @click="releaseupload">保存并发布</el-button> -->
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottomheader">
|
<div class="bottomheader">
|
||||||
<div class="questiontypes">
|
<div class="questiontypes">
|
||||||
@ -516,6 +525,7 @@ export default {
|
|||||||
questionnaireDescription: undefined,
|
questionnaireDescription: undefined,
|
||||||
questionnaireTotalScore: 0, //总分
|
questionnaireTotalScore: 0, //总分
|
||||||
questionSubjectList: [],
|
questionSubjectList: [],
|
||||||
|
questionType: undefined,
|
||||||
},
|
},
|
||||||
//题目arr
|
//题目arr
|
||||||
questionlist: [],
|
questionlist: [],
|
||||||
@ -1010,6 +1020,10 @@ export default {
|
|||||||
},
|
},
|
||||||
//保存
|
//保存
|
||||||
upload() {
|
upload() {
|
||||||
|
if (!this.list.questionType) {
|
||||||
|
this.$message.error('请选择问卷类型!');
|
||||||
|
return
|
||||||
|
}
|
||||||
this.list.questionSubjectList = []
|
this.list.questionSubjectList = []
|
||||||
this.questionlist.forEach((e, eindex) => {
|
this.questionlist.forEach((e, eindex) => {
|
||||||
e.questionNumber = eindex + 1
|
e.questionNumber = eindex + 1
|
||||||
@ -1412,10 +1426,11 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.topheader {
|
.topheader {
|
||||||
|
width: 50%;
|
||||||
|
display: inline-block;
|
||||||
padding-right: 30px;
|
padding-right: 30px;
|
||||||
height: 80px;
|
height: 80px;
|
||||||
line-height: 80px;
|
line-height: 80px;
|
||||||
text-align: right;
|
|
||||||
border-bottom: 1px solid #D9D9D9;
|
border-bottom: 1px solid #D9D9D9;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -103,6 +103,7 @@ export default {
|
|||||||
diseaseTypeName: null,
|
diseaseTypeName: null,
|
||||||
questionnaireName: null,
|
questionnaireName: null,
|
||||||
questionnaireStatus: "PUBLISHED",
|
questionnaireStatus: "PUBLISHED",
|
||||||
|
questionType: "REGULAR_QUESTIONNAIRE"
|
||||||
},
|
},
|
||||||
handleselectId: '',
|
handleselectId: '',
|
||||||
handleselectName: null,
|
handleselectName: null,
|
||||||
@ -169,6 +170,7 @@ export default {
|
|||||||
getDepartmentList({
|
getDepartmentList({
|
||||||
departmentName: this.departmentName,
|
departmentName: this.departmentName,
|
||||||
questionnaireStatus: "PUBLISHED",
|
questionnaireStatus: "PUBLISHED",
|
||||||
|
questionType: "REGULAR_QUESTIONNAIRE",
|
||||||
}).then(response => {
|
}).then(response => {
|
||||||
// response.data.forEach(e => {
|
// response.data.forEach(e => {
|
||||||
// e.label = e.departmentName
|
// e.label = e.departmentName
|
||||||
@ -180,6 +182,7 @@ export default {
|
|||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
this.queryParams.questionnaireStatus = "PUBLISHED"
|
this.queryParams.questionnaireStatus = "PUBLISHED"
|
||||||
|
this.queryParams.questionType = "REGULAR_QUESTIONNAIRE"
|
||||||
listQuestion(this.queryParams).then(response => {
|
listQuestion(this.queryParams).then(response => {
|
||||||
this.questionList = response.rows;
|
this.questionList = response.rows;
|
||||||
this.total = response.total;
|
this.total = response.total;
|
||||||
|
|||||||
@ -57,6 +57,14 @@ export default ({
|
|||||||
index: 61,
|
index: 61,
|
||||||
keys: ['MyButtonMenu', 'MyButtonMenutwo']
|
keys: ['MyButtonMenu', 'MyButtonMenutwo']
|
||||||
},
|
},
|
||||||
|
excludeKeys: [
|
||||||
|
'fullScreen',
|
||||||
|
'insertLink',
|
||||||
|
'codeBlock',
|
||||||
|
'todo',
|
||||||
|
'insertVideo',
|
||||||
|
'insertImage'
|
||||||
|
],
|
||||||
},
|
},
|
||||||
editorConfig: {
|
editorConfig: {
|
||||||
placeholder: '请输入内容...',
|
placeholder: '请输入内容...',
|
||||||
@ -239,7 +247,6 @@ class MyButtonMenu { // JS 语法
|
|||||||
this.vueInstance.labelshow = true
|
this.vueInstance.labelshow = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class MyButtonMenutwo { // JS 语法
|
class MyButtonMenutwo { // JS 语法
|
||||||
constructor(vueInstance) {
|
constructor(vueInstance) {
|
||||||
this.vueInstance = vueInstance
|
this.vueInstance = vueInstance
|
||||||
|
|||||||
@ -56,7 +56,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<i class="el-icon-edit" @click.stop="edit"></i>
|
<i class="el-icon-edit" @click.stop="edit"></i>
|
||||||
<i class="el-icon-delete" @click.stop="delspecialDiseaseRoute"></i>
|
<!-- <i class="el-icon-delete" @click.stop="delspecialDiseaseRoute"></i> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="item" v-for="item in list.triggerConditionList" :key="item.triggerConditionId">
|
<div class="item" v-for="item in list.triggerConditionList" :key="item.triggerConditionId">
|
||||||
@ -94,7 +94,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<!-- @click.stop="goManageNodeInformation" -->
|
<!-- @click.stop="goManageNodeInformation" -->
|
||||||
<i class="el-icon-edit" @click="triggerConditionedit(item)"></i>
|
<i class="el-icon-edit" @click="triggerConditionedit(item)"></i>
|
||||||
<i class="el-icon-delete"></i>
|
<i class="el-icon-delete" @click="deltriggerCondition(item)"></i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -396,6 +396,23 @@ export default {
|
|||||||
this.updataform = res.data
|
this.updataform = res.data
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
//删除触发条件
|
||||||
|
deltriggerCondition(item) {
|
||||||
|
this.$confirm('确定删除此触发条件吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
}).then(() => {
|
||||||
|
triggerConditiondel([item.triggerConditionId]).then(res => {
|
||||||
|
this.$notify({
|
||||||
|
type: 'success',
|
||||||
|
title: '提示',
|
||||||
|
message: '删除成功',
|
||||||
|
duration: 3000
|
||||||
|
});
|
||||||
|
this.info();
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -286,7 +286,7 @@ export default {
|
|||||||
handleAdd() {
|
handleAdd() {
|
||||||
this.$store.dispatch('tagsView/delView', this.$route).then(({ visitedViews }) => {
|
this.$store.dispatch('tagsView/delView', this.$route).then(({ visitedViews }) => {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: "/question/addQuestionnaire",
|
path: "/knowledge/addQuestionnaire",
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@ -294,7 +294,7 @@ export default {
|
|||||||
handleUpdate(row) {
|
handleUpdate(row) {
|
||||||
this.$store.dispatch('tagsView/delView', this.$route).then(({ visitedViews }) => {
|
this.$store.dispatch('tagsView/delView', this.$route).then(({ visitedViews }) => {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: "/question/addQuestionnaire",
|
path: "/knowledge/addQuestionnaire",
|
||||||
query: {
|
query: {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
},
|
},
|
||||||
|
|||||||
@ -362,6 +362,14 @@
|
|||||||
placeholder="请输入话术简介"
|
placeholder="请输入话术简介"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="任务处理信息" prop="routeHandleRemark">
|
||||||
|
<el-input
|
||||||
|
type="textarea"
|
||||||
|
disabled
|
||||||
|
placeholder="请输入任务处理信息"
|
||||||
|
v-model="formlist.routeHandleRemark"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -435,6 +443,10 @@ export default {
|
|||||||
if (this.$route.query.textRemindContent) {
|
if (this.$route.query.textRemindContent) {
|
||||||
this.formlists.textRemindContent = this.$route.query.textRemindContent;
|
this.formlists.textRemindContent = this.$route.query.textRemindContent;
|
||||||
}
|
}
|
||||||
|
if( this.$route.query.routeHandleRemark){
|
||||||
|
this.formlist.routeHandleRemark =
|
||||||
|
this.$route.query.routeHandleRemark;
|
||||||
|
}
|
||||||
// 文章末班
|
// 文章末班
|
||||||
if (this.$route.query.taskType == "PROPAGANDA_ARTICLE") {
|
if (this.$route.query.taskType == "PROPAGANDA_ARTICLE") {
|
||||||
this.getPropagandaLIST();
|
this.getPropagandaLIST();
|
||||||
@ -472,6 +484,8 @@ export default {
|
|||||||
if (this.$route.query.routeHandleRemark) {
|
if (this.$route.query.routeHandleRemark) {
|
||||||
this.questiondata.routeHandleRemark =
|
this.questiondata.routeHandleRemark =
|
||||||
this.$route.query.routeHandleRemark;
|
this.$route.query.routeHandleRemark;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this.questiondata.subjectResultList.forEach((e) => {
|
this.questiondata.subjectResultList.forEach((e) => {
|
||||||
|
|||||||
@ -474,8 +474,8 @@ export default {
|
|||||||
this.form.templateName = item.templateName
|
this.form.templateName = item.templateName
|
||||||
},
|
},
|
||||||
bottomclickevent(uitem, index, uindex) {
|
bottomclickevent(uitem, index, uindex) {
|
||||||
|
this.$refs.wangeditor.emit()
|
||||||
this.form = uitem
|
this.form = uitem
|
||||||
this.form.nodeContent = uitem.nodeContent
|
|
||||||
if (this.form.taskType) {
|
if (this.form.taskType) {
|
||||||
this.changeTaskType(this.form.taskType, this.form.taskSubdivision)
|
this.changeTaskType(this.form.taskType, this.form.taskSubdivision)
|
||||||
}
|
}
|
||||||
@ -629,7 +629,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.dialog-footer {
|
.dialog-footer {
|
||||||
padding: 20px 20px;
|
padding: 0 20px 0;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -763,7 +763,8 @@ export default {
|
|||||||
width: 22%;
|
width: 22%;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
padding: 0 20px 20px;
|
padding: 0 20px 20px;
|
||||||
height: 680px;
|
// height: 680px;
|
||||||
|
height: calc(100vh - 294px);
|
||||||
overflow: scroll;
|
overflow: scroll;
|
||||||
|
|
||||||
.timetitle {
|
.timetitle {
|
||||||
@ -781,7 +782,8 @@ export default {
|
|||||||
|
|
||||||
.texts {
|
.texts {
|
||||||
width: 75%;
|
width: 75%;
|
||||||
height: 680px;
|
// height: 680px;
|
||||||
|
height: calc(100vh - 294px);
|
||||||
overflow: scroll;
|
overflow: scroll;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user