提交 05f02ff9 编写于 作者: yi.li's avatar yi.li

录入列表,查看详情,更改随访状态接口调整

上级 83f1723c
import planManage from './planManage' import planManage from './planManage'
import reservationManage from './reservationManage' import reservationManage from './reservationManage'
import workbench from './workbench' import workbench from './workbench'
import recordManage from './recordManage'
const followModules = { const followModules = {
planManage, planManage,
reservationManage, reservationManage,
workbench workbench,
recordManage
} }
export default followModules export default followModules
import followApi from '../../utils/followup/followapis'
export default {
namespaced: true,
state: {
recordList: {}, //录入列表
enteringInfo: {}, //单条信息查看
constantsData: {},//获取常量
},
mutations: {
GET_RECORD_LIST(state, payload) {
state.recordList = payload
},
GET_ENTERING_INFO(state, payload) {
state.enteringInfo = payload
},
GET_CONSTANS_DATA(state, payload) {
state.constantsData = payload
},
},
actions: {
async getRecordList(context, payload) {
await followApi.getEnteringList({
...payload
}).then(({data}) => {
context.commit('GET_RECORD_LIST', data);
});
},
async getEnteringInfo(context, payload) {
await followApi.getEnteringInfo({}, {
...payload
}).then(({data}) => {
context.commit('GET_ENTERING_INFO', data);
});
},
// async getConstantsData(context, payload) {
// await followApi.getBasicData({
// ...payload
// }).then(({data}) => {
// context.commit('GET_CONSTANS_DATA', data)
// })
// },
},
}
...@@ -135,12 +135,26 @@ const recordManageApi = [ ...@@ -135,12 +135,26 @@ const recordManageApi = [
name: 'getEnteringList', name: 'getEnteringList',
description: '录入列表查看', description: '录入列表查看',
}, },
{
url: '/followup/entering/status/change',
method: 'post',
params: 'data',
name: 'changeEnteringStatus',
description: '变更随访状态',
},
{
url: ``,
method: 'get',
params: 'params',
name: 'getEnteringInfo',
description: '随访单条信息查看',
},
] ]
const api = {}; const api = {};
const apis = [...planManageApi, ...reservationManageApi, ...basicDataApi, ...workbenchApi]; const apis = [...planManageApi, ...reservationManageApi, ...basicDataApi, ...workbenchApi, ...recordManageApi];
apis.forEach(item => api[item.name] = (params = {}, extraConfig = {}) => { apis.forEach(item => api[item.name] = (params = {}, extraConfig = {}) => {
// const config = { // const config = {
...@@ -164,6 +178,12 @@ apis.forEach(item => api[item.name] = (params = {}, extraConfig = {}) => { ...@@ -164,6 +178,12 @@ apis.forEach(item => api[item.name] = (params = {}, extraConfig = {}) => {
url: getFollowUpSC(item.url), url: getFollowUpSC(item.url),
method: item.method, method: item.method,
}; };
} else if (item.name == 'getEnteringInfo') {
let url = `/followup/entering/${extraConfig.patientId}/fuInfo/${extraConfig.fuPlanPatientTimesId}`
config = {
url: getFollowUpApi(url),
method: item.method,
};
} else { } else {
config = { config = {
url: getFollowUpApi(item.url), url: getFollowUpApi(item.url),
......
<template> <template>
<div> <div>
<p><el-button plain icon="el-icon-plus" round @click="addNewNode(timeForm.formRef)" :disabled="activeTab!=='setNewRef'">新增时间节点</el-button><br></p> <p><el-button plain icon="el-icon-plus" round @click="addNewNode(timeForm.formRef)">新增时间节点</el-button><br></p>
<div class="add-time-content"> <div class="add-time-content">
<div class="time-line-scroll"> <div class="time-line-scroll">
<!--<el-button type="primary" size="mini" round>设置随访时间 <i class="el-icon-circle-close-outline"></i></el-button>-->
<!--<el-button type="primary" @click="changeTab(item)" size="mini" round v-for="(item, index) in setTimeNodeList" :key="index">开始后{{item.followupTime}}{{item.followupMark}} <i class="el-icon-circle-close-outline"></i></el-button>-->
<el-radio-group v-model="activeTab" @change="changeTab"> <el-radio-group v-model="activeTab" @change="changeTab">
<el-radio-button v-if="setTimeNodeList.length > 0" :key="item.formRef" v-for="(item, index) in setTimeNodeList" :label="index">开始后{{item.followupTime + item.followupMark}} <i class="el-icon-circle-close-outline" @click="deleteTimeNode(item, index)"></i></el-radio-button> <el-radio-button v-if="setTimeNodeList.length > 0" :key="item.formRef" v-for="(item, index) in setTimeNodeList" :label="index">开始后{{item.followupTime + item.followupMark}} <i class="el-icon-circle-close-outline" @click="deleteTimeNode(item, index)"></i></el-radio-button>
<el-radio-button label="setNewRef">设置随访时间</el-radio-button> <el-radio-button label="setNewRef" v-if="showSetBtn">设置随访时间 <i class="el-icon-circle-close-outline" @click="deleteAddNode" v-if="setTimeNodeList.length>0"></i></el-radio-button>
</el-radio-group> </el-radio-group>
<!--<el-button type="primary" :class="(activeTab || activeTab==0) ? 'blur-btn' : ''" @click="setTimeForm()">设置随访时间</el-button>--> <!--<el-button type="primary" :class="(activeTab || activeTab==0) ? 'blur-btn' : ''" @click="setTimeForm()">设置随访时间</el-button>-->
</div> </div>
...@@ -125,16 +122,8 @@ ...@@ -125,16 +122,8 @@
activeTab: null, activeTab: null,
setTimeNodeList: [], setTimeNodeList: [],
currentFormRef: 1, currentFormRef: 1,
showSetBtn: true,
timeForm: _.cloneDeep(timeFormInit), timeForm: _.cloneDeep(timeFormInit),
// timeForm: {
// formRef: '',
// followupTime: '',
// followupMark: '',
// followupWay: '',
// pushTime: '',
// remindTime: [],
// followupForm: [],
// },
indexOptions: [ indexOptions: [
{ {
value: '0', value: '0',
...@@ -218,11 +207,11 @@ ...@@ -218,11 +207,11 @@
watch: { watch: {
activeTab(newVal, oldVal) { activeTab(newVal, oldVal) {
console.log('tab变化',newVal,oldVal) console.log('tab变化',newVal,oldVal)
if(oldVal == 'setNewRef') { // if(oldVal == 'setNewRef' || newVal== 'setNewRef') {
return // return
}else { // }else {
this.setTimeNodeList[oldVal] = this.timeForm; this.setTimeNodeList[oldVal] = this.timeForm;
} // }
} }
}, },
methods: { methods: {
...@@ -238,21 +227,24 @@ ...@@ -238,21 +227,24 @@
return formName; return formName;
}, },
addNewNode(formName) { addNewNode(formName) {
if(this.activeTab !== 'setNewRef') {
// 显示设置按钮
this.showSetBtn = true;
this.activeTab = 'setNewRef';
this.timeForm = _.cloneDeep(timeFormInit);
this.timeForm.formRef = this.getNowTime();
}else {
this.$refs[formName].validate((valid) => { this.$refs[formName].validate((valid) => {
if (valid) { if (valid) {
this.setTimeNodeList.push(this.timeForm); this.setTimeNodeList.push(this.timeForm);
// this.store.commit('SET_TIME_NODE_LIST',this.setTimeNodeList) // this.store.commit('SET_TIME_NODE_LIST',this.setTimeNodeList)
// this.timeForm = JSON.parse(JSON.stringify(this.timeFormConst));
this.timeForm = _.cloneDeep(timeFormInit); this.timeForm = _.cloneDeep(timeFormInit);
this.timeForm.formRef = this.getNowTime(); //新增一个form this.timeForm.formRef = this.getNowTime(); //新增一个form
// this.$refs[formRef].resetFields()
console.log('数组',this.setTimeNodeList)
console.log('timeForm新的',this.timeForm);
} else { } else {
return false; return;
} }
}); });
}
}, },
goSelectCartoon() { goSelectCartoon() {
this.isSelectCartoon = true; this.isSelectCartoon = true;
...@@ -265,7 +257,6 @@ ...@@ -265,7 +257,6 @@
this.timeForm.hasSelected = ''; this.timeForm.hasSelected = '';
}, },
changeTab(val){ changeTab(val){
console.log('tab切换',val)
this.activeTab = val; this.activeTab = val;
if(val == 'setNewRef') { if(val == 'setNewRef') {
this.timeForm = _.cloneDeep(timeFormInit); this.timeForm = _.cloneDeep(timeFormInit);
...@@ -273,22 +264,20 @@ ...@@ -273,22 +264,20 @@
}else { }else {
this.timeForm = _.cloneDeep(this.setTimeNodeList[val]); this.timeForm = _.cloneDeep(this.setTimeNodeList[val]);
} }
// for(let i=0; i<this.setTimeNodeList.length; i++) {
// if(this.setTimeNodeList[i].formRef === val) {
// this.timeForm = this.setTimeNodeList[i];
// console.log('当前tab的form',this.timeForm)
// }
// }
},
setTimeForm() {
this.activeTab = null;
this.timeForm = _.cloneDeep(timeFormInit);
this.timeForm.formRef = this.getNowTime(); //新增一个form
}, },
deleteTimeNode(item, index) { deleteTimeNode(item, index) {
this.setTimeNodeList.splice(index, 1) this.setTimeNodeList.splice(index, 1)
if(this.setTimeNodeList.length == 0) {
this.activeTab = 'setNewRef';
this.timeForm = _.cloneDeep(timeFormInit);
this.timeForm.formRef = this.getNowTime(); //新增一个form
}
}, },
deleteAddNode() {
this.showSetBtn = false;
this.activeTab = 0;
this.timeForm = this.setTimeNodeList[0];
}
}, },
} }
</script> </script>
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<span>{{statusForm.nickname}}</span> <span>{{statusForm.nickname}}</span>
</el-form-item> </el-form-item>
<el-form-item label="变更状态"> <el-form-item label="变更状态">
<span>{{statusForm.status==1 ? '未完成' : '已完成'}}</span> <span>{{statusForm.status==1 ? '已完成' : '未完成'}}</span>
</el-form-item> </el-form-item>
<el-form-item label="变更原因" prop="reason"> <el-form-item label="变更原因" prop="reason">
<el-input type="textarea" v-model="statusForm.reason" placeholder="请输入变更原因" maxlength="30" rows="3" style="width:60%;"></el-input> <el-input type="textarea" v-model="statusForm.reason" placeholder="请输入变更原因" maxlength="30" rows="3" style="width:60%;"></el-input>
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
</div> </div>
</template> </template>
<script> <script>
import followApi from '@/utils/followup/followapis'
export default { export default {
components: {}, components: {},
data(){ data(){
...@@ -66,9 +66,22 @@ ...@@ -66,9 +66,22 @@
this.$refs[formName].validate((valid) => { this.$refs[formName].validate((valid) => {
if (valid) { if (valid) {
//后面更改为接口调用 //后面更改为接口调用
// this.$emit('closeChangeStatus',false,this.statusForm); followApi.changeEnteringStatus({
info: {
fuPlanPatientTimesId: this.statusForm.fuPlanPatientTimesId,
patientId: this.statusForm.patientId,
status: this.statusForm.status,
reason: this.statusForm.reason,
}
}).then(({data}) => {
if(data == 1) {
this.$message.success('随访状态变更成功!');
this.$emit('closeChangeStatus',false); this.$emit('closeChangeStatus',false);
this.$refs['statusForm'].resetFields(); this.$refs['statusForm'].resetFields();
}else {
return;
}
})
} else { } else {
return false; return false;
} }
......
...@@ -12,23 +12,23 @@ ...@@ -12,23 +12,23 @@
<div class="base-content"> <div class="base-content">
<div class="content-div"> <div class="content-div">
<div class="c-title">姓名:</div> <div class="c-title">姓名:</div>
<div class="c-content">戴佳康</div> <div class="c-content">{{enteringInfo.nickname}}</div>
</div> </div>
<div class="content-div "> <div class="content-div ">
<div class="c-title">性别:</div> <div class="c-title">性别:</div>
<div class="c-content"></div> <div class="c-content">{{enteringInfo.sex}}</div>
</div> </div>
<div class="content-div"> <div class="content-div">
<div class="c-title">年龄:</div> <div class="c-title">年龄:</div>
<div class="c-content">55</div> <div class="c-content">{{enteringInfo.age}}</div>
</div> </div>
<div class="content-div"> <div class="content-div">
<div class="c-title">身份证号:</div> <div class="c-title">身份证号:</div>
<div class="c-content">3101110196011022419</div> <div class="c-content">{{enteringInfo.idNo}}</div>
</div> </div>
<div class="content-div"> <div class="content-div">
<div class="c-title">联系方式:</div> <div class="c-title">联系方式:</div>
<div class="c-content">13111111111</div> <div class="c-content">{{enteringInfo.mobilePhone}}</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -36,34 +36,34 @@ ...@@ -36,34 +36,34 @@
<div class="base-content"> <div class="base-content">
<div class="content-div"> <div class="content-div">
<div class="c-title">随访计划名称:</div> <div class="c-title">随访计划名称:</div>
<div class="c-content">2018年糖尿病随访</div> <div class="c-content">{{enteringInfo.name}}</div>
</div> </div>
</div> </div>
<div class="group-info base-content"> <div class="group-info base-content">
<div class="content-div"> <div class="content-div">
<div class="c-title">随访时间点:</div> <div class="c-title">随访时间点:</div>
<div class="c-content">3次随访</div> <div class="c-content">{{enteringInfo.timeNo}}次随访</div>
</div> </div>
<div class="content-div"> <div class="content-div">
<div class="c-title">随访方式:</div> <div class="c-title">随访方式:</div>
<div class="c-content">门诊随访</div> <div class="c-content">{{enteringInfo.fuPlanType}}</div>
</div> </div>
<div class="content-div"> <div class="content-div">
<div class="c-title">计划随访时间:</div> <div class="c-title">计划随访时间:</div>
<div class="c-content">2019-03-23</div> <div class="c-content">{{enteringInfo.fuPlanTime}}</div>
</div> </div>
<div class="content-div"> <div class="content-div">
<div class="c-title">随访预约时间:</div> <div class="c-title">随访预约时间:</div>
<div class="c-content">2019-03-23 10:00-11:00</div> <div class="c-content">{{enteringInfo.appointmentTime}}</div>
</div> </div>
</div> </div>
<div class="group-info base-content flex-start"> <div class="group-info base-content flex-start">
<div class="content-div"> <div class="content-div">
<div class="c-title">随访状态:</div> <div class="c-title">随访状态:</div>
<div class="c-content">已过期</div> <div class="c-content">{{enteringInfo.status}}</div>
</div> </div>
<div class="content-div"> <div class="content-div">
<p class="tip">备注:更改随访状态原因</p> <p class="tip">备注:{{enteringInfo.remarks}}</p>
</div> </div>
</div> </div>
</div> </div>
...@@ -71,20 +71,10 @@ ...@@ -71,20 +71,10 @@
<div class="list-item"> <div class="list-item">
<p class="title">预约日志</p> <p class="title">预约日志</p>
</div> </div>
<div class="list-item"> <div class="list-item" v-for="(item, index) in enteringInfo.appointmentLogs" v-if="enteringInfo.appointmentLogs.length>0" :key="index">
<p class="title">2019-3-14,李时珍医生发送微信预约</p> <p class="title">{{item.appointmentDate}},{{item.appointmentInfo}}</p>
<p class="status">居民未响应</p> <p class="status">{{item.appointmentResult}}</p>
<p class="reason"></p> <p class="reason" v-if="item.reason">变更原因:{{item.reason}}</p>
</div>
<div class="list-item">
<p class="title">2019-3-20,李时珍医生发送短信预约</p>
<p class="status">居民已预约</p>
<p class="reason"></p>
</div>
<div class="list-item">
<p class="title">2019-3-20,李时珍医生发送短信预约</p>
<p class="status">居民已拒绝</p>
<p class="reason">变更原因:当天居民临时有事</p>
</div> </div>
</div> </div>
<div class="base-info console-list"> <div class="base-info console-list">
...@@ -92,42 +82,54 @@ ...@@ -92,42 +82,54 @@
<p class="title">患教资料</p> <p class="title">患教资料</p>
</div> </div>
<div class="list-item"> <div class="list-item">
<p class="time">开始前三十天</p> <p class="time">{{enteringInfo.eduData.timeNodeInfo}}</p>
<p class="link-p">患教内容啦啦啦</p> <a class="link-p" :href="enteringInfo.eduData.shortUrl">{{enteringInfo.eduData.eduTitle}}</a>
</div> </div>
</div> </div>
<div class="base-info console-list"> <div class="base-info console-list">
<div class="list-item"> <div class="list-item">
<p class="title">随访登记表</p> <p class="title">随访登记表</p>
</div> </div>
<div class="list-item"> <div class="list-item" v-for="(item, index) in enteringInfo.fuTable" :key="index" v-if="enteringInfo.fuTable.length>0">
<p class="link-p">随访登记表名称1</p> <p class="link-p">{{item.name}}</p>
</div>
<div class="list-item">
<p class="link-p">随访登记表名称2</p>
</div> </div>
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import { mapState, mapActions } from 'vuex';
export default { export default {
data(){ data(){
return{ return{
dialogDetail: true dialogDetail: true,
// eduData: {},
} }
}, },
props: { props: {
dialogFormVisible: { dialogFormVisible: {
type: Boolean, type: Boolean,
default: false default: false
},
enteringInfo: {
type: Object,
default: {}
} }
}, },
computed: { computed: {
// ...mapState('recordManage',{
// enteringInfo: state => state.enteringInfo,
// })
},
created() {
// if(this.dialogFormVisible == true) {
// this.getEnteringInfo({patientId: this.enteringRow.patientId,fuPlanPatientTimesId: this.enteringRow.fuPlanPatientTimesId});
// }
}, },
mounted(){ mounted(){
}, },
methods: { methods: {
// ...mapActions('recordManage', ['getEnteringInfo']),
closeDetail(){ closeDetail(){
this.$emit('closeDetail',false) this.$emit('closeDetail',false)
}, },
......
...@@ -7,47 +7,40 @@ ...@@ -7,47 +7,40 @@
<div class="search-input"> <div class="search-input">
<el-form ref="serchForm" :model="searchData" :inline="true" label-suffix=":" label-width="125px"> <el-form ref="serchForm" :model="searchData" :inline="true" label-suffix=":" label-width="125px">
<el-form-item label="随访计划名称"> <el-form-item label="随访计划名称">
<el-input v-model="searchData.name" placeholder="请输入关键词" style="width: 250px" clearable></el-input> <el-input v-model="searchData.planName" placeholder="请输入关键词" style="width: 250px" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="随访时间范围"> <el-form-item label="随访时间范围">
<!--<el-select v-model="searchData.timeRange" placeholder="请选择时间范围" style="width: 250px" clearable>-->
<!--<el-option-->
<!--v-for="(item,index) in timeRangeList"-->
<!--:key="index"-->
<!--:label="item.label"-->
<!--:value="item.value">-->
<!--</el-option>-->
<!--</el-select>-->
<el-date-picker <el-date-picker
v-model="searchData.timeRange" v-model="timeRangeList"
type="daterange" type="datetimerange"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
value-format="yyyy-MM-dd HH:mm:ss"
clearable clearable
style="width:380px;"> style="width:400px;">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="姓名"> <el-form-item label="姓名">
<el-input v-model="searchData.nickname" placeholder="请输入姓名" clearable></el-input> <el-input v-model="searchData.nickname" placeholder="请输入姓名" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="手机号"> <el-form-item label="手机号">
<el-input v-model="searchData.mobilePhone" placeholder="请输入手机号" clearable></el-input> <el-input v-model="searchData.mobilePhone" placeholder="请输入手机号" maxlength="11" clearable></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<div class="search-btn"> <div class="search-btn">
<el-button class="button-green" type="primary" @click="search">查询</el-button> <el-button class="button-green" type="primary" @click="search(1)">查询</el-button>
<el-button class="button-white" plain @click="reseat">重置</el-button> <el-button class="button-white" plain @click="reseat">重置</el-button>
</div> </div>
</div> </div>
<div class="table-content"> <div class="table-content">
<el-radio-group v-model="activeName" @change="handlerClick"> <el-radio-group v-model="activeName" @change="handlerClick">
<el-radio-button label="all">全部({{allNum}}</el-radio-button> <el-radio-button label="0">全部({{recordList.count}}</el-radio-button>
<el-radio-button label="finished">已完成({{finishedNum}}</el-radio-button> <el-radio-button label="1">已完成({{recordList.acceptCount}}</el-radio-button>
<el-radio-button label="unfinish">未完成({{unfinishNum}}</el-radio-button> <el-radio-button label="2">未完成({{recordList.refuseCount}}</el-radio-button>
</el-radio-group> </el-radio-group>
<el-table :data="allData" style="width: 100%;margin-top: 20px;"> <el-table :data="recordList.fuPlanInfoList" style="width: 100%;margin-top: 20px;">
<el-table-column prop="nickname" label="姓名" min-width="100" align="center"> <el-table-column prop="nickname" label="姓名" min-width="100" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="cursor: pointer" @click="visitDetail(scope.row)">{{scope.row.nickname}}</span> <span style="cursor: pointer" @click="visitDetail(scope.row)">{{scope.row.nickname}}</span>
...@@ -57,12 +50,14 @@ ...@@ -57,12 +50,14 @@
<el-table-column prop="name" label="随访计划名称" min-width="150" align="center"></el-table-column> <el-table-column prop="name" label="随访计划名称" min-width="150" align="center"></el-table-column>
<el-table-column prop="followupType" label="随访时间" min-width="150" align="center"> <el-table-column prop="followupType" label="随访时间" min-width="150" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{scope.row.followupType}}<br/>{{scope.row.timeRange}}</span> <span>{{scope.row.fuPlanInfo}}</span><br/>
<span v-if="scope.row.appointmentTime">{{scope.row.appointmentTime}}</span><br/>
<span v-if="!scope.row.appointmentTime">{{scope.row.fuPlanTime}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="status" label="随访状态" min-width="100" align="center"> <el-table-column prop="status" label="随访状态" min-width="100" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span :class="scope.row.status == 0 ? 'status-span': ''">{{ scope.row.status | statusFileter }}</span> <span :class="scope.row.status == 1 ? 'status-span': ''">{{ scope.row.status | statusFileter }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" fixed="right" align="center" min-width="240"> <el-table-column label="操作" fixed="right" align="center" min-width="240">
...@@ -76,11 +71,11 @@ ...@@ -76,11 +71,11 @@
<el-row type="flex" justify="end" class="margin-top20"> <el-row type="flex" justify="end" class="margin-top20">
<el-pagination <el-pagination
background background
v-if="allData.length" v-if="recordList.fuPlanInfoList"
@size-change="handleSizeChangePre" @size-change="handleSizeChangePre"
@current-change="handleCurrentChangePre" @current-change="handleCurrentChangePre"
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
:current-page="paginationSet.pageNum" :current-page="paginationSet.pageNo"
:page-sizes="paginationSet.pageSizes" :page-sizes="paginationSet.pageSizes"
:page-size="paginationSet.pageSize" :page-size="paginationSet.pageSize"
:total="paginationSet.total"> :total="paginationSet.total">
...@@ -88,7 +83,7 @@ ...@@ -88,7 +83,7 @@
</el-row> </el-row>
</div> </div>
</div> </div>
<followup-detail :dialogFormVisible="dialogDetailShow" @closeDetail="closeDetail"></followup-detail> <followup-detail :dialogFormVisible="dialogDetailShow" @closeDetail="closeDetail" :enteringInfo="enteringInfo"></followup-detail>
<change-followup-status :isShowChangeDialog="isShowChangeDialog" :statusForm="statusForm" @closeChangeStatus="closeChangeStatus()"></change-followup-status> <change-followup-status :isShowChangeDialog="isShowChangeDialog" :statusForm="statusForm" @closeChangeStatus="closeChangeStatus()"></change-followup-status>
</div> </div>
</template> </template>
...@@ -98,6 +93,7 @@ ...@@ -98,6 +93,7 @@
import followupDetail from "./dialog/followupDetail"; import followupDetail from "./dialog/followupDetail";
import ChangeFollowupStatus from "./dialog/change-followup-status"; import ChangeFollowupStatus from "./dialog/change-followup-status";
import { mapState, mapActions } from 'vuex'; import { mapState, mapActions } from 'vuex';
export default { export default {
components:{ components:{
BreadCrumb, BreadCrumb,
...@@ -108,75 +104,92 @@ ...@@ -108,75 +104,92 @@
return{ return{
curmbFirst: '随访管理', curmbFirst: '随访管理',
curmbSecond: '录入管理', curmbSecond: '录入管理',
timeRangeList: [],
searchData: { searchData: {
name: '', planName: '',
timeRange: '', beginTime: '',
endTime: '',
nickname: '', nickname: '',
mobilePhone: '' mobilePhone: ''
}, },
timeRangeList:[{ activeName: 0,
label: '10:00~11:00',
value: 1
},{
label: '11:00~12:00',
value: 2
}],
activeName: 'all',
allNum: 300,
finishedNum: 100,
unfinishNum: 200,
allData: [{
nickname: '云晓雀',
mobilePhone: '132123459876',
name: '糖尿病高危随访',
followupType: '第一次门诊随访',
timeRange: '2018-12-12 10:00-12:00',
status: 1
}],
finishedData: [],
unfinishData: [],
paginationSet: { paginationSet: {
pageNum: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
total: 0, total: 0,
pageSizes: [10,20,50,100] pageSizes: [10,20,50,100]
}, },
statusForm: {},
enteringRow: {},
dialogDetailShow: false, dialogDetailShow: false,
statusTabls:[],
isShowChangeDialog: false, isShowChangeDialog: false,
statusForm: {},
reason: '',
} }
}, },
computed: { computed: {
...mapState('reservationManage',{ // ...mapState('reservationManage',{
constantsData: state => state.constantsData, // constantsData: state => state.constantsData,
// }),
...mapState('recordManage',{
recordList: state => state.recordList,
enteringInfo: state => state.enteringInfo,
}) })
}, },
created() { created() {
this.search(1);
}, },
mounted() { mounted() {
this.getConstantsData({ // this.getConstantsData({
numList: 'P216' // numList: 'P216'
}) // })
}, },
methods: { methods: {
...mapActions('reservationManage', ['getConstantsData']), // ...mapActions('reservationManage', ['getConstantsData']),
search(){ ...mapActions('recordManage', ['getRecordList', 'getEnteringInfo']),
console.log('搜索') async search(currentPage){
if(this.timeRangeList.length>0) {
this.searchData.beginTime = this.timeRangeList[0];
this.searchData.endTime = this.timeRangeList[1];
}
await this.getRecordList({
info: {
...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){
this.paginationSet.total = count;
}else if(this.activeName == 1){
this.paginationSet.total = acceptCount;
}else {
this.paginationSet.total = refuseCount;
}
this.paginationSet = {
...this.paginationSet,
pageNo,
pageSize: 10,
}
}, },
reseat(){ reseat(){
this.searchData.name = ''; this.searchData.planName = '';
this.searchData.timeRange = '';
this.searchData.nickname = ''; this.searchData.nickname = '';
this.searchData.mobilePhone = ''; this.searchData.mobilePhone = '';
this.timeRangeList = [];
this.search(1);
}, },
visitDetail(row){ async visitDetail(row){
await this.getEnteringInfo({patientId: row.patientId,fuPlanPatientTimesId: row.fuPlanPatientTimesId});
this.dialogDetailShow = true; this.dialogDetailShow = true;
// this.enteringRow = row;
},
closeDetail(val){
this.dialogDetailShow = val;
}, },
handlerClick(){ handlerClick(){
console.log(this.activeName) this.search(1);
}, },
editRow(row){}, editRow(row){},
changeStatusRow(row){ changeStatusRow(row){
...@@ -186,16 +199,16 @@ ...@@ -186,16 +199,16 @@
sendRow(row){}, sendRow(row){},
handleSizeChangePre(pageSize){ handleSizeChangePre(pageSize){
this.paginationSet['pageSize'] = pageSize; this.paginationSet['pageSize'] = pageSize;
this.paginationSet['pageNum'] = 1; this.paginationSet['pageNo'] = 1;
}, this.search();
handleCurrentChangePre(pageNum){
this.paginationSet['pageNum'] = pageNum
}, },
closeDetail(val){ handleCurrentChangePre(pageNo){
this.dialogDetailShow = val; this.paginationSet['pageNo'] = pageNo;
this.search();
}, },
closeChangeStatus(val){ closeChangeStatus(val){
this.isShowChangeDialog = val; this.isShowChangeDialog = val;
this.search(1);
// let getArguments = arguments[0]; // let getArguments = arguments[0];
// this.isShowChangeDialog = getArguments[0]; // this.isShowChangeDialog = getArguments[0];
// this.statusForm = getArguments[1]; // this.statusForm = getArguments[1];
...@@ -207,8 +220,8 @@ ...@@ -207,8 +220,8 @@
return ''; return '';
} else { } else {
let hash = { let hash = {
0: '未完成', 1: '未完成',
1: '已完成' 2: '已完成'
}; };
return hash[value]; return hash[value];
} }
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册