提交 88e28773 编写于 作者: yi.li's avatar yi.li

选择患教页面

上级 2e76e6e2
...@@ -49,3 +49,7 @@ ...@@ -49,3 +49,7 @@
.el-form-item .el-form-item__label{ .el-form-item .el-form-item__label{
font-size: 14px; font-size: 14px;
} }
.el-message-box__content{
padding: 20px 15px;
}
<template>
<el-dialog
title="选择患教内容"
:visible.sync="showCartoonDialog"
v-if="isSelectCartoon"
:before-close="clickClose"
center>
<div class="select-content">
<div class="first-section">
<el-select placeholder="请选择疾病" v-model="diseaseId">
</el-select>
<el-select placeholder="请选择类目" v-model="typeId" style="margin-left:20px;">
</el-select>
</div>
<div class="scroll-section">
<el-radio-group v-model="sendObj.hasSelected">
<el-radio
v-for="(item, index) in cartoonList"
:key="index"
:label="index" class="radio-item">{{item.name}}</el-radio>
</el-radio-group>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button class="button-green" @click="clickClose" plain>取 消</el-button>
<el-button class="button-white" @click="sureSelect" type="primary">确 定</el-button>
</span>
</el-dialog>
</template>
<script>
export default {
components: {},
data() {
return {
sendObj: {
hasSelected: '',
closeStatus: false,
},
diseaseId: '',
typeId: '',
showCartoonDialog: true,
cartoonList: [
{
name: '降压药什么时候服用?'
},
{
name: '得了高血压怎么办?'
},
{
name: '降压药什么时候服用?'
},
{
name: '得了高血压怎么办?'
},
{
name: '降压药什么时候服用?'
},
],
}
},
props: {
isSelectCartoon: {
type: Boolean,
default: function () {
return false;
}
},
},
created() {
},
mounted() {
},
methods: {
clickClose() {
this.sendObj.hasSelected = '';
this.$emit('closeSelectCartoon', this.sendObj)
},
sureSelect() {
this.$emit('closeSelectCartoon', this.sendObj);
},
},
}
</script>
<style scoped lang="scss">
.select-content{
.first-section{
}
.scroll-section{
margin-top: 20px;
border: 1px solid #DCDFE6;
border-radius: 5px;
height: 300px;
overflow-y: scroll;
padding-left: 10px;
.radio-item{
padding: 10px 0;
display: block;
width: 100%;
border-bottom: 1px solid #DCDFE6;
}
&::-webkit-scrollbar{
width:5px;
}
&::-webkit-scrollbar-thumb {/*滚动条里面小方块*/
border-radius: 10px;
-webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
background: rgba(0,0,0,0.1);
}
}
}
.el-radio-group{
width: 100%;
}
</style>
<template>
<div>
<p><el-button plain icon="el-icon-plus" round @click="addNewNode('timeForm')">新增时间节点</el-button><br></p>
<div class="add-time-content">
<div class="time-line-scroll">
<!--<span>设置随访时间<i class="el-icon-circle-close-outline"></i></span>-->
<el-button type="primary" size="mini" round>设置随访时间 <i class="el-icon-circle-close-outline"></i></el-button>
<!--<el-button type="primary" size="mini" round>开始后{{timeForm.followupTime}}{{timeForm.followupMark}} <i class="el-icon-circle-close-outline"></i></el-button>-->
</div>
<div class="form-div">
<el-form ref="timeForm" :model="timeForm" :rules="timeFormRules" label-suffix=":" label-width="140px" :inline-message="true">
<el-form-item label="本次随访时间" required>
<div style="display: flex;">
<el-form-item prop="followupTime">
<el-select v-model="timeForm.followupTime" placeholder="请选择" clearable>
<el-option
v-for="item in indexOptions"
:key="item.value"
:label="item.label"
:value="item.label">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="followupMark" class="ml20">
<el-select v-model="timeForm.followupMark" placeholder="请选择">
<el-option
v-for="item in markOptions"
:key="item.value"
:label="item.label"
:value="item.label">
</el-option>
</el-select>
</el-form-item>
</div>
</el-form-item>
<el-form-item label="随访方式" prop="followupWay">
<el-radio-group v-model="timeForm.followupWay">
<el-radio :label="1">门诊随访</el-radio>
<el-radio :label="2">上门随访</el-radio>
<el-radio :label="3">电话随访</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="提醒医生预约居民">
<el-select
v-model="timeForm.remindTime"
multiple
collapse-tags
placeholder="请选择">
<el-option
v-for="item in remindOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="推送患教">
<div style="display: flex">
<el-select v-model="timeForm.pushTime" placeholder="选择推送时间" clearable>
<el-option
v-for="item in pushTimeOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-button plain class="ml20" @click="goSelectCartoon">选择健康漫画</el-button>
</div>
</el-form-item>
<el-form-item label="随访登记表">
<el-select
v-model="timeForm.followupForm"
multiple
collapse-tags
placeholder="请选择">
<el-option
v-for="item in formOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-form>
</div>
</div>
<select-cartoon :isSelectCartoon="isSelectCartoon" @closeSelectCartoon="closeSelectCartoon"></select-cartoon>
</div>
</template>
<script>
import SelectCartoon from '@/views/followup/plan-manage/dialog/select-cartoon';
export default {
components: {SelectCartoon},
data() {
return {
isSelectCartoon: false,
timeForm: {
followupTime: '',
followupMark: '天',
followupWay: '',
pushTime: '',
remindTime: [],
followupForm: [],
},
indexOptions: [
{
value: '0',
label: '0'
}, {
value: '1',
label: '1'
},
],
markOptions: [
{
value: '0',
label: '天'
}, {
value: '1',
label: '周'
},
{
value: '2',
label: '月'
}, {
value: '3',
label: '年'
}
],
remindOptions: [
{
value: '0',
label: '开始前30天'
}, {
value: '1',
label: '开始前20天'
},
{
value: '2',
label: '开始前10天'
},
],
pushTimeOptions: [
{
value: '0',
label: '开始前7天'
}, {
value: '1',
label: '开始前3天'
},
{
value: '2',
label: '当天'
},
],
formOptions: [
{
value: '0',
label: '随访登记表1'
}, {
value: '1',
label: '随访登记表2'
},
{
value: '2',
label: '随访登记表3'
},
],
timeFormRules: {
followupTime: [{ required: true, message: '请添加随访时间', trigger: 'change' }],
followupMark: [{ required: true, message: '请添加随访时间', trigger: 'change' }],
followupWay: [{ required: true, message: '请选择随访方式', trigger: 'change' }],
},
}
},
methods: {
addNewNode(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
} else {
return false;
}
});
},
goSelectCartoon() {
this.isSelectCartoon = true;
},
closeSelectCartoon(val) {
this.isSelectCartoon = val.closeStatus;
},
},
}
</script>
<style scoped lang="scss">
.add-time-content{
padding-top: 20px;
.time-line-scroll{
width: 100%;
height: 50px;
box-sizing: border-box;
background-color: #F0F2F5;
padding: 8px 10px;
/*display: flex;*/
/*align-items: center;*/
overflow-x: scroll;
overflow-y: hidden;
white-space: nowrap;
position: relative;
cursor: pointer;
&::-webkit-scrollbar{
height: 6px;
}
&::-webkit-scrollbar-thumb {/*滚动条里面小方块*/
border-radius: 10px;
-webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
background: rgba(0,0,0,0.1);
}
span{
display: inline-block;
background-color: #449284;
border-radius: 20px;
height: 28px;
line-height: 28px;
padding: 0 8px;
color: #ffffff;
font-size: 12px;
width: 95px;
}
}
.form-div{
padding-top: 30px;
}
}
.ml20{
margin-left: 20px;
}
</style>
...@@ -80,89 +80,7 @@ ...@@ -80,89 +80,7 @@
</div> </div>
<div class="edit-plan-content" v-if="activeTab === 'second'"> <div class="edit-plan-content" v-if="activeTab === 'second'">
<p><el-button plain icon="el-icon-plus" round>新增时间节点</el-button><br></p> <set-time-node></set-time-node>
<div class="add-time-content">
<div class="time-line-scroll">
<span>设置随访时间1</span>
<!--<el-button type="primary" size="mini" round>设置随访时间1</el-button>-->
</div>
<div class="form-div">
<el-form ref="timeForm" :model="timeForm" :rules="timeFormRules" label-suffix=":" label-width="140px" :inline-message="true">
<el-form-item label="本次随访时间" required>
<div style="display: flex;">
<el-form-item prop="followupTime">
<el-select v-model="timeForm.followupTime" placeholder="请选择" clearable>
<el-option
v-for="item in indexOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="followupMark" class="ml20">
<el-select v-model="timeForm.followupMark" placeholder="请选择">
<el-option
v-for="item in markOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</div>
</el-form-item>
<el-form-item label="随访方式" prop="followupWay">
<el-radio-group v-model="timeForm.followupWay">
<el-radio :label="1">门诊随访</el-radio>
<el-radio :label="2">上门随访</el-radio>
<el-radio :label="3">电话随访</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="提醒医生预约居民">
<el-select
v-model="timeForm.remindTime"
multiple
collapse-tags
placeholder="请选择">
<el-option
v-for="item in remindOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="推送患教">
<div style="display: flex">
<el-select v-model="timeForm.pushTime" placeholder="选择推送时间" clearable>
<el-option
v-for="item in pushTimeOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-button plain class="ml20">选择健康漫画</el-button>
</div>
</el-form-item>
<el-form-item label="随访登记表">
<el-select
v-model="timeForm.followupForm"
multiple
collapse-tags
placeholder="请选择">
<el-option
v-for="item in formOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-form>
</div>
</div>
</div> </div>
</div> </div>
...@@ -174,9 +92,9 @@ ...@@ -174,9 +92,9 @@
<script> <script>
import BreadCrumb from '@/components/breadcrumb' import BreadCrumb from '@/components/breadcrumb'
//选择居民dialog
import SelectPatient from '@/views/followup/plan-manage/dialog/select-patient'; import SelectPatient from '@/views/followup/plan-manage/dialog/select-patient';
import HasSelectedPatient from '@/views/followup/plan-manage/dialog/has-selected-patient'; import HasSelectedPatient from '@/views/followup/plan-manage/dialog/has-selected-patient';
import SetTimeNode from '@/views/followup/plan-manage/dialog/set-time-node';
// import { mapState, mapActions } from 'vuex' // import { mapState, mapActions } from 'vuex'
export default { export default {
...@@ -185,6 +103,7 @@ ...@@ -185,6 +103,7 @@
BreadCrumb, BreadCrumb,
SelectPatient, SelectPatient,
HasSelectedPatient, HasSelectedPatient,
SetTimeNode,
}, },
data() { data() {
return { return {
...@@ -204,14 +123,6 @@ ...@@ -204,14 +123,6 @@
followupKind: '', followupKind: '',
hasSelectedNum: 0, hasSelectedNum: 0,
}, },
timeForm: {
followupTime: '',
followupMark: '0',
followupWay: '',
pushTime: '',
remindTime: [],
followupForm: [],
},
isShowSelectPatient: false, isShowSelectPatient: false,
isShowSelectedDialog: false, isShowSelectedDialog: false,
hasSelectedList: [], hasSelectedList: [],
...@@ -236,81 +147,12 @@ ...@@ -236,81 +147,12 @@
label: '术后随访' label: '术后随访'
} }
], ],
indexOptions: [
{
value: '0',
label: '0'
}, {
value: '1',
label: '1'
},
],
markOptions: [
{
value: '0',
label: '天'
}, {
value: '1',
label: '周'
},
{
value: '2',
label: '月'
}, {
value: '3',
label: '年'
}
],
remindOptions: [
{
value: '0',
label: '开始前30天'
}, {
value: '1',
label: '开始前20天'
},
{
value: '2',
label: '开始前10天'
},
],
pushTimeOptions: [
{
value: '0',
label: '开始前7天'
}, {
value: '1',
label: '开始前3天'
},
{
value: '2',
label: '当天'
},
],
formOptions: [
{
value: '0',
label: '随访登记表1'
}, {
value: '1',
label: '随访登记表2'
},
{
value: '2',
label: '随访登记表3'
},
],
rules: { rules: {
name: [{ required: true, message: '请输入随访计划名称', trigger: 'blur' }], name: [{ required: true, message: '请输入随访计划名称', trigger: 'blur' }],
hasSelectedNum: [{ required: true, message: '请添加随访居民', trigger: 'change' }], hasSelectedNum: [{ required: true, message: '请添加随访居民', trigger: 'change' }],
followupTemplate: [{ required: true, message: '请选择随访模板', trigger: 'change' }], followupTemplate: [{ required: true, message: '请选择随访模板', trigger: 'change' }],
startTime: [{ required: true, message: '请选择随访开始时间', trigger: 'change' }], startTime: [{ required: true, message: '请选择随访开始时间', trigger: 'change' }],
}, },
timeFormRules: {
followupTime: [{ required: true, message: '请添加随访时间', trigger: 'change' }],
followupMark: [{ required: true, message: '请添加随访时间', trigger: 'change' }],
followupWay: [{ required: true, message: '请选择随访方式', trigger: 'change' }],
},
} }
}, },
created() { created() {
...@@ -365,20 +207,21 @@ ...@@ -365,20 +207,21 @@
}); });
}, },
nextClick(formName) { nextClick(formName) {
if(!this.baseInfo.hasSelectedNum) {
this.noChoice = true
return;
}else {
this.noChoice = false
}
this.$refs[formName].validate((valid) => {
if (valid) {
// this.$refs['statusForm'].resetFields();
this.activeTab = 'second'; this.activeTab = 'second';
} else { // if(!this.baseInfo.hasSelectedNum) {
return false; // this.noChoice = true
} // return;
}); // }else {
// this.noChoice = false
// }
// this.$refs[formName].validate((valid) => {
// if (valid) {
// // this.$refs['statusForm'].resetFields();
// this.activeTab = 'second';
// } else {
// return false;
// }
// });
}, },
preClick() { preClick() {
this.activeTab = 'first'; this.activeTab = 'first';
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册