Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
闫晓茹 2024-04-18 16:22:22 +08:00
commit 17d8530ebc
27 changed files with 2056 additions and 422 deletions

View File

@ -20,7 +20,7 @@ export function getCategory(id) {
// 新增资讯分类
export function addCategory(data) {
return request({
url: '/manage/category',
url: '/manage/category/add',
method: 'post',
data: data
})
@ -29,7 +29,7 @@ export function addCategory(data) {
// 修改资讯分类
export function updateCategory(data) {
return request({
url: '/manage/category',
url: '/manage/category/edit',
method: 'put',
data: data
})

View File

@ -4,7 +4,7 @@ import request from '@/utils/request'
// 查询患者宣教信息列表
export function getList(query) {
return request({
url: '/manage/patientPropaganda/getList',
url: '/manage/signnode/getNodeList',
method: 'get',
params: query
})

View File

@ -20,7 +20,7 @@ export function getInfo(id) {
// 新增资讯信息
export function addInfo(data) {
return request({
url: '/manage/info',
url: '/manage/info/add',
method: 'post',
data: data
})
@ -29,7 +29,7 @@ export function addInfo(data) {
// 修改资讯信息
export function updateInfo(data) {
return request({
url: '/manage/info',
url: '/manage/info/edit',
method: 'put',
data: data
})

View File

@ -43,9 +43,9 @@ export function delSpecialDiseaseRoute(id) {
})
}
//科室
export function selectDiseaseCount(departmentName) {
export function selectDiseaseCount(departmentName, releaseStatus, servicePackageId) {
return request({
url: `/system/specialDiseaseRoute/departmentRouteCount?departmentName=${departmentName}`,
url: `/system/specialDiseaseRoute/departmentRouteCount?departmentName=${departmentName}&releaseStatus=${releaseStatus}&servicePackageId=${servicePackageId}`,
method: 'get',
})

View File

@ -20,7 +20,7 @@ export function getVisitRecord(id) {
// 新增患者就诊记录基本信息
export function addVisitRecord(data) {
return request({
url: '/manage/visitRecord',
url: '/manage/patientInfo',
method: 'post',
data: data
})
@ -29,7 +29,7 @@ export function addVisitRecord(data) {
// 保存修改患者就诊记录基本信息
export function updateVisitRecord(data) {
return request({
url: '/manage/visitRecord/updateRecord',
url: '/manage/patientInfo',
method: 'put',
data: data
})

View File

@ -2,7 +2,6 @@
function obtainendtime(starttime, item) {
let currentDate = new Date(starttime)
let nextDate
console.log(item)
if (item.packageTermUnit == '年') {
currentDate.setFullYear(currentDate.getFullYear() + Number(item.packageTerm));
currentDate.setDate(currentDate.getDate() - 1);

View File

@ -133,7 +133,7 @@
</div>
<div class="text" style="font-size:14px;font-weight: 400;"
v-if="uitem.taskType == 'ARTIFICIAL_FOLLOW_UP'">
随访详情<el-button style="padding: 6px 10px;">预览</el-button>
人工随访详情<el-button @click="lookquestion(uitem)" style="padding: 6px 10px;">预览</el-button>
</div>
<div class="text" style="font-size:14px;font-weight: 400;"
v-if="uitem.taskType == 'QUESTIONNAIRE_SCALE'">

View File

@ -150,7 +150,7 @@
<el-table-column
label="资讯分类类型"
align="center"
prop="infoCatrgoryType"
prop="infoCategoryType"
/>
<el-table-column
label="资讯分类排序"
@ -204,7 +204,7 @@
/>
<!-- 添加或修改资讯分类对话框 -->
<el-dialog :title="title" :visible.sync="addopen" width="1100px" append-to-body>
<el-dialog :title="title" :visible.sync="addopen" width="750px" append-to-body>
<el-form
ref="form"
:model="form"
@ -213,14 +213,14 @@
:inline="true"
>
<div
v-for="(item, index) in form.infoCategory"
v-for="(item, index) in form.infoCategoryList"
:key="index"
style="margin-top: 20px; border-bottom: 1px solid #f3f3f3"
>
<el-form-item
label="资讯分类名称"
:rules="rules.infoCategory.infoCategoryName"
:prop="`infoCategory.${index}.infoCategoryName`"
:rules="rules.infoCategoryList.infoCategoryName"
:prop="`infoCategoryList.${index}.infoCategoryName`"
>
<el-input
maxlength="100"
@ -231,8 +231,8 @@
</el-form-item>
<el-form-item
label="资讯分类排序"
:rules="rules.infoCategory.infoCategorySort"
:prop="`infoCategory.${index}.infoCategorySort`"
:rules="rules.infoCategoryList.infoCategorySort"
:prop="`infoCategoryList.${index}.infoCategorySort`"
>
<el-input
v-model.number="item.infoCategorySort"
@ -242,24 +242,7 @@
placeholder="请输入资讯分类排序"
/>
</el-form-item>
<!-- <el-form-item
label="资讯分类类型"
:rules="rules.infoCategory.infoCatrgoryType"
:prop="`infoCategory.${index}.infoCatrgoryType`"
>
<el-select
v-model="item.infoCatrgoryType"
placeholder="请选择"
>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item> -->
<el-button
type="primary"
circle
@ -279,39 +262,6 @@
</el-button>
</div>
</el-form>
<!-- <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="资讯分类编码" prop="infoCategoryCode">
<el-input v-model="form.infoCategoryCode" placeholder="请输入资讯分类编码" />
</el-form-item>
<el-form-item label="资讯分类名称" prop="infoCategoryName">
<el-input v-model="form.infoCategoryName" placeholder="请输入资讯分类名称" />
</el-form-item>
<el-form-item label="资讯分类排序" prop="infoCategorySort">
<el-input v-model="form.infoCategorySort" placeholder="请输入资讯分类排序" />
</el-form-item>
<el-form-item label="资讯创建人" prop="infoCategoryCreator">
<el-input v-model="form.infoCategoryCreator" placeholder="请输入资讯创建人" />
</el-form-item>
<el-form-item label="资讯创建时间" prop="infoCategoryCreateTime">
<el-date-picker clearable
v-model="form.infoCategoryCreateTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择资讯创建时间">
</el-date-picker>
</el-form-item>
<el-form-item label="修改人" prop="infoCategoryReviser">
<el-input v-model="form.infoCategoryReviser" placeholder="请输入修改人" />
</el-form-item>
<el-form-item label="修改时间" prop="infoCategoryModifyTime">
<el-date-picker clearable
v-model="form.infoCategoryModifyTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择修改时间">
</el-date-picker>
</el-form-item>
</el-form> -->
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
@ -338,21 +288,7 @@
maxlength="5"
/>
</el-form-item>
<el-form-item label="资讯分类类型" prop="infoCatrgoryType">
<el-select
v-model="form.infoCatrgoryType"
placeholder="请选择"
style="width: 250px"
>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -393,7 +329,6 @@ export default {
total: 0,
//
categoryList: [],
infoCategory: [],
//
title: "",
//
@ -413,10 +348,13 @@ export default {
infoCategoryModifyTime: null
},
//
form: {},
form: {
infoCategoryList: [],
},
//
rules: {
infoCategory: {
infoCategoryList: {
infoCategoryName: [
{
required: true,
@ -487,7 +425,7 @@ export default {
//
reset() {
this.form = {
infoCategory: [
infoCategoryList: [
{
infoCategoryName: null,
@ -534,7 +472,7 @@ export default {
},
//deldisease
deldisease(index) {
this.form.infoCategory.splice(index, 1);
this.form.infoCategoryList.splice(index, 1);
},
adddisease() {
var obj = {
@ -542,10 +480,10 @@ export default {
// infoCatrgoryType: "",
infoCategorySort: "",
};
if (this.form.infoCategory.length == 5) {
if (this.form.infoCategoryList.length == 5) {
this.$message.error("最多只能5条");
} else {
this.form.infoCategory.push(obj);
this.form.infoCategoryList.push(obj);
}
},
/** 提交按钮 */

View File

@ -0,0 +1,386 @@
<template>
<div class="header">
<div class="leftheader">
<div class="item" v-for="(item, index) in namelist" :key="index" @click="clicknameitem(item, index)"
:class="index == itemindex ? 'selectitem' : ''">
<div class="name">
{{ item.name }}
</div>
</div>
</div>
<div class="rightheader" v-if="categorylist.length > 0">
<div class="richtext" v-if="itemindex == 1">
<div class="text" style="font-size: 20px;"> 手动创建任务:</div>
<div v-for="item in categorylist" :key="item.manageRouteId" style="margin: 0 auto 30px;">
<div class="texts">
<div class="text">
任务名称: {{ item.routeName }}
</div>
<div class="text">
适用范围: {{ item.suitRange == 'IN_THE_HOSPITAL' ? '在院' : '' }}
{{ item.suitRange == 'DISCHARGE' ? '出院' : '' }}
{{ item.suitRange == 'OUTPATIENT_SERVICE' ? '门诊' : '' }}
{{ item.suitRange == 'OUTPATIENT_SERVICE_DISCHARGE' ? '门诊+出院' : "" }}
</div>
</div>
<div v-for="uitem in item.nodeList" :key="uitem.id">
<div class="texts">
<div class="text" style="font-size:14px;font-weight: 400;">
任务内容{{ uitem.taskType == 'PHONE_OUTBOUND' ? "电话外呼" : "" }}
{{ uitem.taskType == 'QUESTIONNAIRE_SCALE' ? "问卷量表" : "" }}
{{ uitem.taskType == 'PROPAGANDA_ARTICLE' ? "宣教文案" : "" }}
{{ uitem.taskType == 'TEXT_REMIND' ? "文字提醒" : "" }}
{{ uitem.taskType == 'ARTIFICIAL_FOLLOW_UP' ? "人工随访" : "" }}
</div>
<div class="text" style="font-size:14px;font-weight: 400;"
v-if="uitem.taskType == 'PHONE_OUTBOUND'">
话术模板{{ uitem.phoneTemplateName }}
</div>
<div class="text" style="font-size:14px;font-weight: 400;"
v-if="uitem.taskType == 'QUESTIONNAIRE_SCALE'">
问卷模板{{ uitem.questionnaireName }}
</div>
<div class="text" style="font-size:14px;font-weight: 400;"
v-if="uitem.taskType == 'QUESTIONNAIRE_SCALE'">
问卷有效期{{ uitem.questionExpirationDate }}
</div>
<div class="text" style="font-size:14px;font-weight: 400;"
v-if="uitem.taskType == 'PROPAGANDA_ARTICLE'">
宣教模板{{ uitem.propagandaTitle }}
</div>
<div class="textarea" v-if="uitem.taskType == 'TEXT_REMIND'">
提醒内容{{ uitem.textRemindContent }}
</div>
<div class="text" style="font-size:14px;font-weight: 400;"
v-if="uitem.taskType == 'ARTIFICIAL_FOLLOW_UP'">
人工随访模板{{ uitem.questionnaireName }}
</div>
<div class="text" style="font-size:14px;font-weight: 400;"
v-if="uitem.taskType == 'ARTIFICIAL_FOLLOW_UP'">
人工随访详情<el-button @click="lookquestion(uitem)" style="padding: 6px 10px;">预览</el-button>
</div>
<div class="text" style="font-size:14px;font-weight: 400;"
v-if="uitem.taskType == 'QUESTIONNAIRE_SCALE'">
问卷模板详情<el-button @click="lookquestion(uitem)" style="padding: 6px 10px;">预览</el-button>
</div>
<div class="text" style="font-size:14px;font-weight: 400;"
v-if="uitem.taskType == 'PROPAGANDA_ARTICLE'">
宣教模板详情<el-button @click="lookpropaganda(uitem)"
style="padding: 6px 10px;">预览</el-button>
</div>
<div class="text" style="font-size:14px;font-weight: 400;"
v-if="uitem.taskType == 'PHONE_OUTBOUND'">
话术模板详情<el-button @click="lookphone(uitem)" style="padding: 6px 10px;">预览</el-button>
</div>
</div>
</div>
</div>
</div>
<div class="richtext" v-if="itemindex == 0">
<div class="text" style="font-size: 20px;">专病管理路径:</div>
<div v-for="item in categorylist" :key="item.manageRouteId" style="margin: 0 auto 30px;">
<div class="texts">
<div class="text">
路径名称: {{ item.routeName }}
</div>
<div class="text">
适用范围: {{ item.suitRange == 'IN_THE_HOSPITAL' ? '在院' : '' }}
{{ item.suitRange == 'DISCHARGE' ? '出院' : '' }}
{{ item.suitRange == 'OUTPATIENT_SERVICE' ? '门诊' : '' }}
{{ item.suitRange == 'OUTPATIENT_SERVICE_DISCHARGE' ? '门诊+出院' : "" }}
</div>
<div class="text">
路径详情: <el-button @click="lookspecialDiseaseNode" style="padding: 6px 10px;">预览</el-button>
</div>
<div class="text">
</div>
<div class="text">
触发条件:
</div>
<div class="text">
</div>
<div v-for="uitem in item.specialDiseaseRoute.triggerConditionList" :key="uitem.id" class="text"
style="font-weight: 400;width:100%">
<div class="tagtitle">
<span>
{{ uitem.triggerConditionName == 'DIAGNOSIS' ? '诊断' : '' }}
{{ uitem.triggerConditionName == 'DRESSING_CHANGE_DATE' ? '换药日期' : '' }}
{{ uitem.triggerConditionName == 'TREATMENT_METHOD' ? '治疗方式' : '' }}
{{ uitem.triggerConditionName == 'SURGICAL_NAME' ? '手术名称' : '' }}
{{ uitem.triggerConditionName == 'DRUG_NAME' ? '药品名称' : '' }}
</span>
<span style="padding: 0;">
{{ uitem.triggerConditionOperator == 'CONTAIN' ? '包含' : '' }}
{{ uitem.triggerConditionOperator == 'NOT_CONTAIN' ? '不包含' : '' }}
{{ uitem.triggerConditionOperator == 'EQUAL_TO' ? '等于' : '' }}
{{ uitem.triggerConditionOperator == 'NOT_EQUAL_TO' ? '不等于' : '' }}
</span>
<span style="padding: 0;">
{{ uitem.triggerConditionValue }}
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<el-empty description="暂无" style="width: 100%;" v-else></el-empty>
<!-- 话术预览弹框 -->
<el-dialog title="话术预览" :visible.sync="phoneopen" width="30%" :before-close="openfalse">
<img style="width:200px" :src="baseUrl + lookitem.scriptFilePath" />
<span slot="footer" class="dialog-footer">
<el-button @click="phoneopen = false"> </el-button>
</span>
</el-dialog>
<!-- 宣教预览弹框 -->
<el-dialog title="宣教预览" :visible.sync="propagandaopen" width="30%" :before-close="openfalse">
<div class="titletop">文章模板:{{ lookitem.propagandaTitle }}</div>
<div class="bodytop">
<div class="titledata">{{ lookitem.propagandaTitle }}</div>
<div>
<img :src="baseUrl + lookitem.propagandaCoverPath" alt="" />
<div class="know">知识卡片</div>
<div class="knowlist">
{{ lookitem.propagandaContent }}
</div>
</div>
</div>
</el-dialog>
<!-- 问卷预览弹框 -->
<questionopen ref="question" :lookitem="lookitem"></questionopen>
<!-- 专病节点预览 -->
<el-dialog title="专病节点预览" :visible.sync="specialDiseaseNodeopen" width="90%">
<specialDiseaseNodeopen :lookitem="lookitem">
</specialDiseaseNodeopen>
</el-dialog>
</div>
</template>
<script>
import {
getList
} from '@/api/manage/healthEducation'
import questionopen from './questionopen.vue';
import specialDiseaseNodeopen from './specialDiseaseNodeopen.vue';
export default {
components: {
questionopen,
specialDiseaseNodeopen
},
name: "RehabilitationPlanandRecords",
data() {
return {
baseUrl: process.env.VUE_APP_BASE_API,
//list
itemindex: 0,
namelist: [
{
name: '专病管理路径'
},
{
name: '手动创建任务'
},
],
categorylist: [],
query: {
patientId: '',
routeCheckStatus: 'AGREE',
taskCreateType: 'MANUAL_MATCHE'
},
lookitem: {},
phoneopen: false,
propagandaopen: false,
specialDiseaseNodeopen: false,
loading: null,
};
},
mounted() {
this.info(0);
},
methods: {
//
lookspecialDiseaseNode() {
this.lookitem = {
routeName: '路径名称',
suitRange: 'IN_THE_HOSPITAL',
id: 1
}
this.specialDiseaseNodeopen = true
},
//
lookpropaganda(item) {
this.lookitem = item.detailInfo
this.propagandaopen = true
},
//
lookphone(item) {
this.lookitem = item.detailInfo
this.phoneopen = true
},
//
lookquestion(item) {
this.lookitem = item.detailInfo
this.$refs.question.questionopentrue()
},
//
openfalse() {
this.phoneopen = false
this.propagandaopen = false
this.lookitem = {}
},
clicknameitem(item, index) {
this.loading = this.$loading({
lock: true,
text: '加载数据中',
spinner: 'el-icon-loading',
background: 'rgba(255,255,255,0.7)'
});
if (index == 1) {
this.query.taskCreateType = 'MANUAL_CREATE'
} else {
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();
if (res.data.length > 0) {
this.categorylist = res.data
}
})
},
}
};
</script>
<style lang="scss" scoped>
.header {
background-color: #fff !important;
padding: 0 !important;
display: flex;
justify-content: space-between;
.rightheader {
width: 75%;
padding-top: 20px;
.tagtitle {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
width: 100%;
margin: 0px;
color: black;
span {
padding-left: 10px;
}
}
.titletop {
font-size: 16px;
font-weight: 700;
margin: 10px 0px 0 20px;
}
.bodytop {
.titledata {
margin: 30px 0px 15px 20px;
font-size: 20px;
}
.audiotop {
margin: 10px 0px 10px 20px;
}
img {
margin: 0px 0px 0px 20px;
}
.know {
margin: 11px 0px 10px 20px;
font-size: 16px;
}
.knowlist {
margin: 10px 0px 10px 20px;
font-size: 16px;
}
}
.texts {
margin: 16px 0 20px;
flex-wrap: wrap;
width: 100%;
display: flex;
font-size: 14px;
.text {
margin-bottom: 10px;
width: 50%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
}
}
.richtext {
overflow: scroll;
//
overflow-x: hidden !important;
width: 100%;
margin: 0 auto;
height: 550px;
.textarea {
font-size: 14px;
font-weight: 400;
margin-bottom: 10px;
width: 100%;
}
.text {
font-size: 16px;
font-weight: bold;
height: 30px;
line-height: 30px;
}
}
}
.leftheader {
width: 20%;
margin-top: 20px;
height: 450px;
overflow: scroll;
//
overflow-x: hidden !important;
.selectitem {
background-color: #D2E9FC;
border-left: 2px solid #1890ff !important;
border-bottom: 1px solid #fff !important;
}
.item {
padding: 25px 10px;
position: relative;
border-left: 2px solid #fff;
border-bottom: 1px solid #E7E7E7;
.name {
font-size: 18px;
font-weight: 600;
}
}
}
}
</style>

View File

@ -1,15 +1,27 @@
<template>
<div class="header">
<div class="leftheader" v-if="categorylist.length > 0">
<div class="item" v-for="(item, index) in categorylist" :key="item.id" @click="clickcategory(item, index)"
:class="index == categoryindex ? 'selectitem' : ''">
<div class="item" v-for="(item, index) in categorylist" :key="item.propagandaInfoId"
@click="clickcategory(item, index)" :class="index == categoryindex ? 'selectitem' : ''">
<div class="name">
{{ item.propagandaTitle }}
</div>
</div>
</div>
<div class="rightheader" v-if="categorylist.length > 0">
<div class="richtext" v-html="categoryItem.propagandaContent">
<div class="richtext">
<div class="titletop">文章模板:{{ categoryItem.propagandaTitle }}</div>
<div class="bodytop">
<div class="titledata">{{ categoryItem.propagandaTitle }}</div>
<div>
<img :src="baseUrl + categoryItem.propagandaCoverPath" alt="" />
<div class="know">知识卡片</div>
<div class="knowlist">
{{ categoryItem.propagandaContent }}
</div>
</div>
</div>
<div v-html="categoryItem.propagandaContent"></div>
</div>
</div>
<el-empty description="暂无" style="width: 100%;" v-else></el-empty>
@ -23,6 +35,7 @@ export default {
name: "healthEducation",
data() {
return {
baseUrl: process.env.VUE_APP_BASE_API,
//
categoryindex: 0,
//item
@ -30,7 +43,9 @@ export default {
//list
categorylist: [],
query: {
patientId: ''
patientId: '',
routeCheckStatus: 'AGREE',
taskType: 'PROPAGANDA_ARTICLE'
}
};
},
@ -46,7 +61,11 @@ export default {
this.query.patientId = this.$route.query.patientId
getList(this.query).then(res => {
if (res.data.length > 0) {
this.categorylist = res.data
res.data.forEach(e => {
e.nodeList.forEach(el => {
this.categorylist.push(el)
})
})
this.categoryItem = this.categorylist[0]
}
})
@ -65,6 +84,37 @@ export default {
padding-top: 20px;
border-left: 3px solid #DFE4ED;
.titletop {
font-size: 16px;
font-weight: 700;
margin: 10px 0px 0 20px;
}
.bodytop {
.titledata {
margin: 30px 0px 15px 20px;
font-size: 20px;
}
.audiotop {
margin: 10px 0px 10px 20px;
}
img {
margin: 0px 0px 0px 20px;
}
.know {
margin: 11px 0px 10px 20px;
font-size: 16px;
}
.knowlist {
margin: 10px 0px 10px 20px;
font-size: 16px;
}
}
.richtext {
overflow: scroll;
//

View File

@ -92,7 +92,6 @@ export default {
//
timepicker(e, index) {
this.questiondata.questionSubjectList[index].fillBlanksAnswer = e
},
//
radioChangecheck(e, item, index, aindex) {

View File

@ -0,0 +1,789 @@
<template>
<div class="app-container">
<el-descriptions title="编辑主路径" />
<div class="title">
<el-tag>主路径</el-tag>
<div>
{{ updata.routeName }}
</div>
<div class="select">
<span>
适用范围
</span>
<el-select v-model="updata.suitRange" disabled>
<el-option label="在院" value="IN_THE_HOSPITAL" />
<el-option label="出院" value="DISCHARGE" />
<el-option label="门诊" value="OUTPATIENT_SERVICE" />
<el-option label="门诊+出院" value="OUTPATIENT_SERVICE_DISCHARGE" />
</el-select>
</div>
</div>
<div class="list">
<div class="timelist">
<div class="timetitle">
管理路径节点({{ lists.length }})
<i class="el-icon-circle-plus-outline" @click="addlist"></i>
</div>
<el-timeline>
<el-timeline-item v-for="(item, index) in lists" :key="index"
:color="listindex == index ? '#409EFF' : ''">
<div class="top">
<div class="toptop">
<el-select v-model="item.routeNodeName" disabled style="width:87px">
<el-option label="出院后" value="AFTER_DISCHARGE" />
<el-option label="入院后" value="AFTER_ADMISSION" />
<el-option label="就诊后" value="AFTER_CONSULTATION" />
<el-option label="就诊/出院后" value="AFTER_VISIT_DISCHARGE" />
<el-option label="术前" value="PREOPERATIVE" />
<el-option label="术后" value="POSTOPERATIVE" />
</el-select>
<el-input v-model="item.routeNodeDay" disabled style="width: 50px;"></el-input>
<span></span>
</div>
<div>
<i class="el-icon-delete" @click="delitem(item, index)"></i>
<i class="el-icon-circle-plus-outline" @click="additem(item)"></i>
</div>
</div>
<el-card v-for="(uitem, uindex) in item.list" :key="uitem.id"
@click.native='bottomclickevent(uitem, index, uindex)'
:class="listindex == index && itemindex == uindex ? 'cards' : ''">
<h3 style="height: 20px;">{{ uitem.taskType }}</h3>
<el-tag v-if="uitem.routeCheckStatus == 'AGREE'" class="routeCheckStatus">已审核</el-tag>
<el-tag v-else type="warning" class="routeCheckStatus">未审核</el-tag>
<p style="height: 16px;">{{ uitem.taskSubdivision }}</p>
</el-card>
</el-timeline-item>
</el-timeline>
</div>
<div class="texts">
<div class="topform">
<el-form ref="form" :inline="true" :model="form" class="form">
<el-form-item label="任务类型" prop="">
<el-select v-model="form.taskType" disabled style="width:110px" @change="changeTaskType">
<el-option v-for="item in selectTaskTypeList" :key="item.id" :label="item.taskTypeName"
:value="item.taskTypeName">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="任务细分" prop="">
<el-select v-model="form.taskSubdivision" disabled style="width:110px"
@change="changetaskSubdivision">
<el-option v-for="item in taskPartitionList" :key="item.id" :label="item.taskTypeName"
:value="item.taskTypeName">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="任务状态" prop="">
<el-select v-model="form.taskStatus" disabled style="width:100px">
<el-option v-for="item in taskStatusDictList" :key="item.id"
:label="item.taskStatusName" :value="item.taskStatusName">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="二级分类描述" prop="">
<el-input v-model="form.secondClassifyDescribe" disabled style="width:100px"></el-input>
</el-form-item>
<el-form-item label="执行时间" prop="">
<el-time-select v-model="form.executionTime" disabled style="width:120px"
placeholder="选择时间">
</el-time-select>
</el-form-item>
<el-form-item label="问卷库模板选择" prop=""
v-if="form.taskSubdivisiontemplateType == 'QUESTIONNAIRE'">
<el-input v-model="form.templateName" disabled style="width:200px"></el-input>
</el-form-item>
<el-form-item label="宣教库模板选择" prop="" v-if="form.taskSubdivisiontemplateType == 'PROPAGANDA'">
<el-input v-model="form.templateName" disabled style="width:200px"></el-input>
</el-form-item>
</el-form>
</div>
<div class="bottomform">
<wangeditor style="width:100%;" :nodeContent="form.nodeContent" @on-nodeContent="onNodeContent"
ref="wangeditor" />
<div class="card">
<div class="flex">
<div class="pushMethod">
推送方式
<span>
短信
</span>
</div>
<div class="pushMethod">
模板
<el-input v-model="form.messageTemplateName" disabled style="width:200px"></el-input>
</div>
<div class="pushMethod">
<el-switch v-model="form.messagePushSign" disabled active-color="#13ce66"
active-value="1" inactive-value="0">
</el-switch>
</div>
</div>
<div class="flextwo">
<div class="text">
短信预览
</div>
<el-input class="textarea" v-model="form.messagePreview" disabled></el-input>
</div>
</div>
<div class="card">
<div class="flex">
<div class="pushMethod">
推送方式
<span>
公众号
</span>
</div>
<div class="pushMethod">
模板
<span>
<el-input v-model="form.officialTemplateName" disabled
style="width:200px"></el-input>
</span>
</div>
<div class="pushMethod">
<el-switch v-model="form.officialPushSign" disabled active-color="#13ce66"
active-value="1" inactive-value="0">
</el-switch>
</div>
</div>
<div class="flextwo">
<div class="text">
提醒内容
</div>
<el-input v-model="form.officialRemindContent" disabled class="textarea"></el-input>
</div>
</div>
<div class="card">
<div class="flex">
<div class="pushMethod">
推送方式
<span>
小程序
</span>
</div>
<div class="pushMethod">
模板
<span>
<el-input v-model="form.appletTemplateName" disabled style="width:200px"></el-input>
</span>
</div>
<div class="pushMethod">
<el-switch v-model="form.appletPushSign" disabled active-color="#13ce66"
active-value="1" inactive-value="0">
</el-switch>
</div>
</div>
<div class="flextwo">
<div class="text">
提醒内容
</div>
<el-input v-model="form.appletRemindContent" disabled class="textarea"></el-input>
</div>
<div class="flextwo">
<div class="text">
提示说明
</div>
<el-input v-model="form.appletPromptDescription" disabled class="textarea"></el-input>
</div>
</div>
<!-- <div class="card" style="height: 250px;">
<div class="flex">
<div class="pushMethod">
推送方式
<span>
AI电话
</span>
</div>
<div class="pushMethod">
模板
<span>
<el-select v-model="value" style="width:200px;">
<el-option v-for="item in taskStatusDictList" :key="item.id" style="color:black"
:label="item.taskStatusName" :value="item.id">
</el-option>
</el-select>
</span>
</div>
<div class="pushMethod">
<el-switch v-model="form.value" active-color="#13ce66" active-value="1"
inactive-value="0">
</el-switch>
</div>
</div>
<div class="flextwo">
<div class="text">
机构名称
</div>
<div class="text">
我是
</div>
<el-input v-model="form.input" placeholder="" style="width:150px;padding:0 10px"></el-input>
<div class="text">
的工作人员
</div>
</div>
<div class="flextwo">
<div class="text">
重播次数
</div>
<el-input v-model="form.input" placeholder="" style="width:200px;"></el-input>
<div class="text" style="padding-left: 100px;">
时间间隔
</div>
<el-input v-model="form.input" placeholder="" style="width:200px;"></el-input>
</div>
<div class="flextwo">
<div class="text">
短信提醒
</div>
<el-select v-model="value" style="width:200px;">
<el-option v-for="item in taskStatusDictList" :key="item.id" style="color:black"
:label="item.taskStatusName" :value="item.id">
</el-option>
</el-select>
<div class="text" style="padding-left: 100px;">
短信模板
</div>
<el-select v-model="value" style="width:200px;">
<el-option v-for="item in taskStatusDictList" :key="item.id" style="color:black"
:label="item.taskStatusName" :value="item.id">
</el-option>
</el-select>
</div>
</div> -->
</div>
</div>
</div>
</div>
</template>
<script>
import wangeditor from './wangEditor.vue'
import question from '@/views/system/components/question.vue'
import message from '@/views/system/components/message.vue'
import propaganda from '@/views/system/components/propaganda.vue'
import officialAccount from '@/views/system/components/officialAccount.vue'
import miniProgram from '@/views/system/components/miniProgram.vue'
import {
selectTaskTypeList, taskPartitionList, taskStatusDictList, specialDiseaseNode, selectSpecialDisease, updateRouteCheckStatus
} from '@/api/system/specialDiseaseNode'
export default {
components: { wangeditor, question, propaganda, message, officialAccount, miniProgram },
props: ['lookitem'],
name: "specialDiseaseNodeopen",
data() {
return {
dialogVisible: false,
routeform: {
routeCheckStatus: null,
routeCheckRemark: "",
},
rules: {
routeCheckStatus: [
{ required: true, message: '请选择节点审核状态', trigger: 'change' }
],
},
totalNumber: 0,
agreeNumber: 0,
updata: {
specialDiseaseRouteId: '',
suitRange: '',
routeName: '',
specialDiseaseNodeList: [],
},
form: {
nodeContent: '<p></p>',
templateId: '',
templateName: '',
taskType: '',
taskSubdivision: '',
taskSubdivisionName: '',
taskStatus: '',
secondClassifyDescribe: '',
executionTime: '',
appletPushSign: '0',
officialPushSign: '0',
messagePushSign: '0',
taskSubdivisiontemplateType: '',
officialRemindContent: '',
messagePreview: '',
appletRemindContent: '',
appletPromptDescription: '',
},
itemindex: 0,
listindex: 0,
lists: [],
value: '',
input: '',
//
selectTaskTypeList: [],
//
taskStatusDictList: [],
//
taskPartitionList: [],
};
},
created() {
this.updata = this.lookitem
this.updata.specialDiseaseRouteId = this.lookitem.id
this.taskinfo();
this.info();
},
beforeDestroy() { },
watch: {
lookitem(newValue, oldValue) {
if (newValue) {
this.updata = newValue;
this.updata.specialDiseaseRouteId = newValue.id
}
}
},
mounted() {
},
methods: {
info() {
selectSpecialDisease(this.updata.specialDiseaseRouteId).then(res => {
this.agreeNumber = res.data.agreeNumber
this.totalNumber = res.data.totalNumber
res.data.specialDiseaseNodeList.forEach(e => {
e.messagePushSign = '' + e.messagePushSign
e.officialPushSign = '' + e.officialPushSign
e.appletPushSign = '' + e.appletPushSign
})
this.lists = this.handleData(res.data.specialDiseaseNodeList, 'routeNodeDay', 'routeNodeName')
this.form = this.lists[0].list[0]
if (this.form.taskType) {
this.changeTaskType(this.form.taskType, this.form.taskSubdivision)
}
this.$refs.wangeditor.disable();
})
},
handleData(list, key, keytwo) {
//
let keysArr = list.map(item => {
return {
routeNodeDay: item[key],
routeNodeName: item[keytwo],
}
})
let keys = [...new Set(keysArr)]
let newList = keys.map(item => {
return {
//
routeNodeDay: item[key],
routeNodeName: item[keytwo],
list: list.filter(i => i[key] == item[key] && i[keytwo] == item[keytwo])
}
})
return newList;
},
//wangeditor
onNodeContent(item) {
this.form.nodeContent = item.nodeContent
},
//
miniProgramtemplate(item) {
this.form.appletTemplateId = item.templateId
this.form.appletTemplateName = item.templateName
this.form.appletRemindContent = item.templateContent
},
//
messageontemplate(item) {
this.form.messageTemplateId = item.templateId
this.form.messageTemplateName = item.templateName
this.form.messagePreview = item.templateContent
},
//
officialAccountontemplate(item) {
this.form.officialTemplateId = item.templateId
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
this.form.templateName = item.templateName
},
//
propagandaontemplate(item) {
this.form.templateId = item.templateId
this.form.templateName = item.templateName
},
bottomclickevent(uitem, index, uindex) {
this.$refs.wangeditor.emit()
this.form = uitem
if (this.form.taskType) {
this.changeTaskType(this.form.taskType, this.form.taskSubdivision)
}
this.listindex = index
this.itemindex = uindex
},
handleStep() {
this.active = 2
},
//
taskinfo() {
selectTaskTypeList().then(res => {
this.selectTaskTypeList = res.data
})
taskStatusDictList().then(res => {
this.taskStatusDictList = res.data
})
},
//
changeTaskType(name, taskSubdivision) {
let id = this.selectTaskTypeList?.find(e => e.taskTypeName == name).id
taskPartitionList(id).then(res => {
this.taskPartitionList = res.data
this.form.taskSubdivision = ''
this.form.taskSubdivisionName = ''
this.form.taskSubdivisiontemplateType = ''
this.selectTaskTypeList.forEach(el => {
if (name == el.taskTypeName) {
this.form.taskTypeId = el.id
}
})
if (taskSubdivision) {
this.changetaskSubdivision(taskSubdivision, 1)
}
})
},
changetaskSubdivision(name, type) {
this.form.taskSubdivision = name
this.taskPartitionList.forEach(el => {
if (name == el.taskTypeName) {
this.form.executionTime = el.executionTime
this.form.taskSubdivisiontemplateType = el.templateType
if (!type) {
this.form.templateId = ''
this.form.templateName = ''
}
}
})
},
addlist() {
this.lists.push({
routeNodeName: "",
routeNodeDay: '',
list: [
{
nodeContent: '<p></p>',
templateId: '',
templateName: '',
taskType: '',
officialRemindContent: '',
taskSubdivision: '',
taskSubdivisionName: '',
appletRemindContent: '',
appletPromptDescription: '',
taskStatus: '',
secondClassifyDescribe: '',
executionTime: '',
appletPushSign: '0',
officialPushSign: '0',
messagePushSign: '0',
messagePreview: '',
taskSubdivisiontemplateType: '',
},
]
})
},
additem(item) {
item.list.push({
nodeContent: '<p></p>',
templateId: '',
templateName: '',
taskType: '',
officialRemindContent: '',
taskSubdivision: '',
taskSubdivisionName: '',
taskStatus: '',
secondClassifyDescribe: '',
executionTime: '',
appletPushSign: '0',
officialPushSign: '0',
messagePushSign: '0',
appletRemindContent: '',
appletPromptDescription: '',
messagePreview: '',
taskSubdivisiontemplateType: '',
})
},
delitem(item, index) {
item.list.splice(this.itemindex, 1)
if (item.list.length == 0) {
this.lists.splice(index, 1)
}
},
//
handleClose() {
this.dialogVisible = false
this.routeform = {
routeCheckStatus: '',
routeCheckRemark: "",
}
this.resetForm("routeform");
},
//
auditing() {
this.$refs["routeform"].validate(valid => {
if (valid) {
const loading = this.$loading({
lock: true,
text: '审核中',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
updateRouteCheckStatus({
routeCheckStatus: this.routeform.routeCheckStatus,
id: this.form.specialDiseaseNodeId,
routeCheckRemark: this.routeform.routeCheckRemark,
routeCheckPerson: JSON.parse(localStorage.getItem('user')).nickName
}).then(res => {
if (res.data == 1) {
this.info();
this.handleClose()
this.$modal.msgSuccess("审核成功!");
loading.close();
}
})
}
})
},
}
};
</script>
<style scoped lang="scss">
::v-deep .el-card__body {
position: relative;
}
::v-deep .el-input__inner {
color: black !important;
background-color: #fff !important;
cursor: default !important
}
.routeCheckStatus {
position: absolute;
right: 10px;
top: 30px;
}
.dialog-footer {
padding: 0 20px 0;
text-align: right;
}
.bottomform {
background-color: #f2f4f5;
margin-top: 10px;
.card {
background-color: #fff;
width: 100%;
height: 200px;
margin: 20px 0 0;
padding: 20px 50px 0px 20px;
.flextwo {
display: flex;
align-items: center;
margin-top: 20px;
.text {
font-size: 13px;
color: #64666A;
}
.textarea {
width: 90%;
padding: 0 10px;
height: 50px;
line-height: 50px;
// border: 1px solid #DCDFE6;
border-radius: 5px;
display: flex;
align-items: center;
::v-deep .el-input {
padding: 0 10px;
width: 50%;
color: black;
font-size: 13px;
height: 40px;
line-height: 40px;
}
::v-deep .el-input__inner {
color: black;
font-size: 13px;
}
}
}
.flex {
display: flex;
align-items: center;
justify-content: space-between;
.pushMethod {
height: 30px;
line-height: 30px;
font-size: 13px;
color: #64666A;
::v-deep .el-input__inner {
color: black;
font-size: 13px;
}
span {
color: black;
font-size: 13px;
}
}
}
}
}
.topform {
padding: 15px 0 0 15px;
.form {
::v-deep .el-input__inner {
height: 30px !important;
line-height: 30px !important;
}
::v-deep .el-form-item__label {
font-size: 12px !important;
}
}
}
.title {
display: flex;
align-items: center;
div {
display: flex;
padding-left: 10px;
font-weight: 600;
align-items: center;
}
.select {
font-weight: 550;
margin-left: 20%;
font-size: 12px;
.el-input {
width: 200px;
height: 30px !important;
line-height: 30px !important;
}
}
}
.list {
margin: 20px auto;
width: 100%;
background-color: #f2f4f5;
display: flex;
padding-top: 15px;
justify-content: space-evenly;
.timelist {
width: 22%;
background-color: #fff;
padding: 0 20px 20px;
// height: 680px;
height: calc(100vh - 294px);
overflow: scroll;
.timetitle {
height: 60px;
display: flex;
align-items: center;
justify-content: space-between;
}
::v-deep .el-timeline {
width: 100%;
padding: 15px 0 0 !important;
}
}
.texts {
width: 75%;
// height: 680px;
height: calc(100vh - 294px);
overflow: scroll;
background-color: #fff;
}
}
.cards {
border: 1px solid #409EFF;
border-left: 5px solid #409EFF;
}
.top {
display: flex;
justify-content: space-between;
align-items: center;
.toptop {
display: flex;
align-items: center;
}
span {
padding: 0 4px;
}
i {
font-size: 17px;
}
i:nth-child(2) {
padding-left: 12px;
}
}
::v-deep .el-timeline-item__timestamp {
margin: 0 !important;
padding: 0 !important;
}
::v-deep .el-timeline-item__wrapper {
padding-left: 14px !important;
}
::v-deep .el-timeline-item__content {
transform: translateY(-2%);
}
::v-deep .el-card {
margin-top: 20px !important;
}
</style>

View File

@ -3,7 +3,7 @@
<el-button size="small" @click="classificationOpen = true" style="width: 200px;font-size:14px;text-align:left"
:style="handleselectName ? 'color:black' : 'color:#C0C4CC'">{{ handleselectName ? handleselectName :
'请选择专病管理路径' }}</el-button>
<el-dialog title="问卷库模板选择" :visible.sync="classificationOpen" width="70%" :before-close="classificationOpenfalse">
<el-dialog title="专病管理路径选择" :visible.sync="classificationOpen" width="70%" :before-close="classificationOpenfalse">
<el-row :gutter="20">
<el-col :span="6">
<div class="left" ref="box">
@ -23,12 +23,9 @@
<el-col :span="18">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
label-width="68px">
<el-form-item label="发布状态" prop="releaseStatus">
<el-select v-model="queryParams.releaseStatus" placeholder="请选择">
<el-option label="全部" value="ALL" />
<el-option label="已发布" value="PUBLISHED" />
<el-option label="未发布" value="UNPUBLISHED" />
</el-select>
<el-form-item label="路径名称" prop="routeName">
<el-input v-model="queryParams.routeName" placeholder="请输入路径名称" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="路径分类" prop="routeClassify">
<el-select v-model="queryParams.routeClassify" placeholder="请选择">
@ -53,11 +50,6 @@
{{ scope.row.routeClassify == 'SPECIAL_DIEASE_MANAGE_PATH' ? '专病管理路径' : '' }}
</template>
</el-table-column>
<el-table-column label="发布状态" align="center" prop="releaseStatus">
<template slot-scope="scope">
{{ scope.row.releaseStatus == 'PUBLISHED' ? '已发布' : '未发布' }}
</template>
</el-table-column>
<el-table-column label="病种名称" align="center" prop="diseaseTypeName" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
@ -78,11 +70,11 @@
<script>
import {
listSpecialDiseaseRoute, getSpecialDiseaseRoute, delSpecialDiseaseRoute, addSpecialDiseaseRoute, updateSpecialDiseaseRoute,
selectDiseaseCount, getDepartmentList, getdiseaseList
listSpecialDiseaseRoute,
selectDiseaseCount,
} from "@/api/system/specialDiseaseRoute";
export default {
props: ['routeId', 'routeName'],
props: ['routeId', 'routeName', 'servicePackageId'],
name: "SpecialDiseaseRoute",
data() {
return {
@ -116,10 +108,11 @@ export default {
routeCode: null,
version: null,
routeClassify: null,
releaseStatus: null,
releaseStatus: 'PUBLISHED',
suitRange: null,
routeSort: null,
routeRemark: null,
servicePackageId: null,
},
//
rules: {},
@ -130,6 +123,7 @@ export default {
};
},
created() {
this.queryParams.servicePackageId = this.servicePackageId
this.getList();
},
mounted() {
@ -141,14 +135,16 @@ export default {
this.infolists();
},
routeId(newValue, oldValue) {
this.handleselectId = newValue;
},
servicePackageId(newValue, oldValue) {
if (newValue) {
this.handleselectId = newValue;
this.queryParams.servicePackageId = newValue;
this.getList();
}
},
routeName(newValue, oldValue) {
if (newValue) {
this.handleselectName = newValue;
}
this.handleselectName = newValue;
}
},
methods: {
@ -170,13 +166,14 @@ export default {
},
//
infolists() {
selectDiseaseCount(this.departmentName).then((res) => {
selectDiseaseCount(this.departmentName, 'PUBLISHED', this.queryParams.servicePackageId).then((res) => {
this.DepartmentoList = res.data;
});
},
/** 查询专病路径信息列表 */
getList() {
this.loading = true;
this.queryParams.releaseStatus = 'PUBLISHED'
listSpecialDiseaseRoute(this.queryParams).then(response => {
this.specialDiseaseRouteList = response.rows;
this.total = response.total;

File diff suppressed because one or more lines are too long

View File

@ -101,6 +101,7 @@
:inline="true" style="padding-left:40px">
<el-form-item label="专病管理路径" prop="routeId">
<specialDiseaseRoute @on-template="onroute" :routeId="signPackage.routeId"
v-if="signPackage.servicePackageId" :servicePackageId="signPackage.servicePackageId"
:routeName="signPackage.routeName">
</specialDiseaseRoute>
</el-form-item>

View File

@ -52,12 +52,12 @@
</div>
</div>
<div class="bottomheader">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tabs v-model="activeName">
<el-tab-pane label="就诊记录" name="first">
<visitRecords></visitRecords>
</el-tab-pane>
<el-tab-pane label="康复计划及记录" name="second">
<el-empty description="暂无" style="width: 100%;"></el-empty>
<RehabilitationPlanandRecords v-if="activeName == 'second'"></RehabilitationPlanandRecords>
</el-tab-pane>
<el-tab-pane label="健康宣教" name="third">
<healthEducation v-if="activeName == 'third'"></healthEducation>
@ -78,6 +78,7 @@ import visitRecords from '../components/visitRecords.vue';
import healthEducation from '../components/healthEducation.vue';
import indicatorMonitoring from '../components/indicatorMonitoring.vue';
import signingRecords from '../components/signingRecords.vue';
import RehabilitationPlanandRecords from '../components/RehabilitationPlanandRecords.vue';
export default {
components: {
//
@ -88,6 +89,8 @@ export default {
indicatorMonitoring,
//
signingRecords,
//
RehabilitationPlanandRecords
},
name: "patientdetails",
data() {
@ -98,9 +101,6 @@ export default {
created() {
},
methods: {
handleClick(tab, event) {
console.log(tab, event);
},
}
};
</script>

View File

@ -21,7 +21,7 @@
<el-form-item label="资讯分类" prop="infoCategoryId">
<el-button
type=""
v-if="queryParams.infoCategoryName == '请选择资讯分类'"
v-if="infoCategoryName == '请选择资讯分类'"
@click="clickitem()"
style="
width: 250px;
@ -30,7 +30,7 @@
color: #c0c4cc;
overflow: hidden;
"
>{{ queryParams.infoCategoryName }}</el-button
>{{ infoCategoryName }}</el-button
>
<el-button
@click="clickitem()"
@ -43,7 +43,7 @@
padding-left: -10px;
overflow: hidden;
"
>{{ queryParams.infoCategoryName }}</el-button
>{{ infoCategoryName }}</el-button
>
</el-form-item>
<!-- </el-form-item> -->
@ -56,126 +56,7 @@
/>
</el-form-item>
<!-- <el-form-item label="资讯所属分类id" prop="infoCategoryId">
<el-input
v-model="queryParams.infoCategoryId"
placeholder="请输入资讯所属分类id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="资讯标题" prop="infoTitle">
<el-input
v-model="queryParams.infoTitle"
placeholder="请输入资讯标题"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="资讯编码" prop="infoCode">
<el-input
v-model="queryParams.infoCode"
placeholder="请输入资讯编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="咨询点击次数" prop="infoClickCount">
<el-input
v-model="queryParams.infoClickCount"
placeholder="请输入咨询点击次数"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="资讯跳转路径" prop="infoJumpLink">
<el-input
v-model="queryParams.infoJumpLink"
placeholder="请输入资讯跳转路径"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="资讯来源" prop="infoSource">
<el-input
v-model="queryParams.infoSource"
placeholder="请输入资讯来源"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="资讯缩略图地址" prop="infoMainThumbnailUrl">
<el-input
v-model="queryParams.infoMainThumbnailUrl"
placeholder="请输入资讯缩略图地址"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="资讯负缩略图1地址" prop="infoNegativeOneThumbnailUrl">
<el-input
v-model="queryParams.infoNegativeOneThumbnailUrl"
placeholder="请输入资讯负缩略图1地址"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="资讯负缩略图2地址" prop="infoNegativeTwoThumbnailUrl">
<el-input
v-model="queryParams.infoNegativeTwoThumbnailUrl"
placeholder="请输入资讯负缩略图2地址"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="资讯大图地址" prop="infoLargePictureUrl">
<el-input
v-model="queryParams.infoLargePictureUrl"
placeholder="请输入资讯大图地址"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="资讯排序" prop="infoSort">
<el-input
v-model="queryParams.infoSort"
placeholder="请输入资讯排序"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="资讯创建人" prop="infoCreator">
<el-input
v-model="queryParams.infoCreator"
placeholder="请输入资讯创建人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="资讯创建时间" prop="infoCreateTime">
<el-date-picker clearable
v-model="queryParams.infoCreateTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择资讯创建时间">
</el-date-picker>
</el-form-item>
<el-form-item label="资讯修改人" prop="infoReviser">
<el-input
v-model="queryParams.infoReviser"
placeholder="请输入资讯修改人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="资讯修改时间" prop="infoModifyTime">
<el-date-picker clearable
v-model="queryParams.infoModifyTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择资讯修改时间">
</el-date-picker>
</el-form-item> -->
<el-form-item>
<el-button
type="primary"
@ -251,28 +132,10 @@
<!-- <el-table-column label="主键id" align="center" prop="id" /> -->
<el-table-column label="资讯标题" align="center" prop="infoTitle" />
<el-table-column label="资讯编码" align="center" prop="infoCode" />
<el-table-column label="资讯分类" align="center" prop="infoCategoryId" />
<!-- <el-table-column label="资讯图文内容,富文本" align="center" prop="infoContent" />
<el-table-column label="咨询点击次数" align="center" prop="infoClickCount" />
<el-table-column label="资讯跳转路径" align="center" prop="infoJumpLink" />
<el-table-column label="资讯来源" align="center" prop="infoSource" />
<el-table-column label="资讯缩略图地址" align="center" prop="infoMainThumbnailUrl" />
<el-table-column label="资讯负缩略图1地址" align="center" prop="infoNegativeOneThumbnailUrl" />
<el-table-column label="资讯负缩略图2地址" align="center" prop="infoNegativeTwoThumbnailUrl" />
<el-table-column label="资讯大图地址" align="center" prop="infoLargePictureUrl" /> -->
<el-table-column label="资讯分类" align="center" prop="infoCategoryName" />
<el-table-column label="资讯排序" align="center" prop="infoSort" />
<!-- <el-table-column label="资讯创建人" align="center" prop="infoCreator" />
<el-table-column label="资讯创建时间" align="center" prop="infoCreateTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.infoCreateTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="资讯修改人" align="center" prop="infoReviser" />
<el-table-column label="资讯修改时间" align="center" prop="infoModifyTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.infoModifyTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column> -->
<el-table-column
label="操作"
align="center"
@ -308,73 +171,6 @@
/>
<!-- 添加或修改资讯信息对话框 -->
<!-- <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="资讯所属分类id" prop="infoCategoryId">
<el-input v-model="form.infoCategoryId" placeholder="请输入资讯所属分类id" />
</el-form-item>
<el-form-item label="资讯标题" prop="infoTitle">
<el-input v-model="form.infoTitle" placeholder="请输入资讯标题" />
</el-form-item>
<el-form-item label="资讯编码" prop="infoCode">
<el-input v-model="form.infoCode" placeholder="请输入资讯编码" />
</el-form-item>
<el-form-item label="资讯图文内容,富文本">
<editor v-model="form.infoContent" :min-height="192"/>
</el-form-item>
<el-form-item label="咨询点击次数" prop="infoClickCount">
<el-input v-model="form.infoClickCount" placeholder="请输入咨询点击次数" />
</el-form-item>
<el-form-item label="资讯跳转路径" prop="infoJumpLink">
<el-input v-model="form.infoJumpLink" placeholder="请输入资讯跳转路径" />
</el-form-item>
<el-form-item label="资讯来源" prop="infoSource">
<el-input v-model="form.infoSource" placeholder="请输入资讯来源" />
</el-form-item>
<el-form-item label="资讯缩略图地址" prop="infoMainThumbnailUrl">
<el-input v-model="form.infoMainThumbnailUrl" placeholder="请输入资讯缩略图地址" />
</el-form-item>
<el-form-item label="资讯负缩略图1地址" prop="infoNegativeOneThumbnailUrl">
<el-input v-model="form.infoNegativeOneThumbnailUrl" placeholder="请输入资讯负缩略图1地址" />
</el-form-item>
<el-form-item label="资讯负缩略图2地址" prop="infoNegativeTwoThumbnailUrl">
<el-input v-model="form.infoNegativeTwoThumbnailUrl" placeholder="请输入资讯负缩略图2地址" />
</el-form-item>
<el-form-item label="资讯大图地址" prop="infoLargePictureUrl">
<el-input v-model="form.infoLargePictureUrl" placeholder="请输入资讯大图地址" />
</el-form-item>
<el-form-item label="资讯排序" prop="infoSort">
<el-input v-model="form.infoSort" placeholder="请输入资讯排序" />
</el-form-item>
<el-form-item label="资讯创建人" prop="infoCreator">
<el-input v-model="form.infoCreator" placeholder="请输入资讯创建人" />
</el-form-item>
<el-form-item label="资讯创建时间" prop="infoCreateTime">
<el-date-picker clearable
v-model="form.infoCreateTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择资讯创建时间">
</el-date-picker>
</el-form-item>
<el-form-item label="资讯修改人" prop="infoReviser">
<el-input v-model="form.infoReviser" placeholder="请输入资讯修改人" />
</el-form-item>
<el-form-item label="资讯修改时间" prop="infoModifyTime">
<el-date-picker clearable
v-model="form.infoModifyTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择资讯修改时间">
</el-date-picker>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog> -->
<el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
<el-form
ref="form"
@ -390,7 +186,7 @@
placeholder="请输入资讯标题"
/>
</el-form-item>
<el-form-item label="资讯分类" prop="infoCategoryName">
<el-form-item label="资讯分类" prop="infoCategoryId">
<el-button
type=""
v-if="form.infoCategoryName == '请选择资讯分类'"
@ -419,11 +215,11 @@
>
</el-form-item>
<el-form-item label="资讯图标" prop="infoMainThumbnailUrl">
<el-form-item label="资讯图标" prop="infoLargePictureUrl">
<stationAcatar
style="width: 208px"
@imgUrl="imgUrl"
:img="form.infoMainThumbnailUrl"
:img="form.infoLargePictureUrl"
:type="'infoMainThumbnailUrl'"
/>
<!-- <el-input v-model="form.leadThumbnailUrl" placeholder="请输入资讯主缩略图地址" /> -->
@ -438,14 +234,14 @@
maxLength="5"
/>
</el-form-item>
<el-form-item label="资讯图文内容" prop="content">
<el-form-item label="资讯图文内容" prop="infoContent">
<editor
@imgs="imgs"
maxlength="300"
:min-height="102"
placeholder="请输入资讯图文内容"
style="width: 80%; margin-left: 18%; margin-top: -5%"
v-model="form.content"
v-model="form.infoContent"
/>
</el-form-item>
</el-form>
@ -465,7 +261,6 @@
<el-form
ref="queryForm"
:model="informationqueryParams"
:rules="rules"
label-width="80px"
:inline="true"
>
@ -482,7 +277,7 @@
</el-form-item>
<el-form-item
label="资讯分类名称"
prop="infoCategoryName"
label-width="120"
>
<el-input
@ -518,7 +313,7 @@
<el-button
type="primary"
style="width: 15px; height: 15px"
v-if="form.informationCategoryId == scope.row.id"
v-if="form.infoCategoryId == scope.row.id"
circle
@click="nurseclick(scope.row)"
></el-button>
@ -584,7 +379,6 @@
<el-form
ref="queryForm"
:model="informationqueryParams"
:rules="rules"
label-width="80px"
:inline="true"
>
@ -601,7 +395,6 @@
</el-form-item>
<el-form-item
label="资讯分类名称"
prop="infoCategoryName"
label-width="120"
>
<el-input
@ -637,7 +430,7 @@
<el-button
type="primary"
style="width: 15px; height: 15px"
v-if="queryParams.informationCategoryId == scope.row.id"
v-if="queryParams.infoCategoryId == scope.row.id"
circle
@click="nurseclickzx(scope.row)"
></el-button>
@ -694,12 +487,13 @@ export default {
innerVisible: false,
innerVisiblezx: false,
imgs:'',
infoCategoryName:'请选择资讯分类',
informationqueryParams: {
pageNum: 1,
pageSize: 10,
infoCategoryCode: "",
infoCategoryName: "",
informationCategoryId: "",
infoCategoryId: "",
},
//
loading: true,
@ -725,6 +519,7 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
infoCategoryName:"",
infoCategoryId: null,
infoTitle: null,
@ -733,9 +528,7 @@ export default {
infoClickCount: null,
infoJumpLink: null,
infoSource: null,
infoMainThumbnailUrl: null,
infoNegativeOneThumbnailUrl: null,
infoNegativeTwoThumbnailUrl: null,
infoLargePictureUrl: null,
infoSort: null,
infoCreator: null,
@ -751,7 +544,7 @@ export default {
// infoTitle: [
// { required: true, message: "", trigger: "blur" }
// ],
infoCategoryName: [
infoCategoryId: [
{
required: true,
message: "请选择资讯分类",
@ -765,7 +558,7 @@ export default {
trigger: "blur",
},
],
infoMainThumbnailUrl: [
infoLargePictureUrl: [
{
required: true,
trigger: "blur",
@ -779,7 +572,7 @@ export default {
message: "请输入显示顺序",
},
],
content: [
infoContent: [
{
required: true,
message: "请输入资讯图文内容",
@ -800,7 +593,7 @@ export default {
},
imgUrl(imgUrl) {
console.log(imgUrl,'imgUrl')
this.form.infoMainThumbnailUrl = imgUrl;
this.form.infoLargePictureUrl = imgUrl;
},
// imgs(item) {
// this.imgsurl.pictureUrlList.push(item);
@ -821,6 +614,8 @@ export default {
infoCategoryCode: "",
informationTitle: "",
infoCategoryName: "",
};
this.getList();
},
@ -845,13 +640,14 @@ export default {
this.innerVisiblezx = true;
},
nurseclick(row) {
// this.form.informationCategoryId = row.id;
this.form.infoCategoryId = row.id;
this.form.infoCategoryName = row.infoCategoryName;
this.innerVisible = false;
},
nurseclickzx(row) {
// this.queryParams.informationCategoryId = row.id;
this.queryParams.infoCategoryId = row.id;
this.queryParams.infoCategoryName = row.infoCategoryName;
this.infoCategoryName = this.queryParams.infoCategoryName;
this.innerVisiblezx = false;
},
/** 查询资讯信息列表 */
@ -878,10 +674,7 @@ export default {
infoContent: null,
infoClickCount: null,
infoJumpLink: null,
infoSource: null,
infoMainThumbnailUrl: null,
infoNegativeOneThumbnailUrl: null,
infoNegativeTwoThumbnailUrl: null,
infoLargePictureUrl: null,
infoSort: null,
infoCreator: null,
@ -893,13 +686,39 @@ export default {
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.queryParams.pageNum= 1
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
this.queryParams= {
pageNum: 1,
pageSize: 10,
infoCategoryName:null,
infoCategoryId:null,
infoCategoryId: null,
infoTitle: null,
infoCode: null,
infoContent: null,
infoClickCount: null,
infoJumpLink: null,
infoSource: null,
infoLargePictureUrl: null,
infoSort: null,
infoCreator: null,
infoCreateTime: null,
infoReviser: null,
infoModifyTime: null
}
this.infoCategoryName="请选择资讯分类"
this.getList();
// this.handleQuery();
},
//
handleSelectionChange(selection) {
@ -928,6 +747,7 @@ export default {
/** 提交按钮 */
submitForm() {
console.log(this.form,'this.form')
// return
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {

View File

@ -249,6 +249,7 @@
v-model="form.textMessageContent"
placeholder="请输入短信内容"
type="textarea"
maxlength="300"
/>
</el-form-item>
<el-form-item label="适用任务类型" prop="suitTaskTypeIds">

View File

@ -28,9 +28,9 @@
</el-descriptions>
<el-descriptions title="健康管理师信息" style="padding:20px 30px 10px" class="descriptions">
</el-descriptions>
<el-form :model="form" :rules="rules" ref="form" label-width="100px" class="demo-ruleForm" :inline="true"
<el-form :model="form" :rules="rules" ref="form" label-width="110px" class="demo-ruleForm" :inline="true"
style="padding-left:40px">
<el-form-item label="健康管理师" prop="healthManageId">
<el-form-item label="健康管理师" required>
<el-select v-model="form.record.healthManageId" filterable placeholder="请选择健康管理师"
style="width:300px" clearable>
<el-option v-for="item in attendingPhysicianlist" :key="item.userId" :label="item.nickName"
@ -41,7 +41,7 @@
</el-form>
<el-descriptions title="服务包信息" style="padding:20px 30px 10px" class="descriptions">
</el-descriptions>
<el-form :model="signPackage" :rules="rules" ref="signPackage" label-width="100px" class="demo-ruleForm"
<el-form :model="signPackage" :rules="rules" ref="signPackage" label-width="110px" class="demo-ruleForm"
:inline="true" style="padding-left:40px">
<el-form-item label="选择服务包" prop="servicePackageId">
<el-select v-model="signPackage.servicePackageId" filterable placeholder="请选择服务包" clearable
@ -62,7 +62,7 @@
</el-form>
<el-form :model="signPackage" :rules="rules" ref="signPackage" label-width="80px" class="demo-ruleForm"
:inline="true" style="padding-left:40px">
<el-form-item label="签约期限" prop="" label-width="100px">
<el-form-item label="签约期限" prop="" label-width="110px">
<div>
<el-input v-model="signPackage.packageTerm" style="width:130px" disabled
placeholder="请输入签约周期"></el-input>
@ -90,15 +90,21 @@
</el-form>
<el-descriptions title="专病管理信息" style="padding:20px 30px 10px" class="descriptions">
</el-descriptions>
<el-form :model="route" :rules="rules" ref="route" label-width="100px" class="demo-ruleForm" :inline="true"
<el-form :model="route" :rules="rules" ref="route" label-width="110px" class="demo-ruleForm" :inline="true"
style="padding-left:40px">
<el-form-item label="专病管理路径" prop="routeId">
<specialDiseaseRoute @on-template="ontemplate"></specialDiseaseRoute>
<specialDiseaseRoute @on-template="ontemplate" v-if="signPackage.servicePackageId"
:servicePackageId="signPackage.servicePackageId" :routeName="route.routeName"
:routeId="route.routeId">
</specialDiseaseRoute>
<el-button size="small" @click="noservicePackageId" v-else
style="width: 200px;font-size:14px;color:#C0C4CC;text-align:left">
请选择专病管理路径</el-button>
</el-form-item>
</el-form>
<el-descriptions title="硬件信息" style="padding:20px 30px 10px" class="descriptions">
</el-descriptions>
<el-form :model="form" :rules="rules" ref="form" label-width="100px" class="demo-ruleForm" :inline="true"
<el-form :model="form" :rules="rules" ref="form" label-width="110px" class="demo-ruleForm" :inline="true"
style="padding-left:40px">
<div v-for="(item, index) in form.devices" :key="index">
<el-form-item label="硬件类型" :prop="`devices[${index}].hardwareType`"
@ -180,6 +186,12 @@ export default {
servicePackageId: [
{ required: true, message: '请选择服务包', trigger: 'change' }
],
healthManageId: [
{ required: true, message: '请选择健康管理师', trigger: 'change' }
],
routeId: [
{ required: true, message: '请选择专病管理路径', trigger: 'change' }
],
devices: {
snCode: [
{ required: true, message: '请输入SN码', trigger: 'change' }
@ -225,6 +237,8 @@ export default {
this.route.routeName = item.routeName
},
tappackage(id) {
this.route.routeId = ''
this.route.routeName = ''
let item = this.packagelist.find(e => e.id == id)
this.signPackage = { ...this.signPackage, ...item }
let datetime = new Date();
@ -302,6 +316,9 @@ export default {
});
})
},
noservicePackageId() {
this.$message.error('请先选择服务包!!');
},
}
};
</script>

View File

@ -7,6 +7,7 @@
:inline="true"
v-show="showSearch"
label-width="68px"
@submit.native.prevent
>
<!-- <el-form-item label="所属分组id" prop="groupId">
<el-input

View File

@ -39,20 +39,30 @@
>
</el-option>
</el-select>
<!-- <el-input
v-model="queryParams.departmentName"
placeholder="请输入所属科室名称"
clearable
@keyup.enter.native="handleQuery"
/> -->
</el-form-item>
<el-form-item label="宣教来源" prop="hospitalAgencyId">
<el-input
<el-select
v-model="queryParams.hospitalAgencyId"
filterable
placeholder="请选择医院"
style="width: 200px"
clearable
@change="changehospitalAgency"
>
<el-option
v-for="item in hospitalAgencylist"
:key="item.id"
:label="item.agencyName"
:value="item.id"
>
</el-option>
</el-select>
<!-- <el-input
v-model="queryParams.hospitalAgencyId"
placeholder="请输入宣教来源"
clearable
@keyup.enter.native="handleQuery"
/>
/> -->
</el-form-item>
<el-form-item label="宣教状态" prop="propagandaStatus">
<el-select v-model="queryParams.propagandaStatus" placeholder="请选择">
@ -214,7 +224,7 @@
<el-table-column
label="宣教来源"
align="center"
prop="hospitalAgencyId"
prop="hospitalAgencyName"
/>
<el-table-column label="创建时间" align="center" prop="createTime" />
<el-table-column label="更新时间" align="center" prop="updateTime" />
@ -305,7 +315,11 @@
/>
</el-form-item>
<el-form-item label="宣教ID" prop="propagandaCode">
<el-input v-model="form.propagandaCode" placeholder="请输入宣教ID" onKeyUp="value=value.replace(/[\W]/g,'')"/>
<el-input
v-model="form.propagandaCode"
placeholder="请输入宣教ID"
onKeyUp="value=value.replace(/[\W]/g,'')"
/>
</el-form-item>
<el-form-item label="宣教类型" prop="propagandaType">
<el-select
@ -329,7 +343,6 @@
placeholder="请选择医院"
style="width: 200px"
clearable
@change="changehospitalAgency"
>
<el-option
v-for="item in hospitalAgencylist"
@ -428,17 +441,18 @@
placeholder="请输入语音播报"
/>
</el-form-item>
<el-form-item label="宣教正文内容" prop="propagandaContent">
<el-form-item label="文章摘要" prop="articleSummary">
<el-input
v-model="form.propagandaContent"
v-model="form.articleSummary"
type="textarea"
style="width: 206px"
placeholder="请输入宣教正文内容"
placeholder="请输入文章摘要"
maxlength="300"
/>
</el-form-item>
<el-form-item label="添加封面" prop="propagandaCoverPath">
<stationAcatar
v-if="open"
v-if="open"
@imgUrl="imgUrl"
:img="form.propagandaCoverPath"
:type="'propagandaCoverUrl'"
@ -466,8 +480,13 @@
controls
></video>
</el-form-item>
<el-form-item label="文章摘要" prop="articleSummary">
<editor v-model="form.articleSummary" :min-height="192" style="width:800px"/>
<el-form-item label="正文内容" prop="propagandaContent">
<editor
v-model="form.propagandaContent"
:min-height="192"
style="width: 800px"
@input="checkContentLength"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -734,7 +753,17 @@
</div>
<!-- <div class="dataliat">素材来源</div> -->
<!-- <div class="dataliat">标签暂无</div> -->
<div class="dataliat bq" v-if="item.indications || item.drugName || item.applicableDiseases || item.surgicalName || item.inspectionItems || item.checkItems ">
<div
class="dataliat bq"
v-if="
item.indications ||
item.drugName ||
item.applicableDiseases ||
item.surgicalName ||
item.inspectionItems ||
item.checkItems
"
>
标签
<span v-if="item.indications">{{ item.indications }}</span>
@ -748,10 +777,7 @@
>
<span v-if="item.checkItems">{{ item.checkItems }}</span>
</div>
<div class="dataliat bq" v-else>
标签暂无
</div>
<div class="dataliat bq" v-else>标签暂无</div>
</div>
<div class="label" @click.stop="labelchange(item)">加到文章</div>
@ -818,16 +844,17 @@ export default {
name: "Propaganda",
components: { stationAcatar },
data() {
//
var isimgPath = (rule, value, callback) => {
//
var isimgPath = (rule, value, callback) => {
console.log(value)
if (!this.form.imgPath) {
callback(new Error("素材选择不能为空"));
} else {
callback();
callback();
}
};
return {
maxLength: 20000,
itemname: null,
departmentName: null,
diseaseTypeName: null,
@ -988,7 +1015,7 @@ export default {
{ required: true, message: "封面不能为空", trigger: "blur" }
],
imgPath: [
{ required: true, message: "",validator: isimgPath, trigger: "blur" }
{ required: true, message: "", validator: isimgPath, trigger: "blur" }
],
},
};
@ -1027,6 +1054,15 @@ export default {
}
},
methods: {
checkContentLength() {
// console.log(this.form.propagandaContent.length, 'this.form.propagandaContent.length')
if (this.form.propagandaContent.length - 7 > this.maxLength) {
this.$message({
type: "error",
message: "已达到最大输入长度"
});
}
},
//list
selectAgencyinfo() {
let query = {
@ -1446,6 +1482,12 @@ export default {
submitForm() {
// return
console.log(this.form)
if (this.form.propagandaContent.length - 7 > this.maxLength) {
this.$message({
type: "error",
message: "已达到最大输入长度"
});
}else{
this.$refs["form"].validate(valid => {
if (valid) {
@ -1460,7 +1502,7 @@ export default {
} else {
if (this.diseaseTypeName == '请选择病种') {
this.form.diseaseTypeName = null
} else if(this.diseaseTypeName){
} else if (this.diseaseTypeName) {
this.form.diseaseTypeName = this.diseaseTypeName
}
addPropaganda(this.form).then(response => {
@ -1473,6 +1515,7 @@ export default {
}
}
});
}
},
/** 删除按钮操作 */
handleDelete(row) {
@ -1498,7 +1541,6 @@ export default {
// ::v-deep .el-form-item--medium .el-form-item__content{
// width: 800px;
// }
.propagandaselect {
width: 100px;

View File

@ -756,11 +756,19 @@ export default {
},
//
handlesee(row) {
const id = row.id
if(row.scriptFilePath){
const id = row.id
getScript(id).then(response => {
this.form = response.data;
this.dialogsee = true;
});
}else{
this.$modal.msgError("暂无预览信息");
}
},
//

View File

@ -199,6 +199,7 @@
v-model="form.templateContent"
placeholder="请输入模板内容"
type="textarea"
maxlength="300"
/>
<!-- <editor v-model="form.templateContent" :min-height="192"/> -->

View File

@ -7,6 +7,8 @@
:inline="true"
v-show="showSearch"
label-width="68px"
@submit.native.prevent
>
<el-form-item label="手术名称" prop="operationName">
<el-input

View File

@ -95,7 +95,6 @@ export default ({
},
methods: {
emit() {
console.log()
this.$emit("on-nodeContent", { nodeContent: this.html });
},
panelchange(item) {

View File

@ -48,10 +48,10 @@
<el-card v-for="(uitem, uindex) in item.list" :key="uitem.id"
@click.native='bottomclickevent(uitem, index, uindex)'
:class="listindex == index && itemindex == uindex ? 'cards' : ''">
<h3 style="height: 20px;">{{ uitem.taskType }}</h3>
<h3 style="height: 20px;">{{ uitem.taskTypeName }}</h3>
<el-tag v-if="uitem.routeCheckStatus == 'AGREE'" class="routeCheckStatus">已审核</el-tag>
<el-tag v-else type="warning" class="routeCheckStatus">未审核</el-tag>
<p style="height: 16px;">{{ uitem.taskSubdivision }}</p>
<p style="height: 16px;">{{ uitem.taskSubdivisionName }}</p>
</el-card>
</el-timeline-item>
</el-timeline>
@ -61,28 +61,28 @@
<el-form ref="form" :inline="true" :model="form" class="form">
<el-form-item label="任务类型" prop="">
<el-select v-model="form.taskType" style="width:110px" @change="changeTaskType">
<el-option v-for="item in selectTaskTypeList" :key="item.id" :label="item.taskTypeName"
:value="item.taskTypeName">
<el-option v-for="item in selectTaskTypeList" :key="item.taskTypeCode"
:label="item.taskTypeName" :value="item.taskTypeCode">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="任务细分" prop="">
<el-select v-model="form.taskSubdivision" style="width:110px"
@change="changetaskSubdivision">
<el-option v-for="item in taskPartitionList" :key="item.id" :label="item.taskTypeName"
:value="item.taskTypeName">
<el-option v-for="item in taskPartitionList" :key="item.taskPartitionCode"
:label="item.taskPartitionName" :value="item.taskPartitionCode">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="任务状态" prop="">
<el-select v-model="form.taskStatus" style="width:100px">
<el-select v-model="form.taskStatus" style="width:110px">
<el-option v-for="item in taskStatusDictList" :key="item.id"
:label="item.taskStatusName" :value="item.taskStatusName">
:label="item.taskStatusName" :value="item.taskStatusCode">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="二级分类描述" prop="">
<el-input v-model="form.secondClassifyDescribe" style="width:100px"></el-input>
<el-input v-model="form.secondClassifyDescribe" style="width:110px"></el-input>
</el-form-item>
<el-form-item label="执行时间" prop="">
<el-time-select v-model="form.executionTime" style="width:120px" placeholder="选择时间">
@ -262,7 +262,9 @@
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="TemporaryStorage"> </el-button>
<el-button type="primary" @click="dialogVisible = true">审核完成 {{ agreeNumber ? agreeNumber : '0' }} / {{
<el-button type="primary" @click="dialogVisible = true" v-if="form.specialDiseaseNodeId">审核完成 {{ agreeNumber
? agreeNumber :
'0' }} / {{
totalNumber ? totalNumber : '0' }}</el-button>
</div>
<el-dialog title="提交审核完成" :visible.sync="dialogVisible" width="30%" :before-close="handleClose">
@ -351,7 +353,6 @@ export default {
},
created() {
this.taskinfo();
this.info();
},
beforeDestroy() { },
watch: {},
@ -359,6 +360,7 @@ export default {
},
methods: {
info() {
this.lists = []
if (this.$route.query) {
this.updata.suitRange = this.$route.query.suitRange
this.updata.routeName = this.$route.query.routeName
@ -489,33 +491,32 @@ export default {
taskinfo() {
selectTaskTypeList().then(res => {
this.selectTaskTypeList = res.data
this.info();
})
taskStatusDictList().then(res => {
this.taskStatusDictList = res.data
})
},
//
changeTaskType(name, taskSubdivision) {
let id = this.selectTaskTypeList?.find(e => e.taskTypeName == name).id
//
changeTaskType(code, taskSubdivision) {
let id = this.selectTaskTypeList?.find(e => e.taskTypeCode == code)?.id
this.form.taskTypeName = this.selectTaskTypeList?.find(e => e.taskTypeCode == code)?.taskTypeName
taskPartitionList(id).then(res => {
this.taskPartitionList = res.data
this.form.taskSubdivision = ''
this.form.taskSubdivisionName = ''
this.form.taskSubdivisiontemplateType = ''
this.selectTaskTypeList.forEach(el => {
if (name == el.taskTypeName) {
this.form.taskTypeId = el.id
}
})
if (taskSubdivision) {
this.form.taskSubdivision = taskSubdivision
this.changetaskSubdivision(taskSubdivision, 1)
}
})
},
changetaskSubdivision(name, type) {
this.form.taskSubdivision = name
//
changetaskSubdivision(code, type) {
this.form.taskSubdivisionName = this.taskPartitionList?.find(e => e.taskPartitionCode == code).taskPartitionName
this.taskPartitionList.forEach(el => {
if (name == el.taskTypeName) {
if (code == el.taskPartitionCode) {
this.form.executionTime = el.executionTime
this.form.taskSubdivisiontemplateType = el.templateType
if (!type) {
@ -604,11 +605,11 @@ export default {
routeCheckRemark: this.routeform.routeCheckRemark,
routeCheckPerson: JSON.parse(localStorage.getItem('user')).nickName
}).then(res => {
loading.close();
if (res.data == 1) {
this.info();
this.handleClose()
this.$modal.msgSuccess("审核成功!");
loading.close();
}
})
}

View File

@ -305,7 +305,7 @@ export default {
},
//
infolists() {
selectDiseaseCount(this.departmentName).then((res) => {
selectDiseaseCount(this.departmentName, '', '').then((res) => {
this.DepartmentoList = res.data;
});
},