Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
17d8530ebc
@ -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
|
||||
})
|
||||
|
||||
@ -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
|
||||
})
|
||||
|
||||
@ -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
|
||||
})
|
||||
|
||||
@ -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',
|
||||
|
||||
})
|
||||
|
||||
@ -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
|
||||
})
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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'">
|
||||
|
||||
@ -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);
|
||||
}
|
||||
},
|
||||
/** 提交按钮 */
|
||||
|
||||
386
src/views/manage/components/RehabilitationPlanandRecords.vue
Normal file
386
src/views/manage/components/RehabilitationPlanandRecords.vue
Normal 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>
|
||||
@ -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;
|
||||
// 隐藏表头的滚动条
|
||||
|
||||
@ -92,7 +92,6 @@ export default {
|
||||
// 日期填空题
|
||||
timepicker(e, index) {
|
||||
this.questiondata.questionSubjectList[index].fillBlanksAnswer = e
|
||||
|
||||
},
|
||||
// 复选框
|
||||
radioChangecheck(e, item, index, aindex) {
|
||||
|
||||
789
src/views/manage/components/specialDiseaseNodeopen.vue
Normal file
789
src/views/manage/components/specialDiseaseNodeopen.vue
Normal 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>
|
||||
@ -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;
|
||||
|
||||
583
src/views/manage/components/wangEditor.vue
Normal file
583
src/views/manage/components/wangEditor.vue
Normal file
File diff suppressed because one or more lines are too long
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -249,6 +249,7 @@
|
||||
v-model="form.textMessageContent"
|
||||
placeholder="请输入短信内容"
|
||||
type="textarea"
|
||||
maxlength="300"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="适用任务类型" prop="suitTaskTypeIds">
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -7,6 +7,7 @@
|
||||
:inline="true"
|
||||
v-show="showSearch"
|
||||
label-width="68px"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<!-- <el-form-item label="所属分组id" prop="groupId">
|
||||
<el-input
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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("暂无预览信息");
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
// 预览关闭
|
||||
|
||||
@ -199,6 +199,7 @@
|
||||
v-model="form.templateContent"
|
||||
placeholder="请输入模板内容"
|
||||
type="textarea"
|
||||
maxlength="300"
|
||||
/>
|
||||
|
||||
<!-- <editor v-model="form.templateContent" :min-height="192"/> -->
|
||||
|
||||
@ -7,6 +7,8 @@
|
||||
:inline="true"
|
||||
v-show="showSearch"
|
||||
label-width="68px"
|
||||
@submit.native.prevent
|
||||
|
||||
>
|
||||
<el-form-item label="手术名称" prop="operationName">
|
||||
<el-input
|
||||
|
||||
@ -95,7 +95,6 @@ export default ({
|
||||
},
|
||||
methods: {
|
||||
emit() {
|
||||
console.log()
|
||||
this.$emit("on-nodeContent", { nodeContent: this.html });
|
||||
},
|
||||
panelchange(item) {
|
||||
|
||||
@ -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();
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@ -305,7 +305,7 @@ export default {
|
||||
},
|
||||
//科室
|
||||
infolists() {
|
||||
selectDiseaseCount(this.departmentName).then((res) => {
|
||||
selectDiseaseCount(this.departmentName, '', '').then((res) => {
|
||||
this.DepartmentoList = res.data;
|
||||
});
|
||||
},
|
||||
|
||||
Loading…
Reference in New Issue
Block a user