提交 1cd22ccb 编写于 作者: tao.wu's avatar tao.wu

Merge branch 'dev-followUp-20190312' of...

Merge branch 'dev-followUp-20190312' of 192.168.110.53:com.pica.cloud.education.frontend/pica.cloud.web-education-admin into dev-followUp-20190312
文件已删除
......@@ -6,4 +6,5 @@ dist/
/yqy/
node_modules/
.DS_Store
.vscode
.vscode/
.idea/
此差异已折叠。
{
"editor.fontSize": 15
}
\ No newline at end of file
......@@ -48,10 +48,10 @@ export default {
},
created() {
vm = this
vm.getToken()
// vm.getToken()
},
mounted() {
},
methods: {
// 解密token
......@@ -69,13 +69,13 @@ export default {
} else {
if(!localStorage.getItem('storageToken')) {
window.location.href = getLoginUrl('?from=work&type=logout') // 没有token返回登录页面
return
}
return
}
}
}else {
if(!localStorage.getItem('storageToken')) {
window.location.href = getLoginUrl('?from=work&type=logout') // 没有token返回登录页面
return
return
}
}
vm.changeToken(vm.token)
......
......@@ -123,7 +123,7 @@ export default {
context.commit('GET_PLAN_OPTION', data);
});
},
changePlan(context, payload) {
changePlan(context, payload) {
changePlan({
}).then(({data}) => {
......@@ -132,7 +132,7 @@ export default {
},
getTimeNodeList(context, payload){
context.commit('SET_TIME_NODE_LIST', payload);
},
},
async getPlanList(context, payload) {
await getPlanList({
...payload
......
......@@ -17,7 +17,7 @@ export default {
},
mutations: {
GET_RESERVATION_LIST(state, payload) {
state.reservationList = payload.data.enteringDtos
state.reservationList = payload;
},
GET_CHECK_RESERVATION(state, payload) {
state.checkRevervationData = payload
......
......@@ -9,22 +9,11 @@ export default {
},
mutations: {
GET_TODAY_PLAN_LIST(state, payload) {
// state.todayPlansList = payload.data
state.todayPlansList = [
{
patientName: 'wewe',
status: 1,
appointTime: '2019-03-05'
}
]
console.log('返回数据', payload)
state.todayPlansList = payload
},
GET_TODAY_APPOINTS_LIST(state, payload) {
state.todayAppointsList = [
{
planName: 'wewe',
appointTime: '2019-03-05'
}
]
state.todayAppointsList = payload
},
GET_TODAY_OVERVIEW(state, payload) {
state.todayOverview = payload
......
......@@ -14,7 +14,7 @@ service.interceptors.request.use(config => {
if( config.headers['sysCode']==undefined) {
config.headers['sysCode'] = 12
}
config.headers['token'] = 'B19ABBCB6B7A4B6F887A1ED6BCB69FD6'
config.headers['token'] = 'D74A6C7C61564EB1B3DC83251F33D173'
//config.headers['token'] = localStorage.getItem('storageToken')
config.headers['deviceInfo'] = JSON.stringify({ "app_channel": "", "app_mac": "", "app_uuid": "", "app_version": "", "device_brand": "", "device_ip": "", "device_model": "", "device_net": "", "device_ops": "", "resolution_wh": "", "system_level": "", "device_type": '10' })
// if (config.data && config.data.setEntry) {
......
......@@ -7,9 +7,9 @@ import utils from './followupUtils';
const headers = null /*{
const headers = {
sysCode: 45
}*/
} /**/
/*工作台*/
export const getTodayAppointsList = (params) => {
return fetch({
......
<template>
<div class="finish-followup" v-if="showThisPage">
<el-dialog
title="恢复随访"
:visible.sync="showFinishFollowup"
v-if="showThisPage"
:before-close="clickClose"
width="30%"
center>
<div class="finish-content">
<el-form
:model="recoverData"
:rules="rules"
label-width="100px">
<el-form-item label="居民:">
{{recoverData.patientName}}
</el-form-item>
<el-form-item label="恢复原因:" prop="finishReason">
<el-input
type="textarea"
v-model="recoverData.finishReason"
placeholder="请输入原因"
maxlength="30"
rows="3"
resize="none"></el-input>
</el-form-item>
</el-form>
</div>
<span slot="footer" class="dialog-footer">
<el-button class="button-green" @click="clickClose" size="small" type="primary">取 消</el-button>
<el-button class="button-white" @click="clickClose" size="small" plain>确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
name: "recover-followup",
props: {
showThisPage: { //是否显示model
type: Boolean,
default: function () {
return false;
}
},
recoverData: {
type: Object,
default: function () {
return {};
}
}
},
data() {
return {
showFinishFollowup: true,
rules: {
recoverData: [
{ required: true, message: '请输入恢复原因', trigger: 'blur' },
{ min: 1, max: 30, message: '长度在30个字符内', trigger: 'blur' }
],
}
}
},
methods: {
clickClose() {
this.$emit('closeRecoverFollowup',false)
},
}
}
</script>
<style scoped>
.el-input__inner:disabled {
background-color: #ffffff!important;
}
</style>
<style lang="scss" scoped>
@import '../../../../style/followup/followup-common';
@import '../../../../style/followup/element-reset.css';
</style>
......@@ -53,17 +53,17 @@
<div class="followup-contents">
<div class="content-div">
<div class="c-title">随访方式:</div>
<div class="c-content">{{nodeContent.typeStr}}</div>
<div class="c-content">{{nodeContent[0].typeStr}}</div>
</div>
<div class="content-div">
<div class="c-title">提醒医生预约居民:</div>
<div class="c-content more-content">
<p v-for="item in nodeContent.remindList">{{item.startDaysStr}}</p>
<p v-for="item in nodeContent[0].remindList">{{item.startDaysStr}}</p>
</div>
</div>
<div class="content-div">
<div class="c-title">推送患教:</div>
<div class="c-content more-content" v-for="item in nodeContent.pushContentList">
<div class="c-content more-content" v-for="item in nodeContent[0].pushContentList">
<p>{{item.startDaysStr}} <span class="click-text" >{{item.sendContent}}</span></p>
<p class="reminding">推送规则:优先微信推送,如果居民没关注云鹊医公众号,将短信推送,短信推送会消耗您的额度。推送详情请前往云鹊医app患教中心查询</p>
</div>
......@@ -71,7 +71,7 @@
<div class="content-div">
<div class="c-title">随访登记表:</div>
<div class="c-content more-content">
<p class="click-text" v-for="item in nodeContent.followupList" >{{item.sendContent}}</p>
<p class="click-text" v-for="item in nodeContent[0].followupList" >{{item.sendContent}}</p>
</div>
</div>
</div>
......@@ -104,6 +104,7 @@
timeNodes: null,//时间节点
showFollowTime: false, //是否展示全部时间
thisNodeContents: {},
nodeContent: {}, //节点详情
}
},
created() {
......@@ -118,7 +119,6 @@
residentDetail: state => state.residentDetail,
planDetail: state => state.planDetail,
nodeTimeList: state => state.nodeTimeList,
nodeContent: state => state.nodeContent
})
},
methods: {
......@@ -141,7 +141,10 @@
this.timeNodes = val.fPlanTimeDtoList[0].id
},
timeNodes(val) {
this.getNodeTimeContent(val)
this.nodeContent = this.planDetail.fPlanTimeDtoList.filter(function(item){
return item.id == val;
})
console.log('this.nodeContent',this.nodeContent[0])
}
}
}
......
......@@ -11,7 +11,7 @@
</el-form-item>
<el-form-item label="开始年份">
<el-select v-model="searchData.startYear" placeholder="请选择时间范围" style="width: 250px">
<el-option label="全部" value="0"></el-option>
<el-option label="全部" value=""></el-option>
<el-option
v-for="(item,index) in timeRangeList"
:key="item.value"
......@@ -78,15 +78,50 @@
curmbSecond: '计划管理',
searchData: {
name: '',
startYear: '0',
startYear: '',
},
timeRangeList:[{
timeRangeList:[
{
label: '2018年',
value: 0
}, {
label: '2019年',
value: 1
},{
label: '2018年',
label: '2020年',
value: 2
}],
}, {
label: '2021年',
value: 3
},{
label: '2022年',
value: 4
},{
label: '2023年',
value: 5
},{
label: '2024年',
value: 6
},{
label: '2025年',
value: 7
},{
label: '2026年',
value: 8
},{
label: '2027年',
value: 9
},{
label: '2028年',
value: 10
},{
label: '2029年',
value: 11
},{
label: '2030年',
value: 12
}
],
paginationSet: {
pageNo: 1,
pageSize: 10,
......
......@@ -48,7 +48,7 @@
</el-form-item>
</el-form>
<div class="edit-plan-content">
<set-time-node ></set-time-node>
<set-time-node :setTimeNodeList="setTimeNodeList" @setTimeNodeListOnCom="setTimeNodeListOnCom"></set-time-node>
</div>
</div>
<select-patient
......@@ -106,6 +106,7 @@
isShowSelectPatient: false, //显示居民选择框
isShowSelectedDialog: false, //显示已选居民
hasSelectedList: [], //已选居民
nodeListModify: [], //修改node列表
showFollowTime: false, //是否展示全部时间
}
},
......@@ -123,11 +124,12 @@
planDetail: state => state.planDetail,
nodeTimeList: state => state.nodeTimeList,
residentList: state => state.residentList,
remarkOption: state => state.remarkOption
remarkOption: state => state.remarkOption,
setTimeNodeList: state => state.setTimeNodeList
})
},
methods: {
...mapActions('planManage', ['getPlanDetail', 'getNodeTimeList', 'getResidentList', 'getRemarkOption']),
...mapActions('planManage', ['getPlanDetail', 'getNodeTimeList', 'getResidentList', 'getRemarkOption', 'getTimeNodeList']),
selectPatientHandler() {
this.isShowSelectPatient = true;
},
......@@ -185,7 +187,16 @@
closeFollowTime(isShow) {
this.showFollowTime = isShow
},
setTimeNodeListOnCom(val){
this.getTimeNodeList(val)
},
},
watch: {
planDetail(val) {
// this.setTimeNodeList = val.fPlanTimeDtoList
this.setTimeNodeListOnCom(val.fPlanTimeDtoList)
}
}
}
</script>
......
......@@ -51,7 +51,8 @@
<el-radio-button label="2">已结束({{residentList.yesCount}})</el-radio-button>
</el-radio-group>
<div class="btn-left">
<el-button class="button-green" type="primary" size="small" @click="finishFollowup('all')">结束随访</el-button>
<el-button class="button-green" type="primary" size="small" v-if="status==2" @click="recoverFollowup('all')">恢复随访</el-button>
<el-button class="button-green" type="primary" size="small" v-else @click="finishFollowup('all')">结束随访</el-button>
<el-button class="button-white" plain size="small" @click="selectPatientHandler">添加居民</el-button>
</div>
</div>
......@@ -100,7 +101,8 @@
align="center">
<template slot-scope="scope">
<el-button class="btn-right-class" type="text" @click="changePlan(scope.row)" >变更计划</el-button>|
<el-button class="btn-right-class" type="text" @click="finishFollowup(scope.row)" >结束随访</el-button>
<el-button class="btn-right-class" type="text" v-if="status==2" @click="recoverFollowup(scope.row)" >恢复随访</el-button>
<el-button class="btn-right-class" type="text" v-else @click="finishFollowup(scope.row)" >结束随访</el-button>
</template>
</el-table-column>
</el-table>
......@@ -121,6 +123,7 @@
</div>
<change-plan :showThisPage="showChangePlan" :planChangeData="planChangeData" @closeChangePlan="closeChangePlan"></change-plan>
<finish-followup :showThisPage="showFinishFollowup" :finishData="finishData" @closeFinishFollowup="closeFinishFollowup"></finish-followup>
<recover-followup :showThisPage="showRecoverFollowup" :finishData="recoverData" @closeFinishFollowup="closeRecoverFollowup"></recover-followup>
<select-patient
:isShowSelectPatient="isShowSelectPatient"
@closeSelectPatient="closeSelectPatient"
......@@ -135,6 +138,8 @@
import ChangePlan from '@/views/followup/plan-manage/dialog/change-plan';
//结束随访dialog
import FinishFollowup from '@/views/followup/plan-manage/dialog/finish-followup';
//恢复随访dialog
import RecoverFollowup from '@/views/followup/plan-manage/dialog/finish-followup';
//添加居民
import SelectPatient from '@/views/followup/plan-manage/dialog/select-patient';
......@@ -145,7 +150,8 @@
BreadCrumb,
ChangePlan,
FinishFollowup,
SelectPatient
SelectPatient,
RecoverFollowup
},
data() {
return {
......@@ -166,6 +172,8 @@
planChangeData: {}, //变更计划数据
showFinishFollowup: false, //是否展示结束随访
finishData: {}, //结束数据
showRecoverFollowup: false, //是否展示恢复随访
recoverData: {}, //恢复数据
isShowSelectPatient: false, //显示居民选择框
hasSelectedList: [], //已选居民
finishPatientList: [], //结束随访居民(多选)
......@@ -254,6 +262,29 @@
closeFinishFollowup(isShow) {
this.showFinishFollowup = isShow
},
recoverFollowup(row) {
if(row=='all') {
if(this.finishPatientList.length<=0) {
this.$message({
message: '请选择居民!',
type: 'warning'
});
return;
}
this.finishData = {
patientName: row.patientName,
};
} else {
this.finishData = {
patientName: row.patientName,
};
}
this.showFinishFollowup = true;
},
closeRecoverFollowup(isShow) {
this.showRecoverFollowup = isShow
},
selectPatientHandler() {
this.isShowSelectPatient = true;
},
......
......@@ -67,20 +67,18 @@
if (valid) {
//后面更改为接口调用
changeEnteringStatus({
info: {
fuPlanPatientTimesId: this.statusForm.fuPlanPatientTimesId,
patientId: this.statusForm.patientId,
status: this.statusForm.status,
reason: this.statusForm.reason,
}
fuPlanPatientTimesId: this.statusForm.fuPlanPatientTimesId,
patientId: this.statusForm.patientId,
status: (this.statusForm.status == 1 ? 2 : 1),
reason: this.statusForm.reason,
}).then(({data}) => {
if(data == 1) {
if(data == 2) {
this.$message.success('随访状态变更成功!');
this.$emit('closeChangeStatus',false);
this.$refs['statusForm'].resetFields();
}else {
return;
this.$message.error('随访状态变更失败!');
}
this.$emit('closeChangeStatus',false);
this.$refs['statusForm'].resetFields();
})
} else {
return false;
......
......@@ -36,11 +36,11 @@
</div>
<div class="table-content">
<el-radio-group v-model="activeName" @change="handlerClick" size="small">
<el-radio-button label="0">全部({{recordList.count}}</el-radio-button>
<el-radio-button label="1">已完成({{recordList.acceptCount}}</el-radio-button>
<el-radio-button label="2">未完成({{recordList.refuseCount}}</el-radio-button>
<el-radio-button label="">全部({{recordList.count}})</el-radio-button>
<el-radio-button label="2">已完成({{recordList.finishedCount}})</el-radio-button>
<el-radio-button label="1">未完成({{recordList.unfinishedCount}})</el-radio-button>
</el-radio-group>
<el-table :data="recordList.fuPlanInfoList" style="width: 100%;margin-top: 20px;">
<el-table :data="recordList.enteringDtos" style="width: 100%;margin-top: 20px;">
<el-table-column prop="nickname" label="姓名" min-width="100" align="center">
<template slot-scope="scope">
<span style="cursor: pointer" @click="visitDetail(scope.row)">{{scope.row.nickname}}</span>
......@@ -71,7 +71,7 @@
<el-row type="flex" justify="end" class="margin-top20">
<el-pagination
background
v-if="recordList.fuPlanInfoList"
v-if="recordList.enteringDtos"
@size-change="handleSizeChangePre"
@current-change="handleCurrentChangePre"
layout="total, sizes, prev, pager, next, jumper"
......@@ -112,7 +112,7 @@
nickname: '',
mobilePhone: ''
},
activeName: 0,
activeName: '',
paginationSet: {
pageNo: 1,
pageSize: 10,
......@@ -146,30 +146,31 @@
// ...mapActions('reservationManage', ['getConstantsData']),
...mapActions('recordManage', ['getRecordList', 'getEnteringInfo']),
async search(currentPage){
if(this.timeRangeList.length>0) {
if(this.timeRangeList) {
this.searchData.beginTime = this.timeRangeList[0];
this.searchData.endTime = this.timeRangeList[1];
}else {
this.searchData.beginTime = '';
this.searchData.endTime = '';
}
await this.getRecordList({
info: {
...this.searchData,
status: this.activeName,
pageNo: currentPage || this.paginationSet.pageNo,
pageSize: this.paginationSet.pageSize,
},
...this.searchData,
status: this.activeName,
pageNo: currentPage || this.paginationSet.pageNo,
pageSize: this.paginationSet.pageSize,
});
const {pageNo, pageSize, count, acceptCount, refuseCount} = this.recordList;
if(this.activeName == 0){
const {pageNo, pageSize, count, finishedCount, unfinishedCount} = this.recordList;
if(this.activeName == ''){
this.paginationSet.total = count;
}else if(this.activeName == 2){
this.paginationSet.total = finishedCount;
}else if(this.activeName == 1){
this.paginationSet.total = acceptCount;
}else {
this.paginationSet.total = refuseCount;
this.paginationSet.total = unfinishedCount;
}
this.paginationSet = {
...this.paginationSet,
pageNo,
pageSize: 10,
pageSize: pageSize,
}
},
reseat(){
......@@ -177,11 +178,12 @@
this.searchData.nickname = '';
this.searchData.mobilePhone = '';
this.timeRangeList = [];
this.searchData.beginTime = '';
this.searchData.endTime = '';
this.search(1);
},
async visitDetail(row){
await this.getEnteringInfo({patientId:row.patientId,fuPlanPatientTimesId:row.fuPlanPatientTimesId});
//await this.getEnteringInfo({});
this.dialogDetailShow = true;
// this.enteringRow = row;
......
......@@ -9,18 +9,18 @@
<div class="search-div">
<div class="search-input">
<el-form :model="searchData" ref="searchData" :inline="true" :label-width="labelWidth">
<el-form-item label="随访计划名称:" prop="name">
<el-input v-model="searchData.name" size="small" placeholder="请输入随访计划名称" clearable></el-input>
<el-form-item label="随访计划名称:" prop="planName">
<el-input v-model="searchData.planName" size="small" placeholder="请输入随访计划名称" clearable></el-input>
</el-form-item>
<el-form-item label="姓名:" prop="nickName">
<el-input v-model="searchData.nickName" size="small" placeholder="请输入姓名" clearable></el-input>
<el-form-item label="姓名:" prop="nickname">
<el-input v-model="searchData.nickname" size="small" placeholder="请输入姓名" clearable></el-input>
</el-form-item>
<el-form-item label="手机号:" prop="mobilePhone">
<el-input v-model="searchData.mobilePhone" size="small" placeholder="请输入手机号" clearable></el-input>
</el-form-item>
<el-form-item label="随访时间范围:" prop="planTimes" clearable>
<el-date-picker
v-model="searchData.timeRange"
v-model="searchData.planTimes"
type="daterange"
size="small"
range-separator="至"
......@@ -50,15 +50,15 @@
</div>
<div class="reservation-table table-content">
<el-radio-group v-model="status" size="small">
<el-radio-button label="0">全部({{reservationList.total}})</el-radio-button>
<el-radio-button label="1">未发送({{reservationList.notCount}})</el-radio-button>
<el-radio-button label="2">待确认({{reservationList.handCount}})</el-radio-button>
<el-radio-button label="3">已接受({{reservationList.yesCount}})</el-radio-button>
<el-radio-button label="4">已拒绝({{reservationList.refuseCount }})</el-radio-button>
<el-radio-button label="0">全部({{reservationList.count}})</el-radio-button>
<el-radio-button label="1">未发送({{reservationList.unSendCount}})</el-radio-button>
<el-radio-button label="2">待确认({{reservationList.waitAcceptCount}})</el-radio-button>
<el-radio-button label="3">已接受({{reservationList.acceptedCount}})</el-radio-button>
<el-radio-button label="4">已拒绝({{reservationList.refusedCount }})</el-radio-button>
</el-radio-group>
<el-button class="button-green" type="primary" size="small" @click="sendReservation">发送预约</el-button>
<el-table
:data="reservationList.fuPlanInfoList"
:data="reservationList.enteringDtos"
center
style="width: 100%;margin-top: 20px;"
@selection-change="handleSelectionChange">
......@@ -67,11 +67,11 @@
align="center">
</el-table-column>
<el-table-column
prop="nickName"
prop="nickname"
label="姓名"
align="center">
<template slot-scope="scope">
<el-button type="text" @click="goPatientDetail(scope.row)" >{{scope.row.nickName}}</el-button>
<el-button type="text" @click="goPatientDetail(scope.row)" >{{scope.row.nickname}}</el-button>
</template>
</el-table-column>
<el-table-column
......@@ -195,11 +195,14 @@
this.searchData.planTimes = [this.$route.query.appointTime,this.$route.query.appointTime];
this.getReservationList({
planName: this.$route.query.planName,
planFromTime: this.$route.query.appointTime,
planToTime: this.$route.query.appointTime,
beginTime: this.$route.query.appointTime,
endTime: this.$route.query.appointTime,
status: this.status
})
} else {
this.getReservationList();
this.getReservationList({
status: this.status
});
}
},
......@@ -253,8 +256,8 @@
mobilePhone,
timeStatus,
nickName,
planFromTime: this.searchData.planTimes[0],
planToTime: this.searchData.planTimes[1],
beginTime: this.searchData.planTimes[0],
endTime: this.searchData.planTimes[1],
status: this.status
}
} else {
......
......@@ -6,7 +6,7 @@
<el-col class="visitor screenSet" :span="24">
<div class="visitor-title">
<div class="title">今日随访:
<span style="color:#449284;margin-right: 10px">10</span>
<span style="color:#449284;margin-right: 10px">{{todayPlansList.length}}</span>
<span class="type-button" :style="{background:(planBtn?'rgba(68,146,132,0.06)':'#ffffff')}" @click="changeTodayPlansList(0)">未完成</span>
<span class="type-button" :style="{background:(!planBtn?'rgba(68,146,132,0.06)':'#ffffff')}" @click="changeTodayPlansList(1)">已过期</span>
</div>
......@@ -16,10 +16,10 @@
<el-table
:data="todayPlansList"
style="width: 100%">
<el-table-column prop="patientName" label="姓名"></el-table-column>
<el-table-column prop="appointTime" label="预约时间"></el-table-column>
<el-table-column prop="style" label="随访方式"></el-table-column>
<el-table-column prop="content" label="操作">
<el-table-column prop="patientName" label="姓名" align="center"></el-table-column>
<el-table-column prop="appointTime" label="预约时间" align="center"></el-table-column>
<el-table-column prop="fuTypeStr" label="随访方式" align="center"></el-table-column>
<el-table-column prop="content" label="操作" align="center">
<template slot-scope="scope">
<span class="text-btn">随访录入</span> | <span class="text-btn" @click="changeFollowStatus(scope.row)">变更随访状态</span>
</template>
......@@ -39,11 +39,11 @@
<el-table
:data="todayAppointsList"
style="width: 100%">
<el-table-column prop="planName" label="随访计划名称"></el-table-column>
<el-table-column prop="appointTime" label="随访计划时间"></el-table-column>
<el-table-column prop="appointedCount" label="已经预约"></el-table-column>
<el-table-column prop="notAppointedCount" label="未预约"></el-table-column>
<el-table-column prop="content" label="操作">
<el-table-column prop="planName" label="随访计划名称" align="center"></el-table-column>
<el-table-column prop="appointTime" label="随访计划时间" align="center"></el-table-column>
<el-table-column prop="hasAppointed" label="已经预约" align="center"></el-table-column>
<el-table-column prop="notAppointedCount" label="未预约" align="center"></el-table-column>
<el-table-column prop="content" label="操作" align="center">
<template slot-scope="scope">
<span class="text-btn" @click="goToReservation(scope.row.planName, scope.row.appointTime)">去预约</span>
</template>
......@@ -179,6 +179,8 @@ export default {
},
changeFollowStatus(row) {
this.statusForm = {
fuPlanPatientTimesId: row.fuPlanPatientTimesId,
patientId: row.patientId,
nickname: row.patientName,
status: row.status,
}
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册