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

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,7 +6,8 @@ import {getPlanList,
getGroupList,
getResidentDetail,
getBasicData,
changePlan} from '../../utils/followup/followapis'
changePlan,
createFollowPlan} from '../../utils/followup/followapis'
export default {
namespaced: true,
......@@ -65,6 +66,13 @@ export default {
},
},
actions: {
setFollowPlan(context, payload) {
createFollowPlan({
...payload
}).then(({data})=> {
// console.log('成功',data)
})
},
getResidentList(context, payload) {
const { pageSize, pageNum } = context.state.residentList;
getResidentList({
......
......@@ -14,7 +14,7 @@ service.interceptors.request.use(config => {
if( config.headers['sysCode']==undefined) {
config.headers['sysCode'] = 12
}
config.headers['token'] = 'D74A6C7C61564EB1B3DC83251F33D173'
config.headers['token'] = '807108DB003F4304A1037E8CD15BAA93'
//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) {
......@@ -22,7 +22,7 @@ service.interceptors.request.use(config => {
// if(config.data.token){
// config.headers['token'] = config.data.token || '63C3FA92AF8A45A48B31EB7FD97B95EB'
// }
// 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' })
// }
return config
......@@ -35,10 +35,10 @@ service.interceptors.request.use(config => {
service.interceptors.response.use(
response => {
const res = response.data
/*
/*
baseUrl时,返回000000为成功
apiUrl时,返回200为成功
*/
*/
// if (res.code !== '000000') {
// return Promise.reject('error')
// } else {
......
......@@ -40,6 +40,15 @@ export const getTodayPlans = (params) => {
};
/*计划管理*/
export const createFollowPlan = (data) => {
return fetch({
headers,
url: getFollowUpSC(`/followup/plans`),
method: 'post',
data: data,
description: '新增、修改随访计划',
},)
}
export const getPlanList = (params) => {
return fetch({
headers,
......@@ -185,17 +194,6 @@ export const getEnteringInfo = (patientId, fuPlanPatientTimesId) => {
},)
}
//新增随访计划
export const createFollowPlan = (data) => {
return fetch({
headers,
url: getFollowUpSC(`/followup/plans`),
method: 'post',
data: data,
description: '新增随访计划',
},)
}
//获取新建计划居民列表
export const getPlanPatientsList = (data) =>{
data = data || {}
......
......@@ -7,9 +7,9 @@
<el-select v-model="timeForm.timeNo" placeholder="请选择">
<el-option
v-for="item in indexOptions"
:key="item.value"
:label="item.label"
:value="item.label">
:key="item.no"
:label="item.value"
:value="item.no">
</el-option>
</el-select>
</el-form-item>
......@@ -27,33 +27,35 @@
</el-form-item>
<el-form-item label="随访方式" prop="type">
<el-radio-group v-model="timeForm.type" size="small">
<el-radio :label="1">门诊随访</el-radio>
<el-radio :label="2">上门随访</el-radio>
<el-radio :label="3">电话随访</el-radio>
<el-radio v-for="item in followTypeList" :label="item.no">{{item.value}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="提醒医生预约居民">
<el-select
v-model="timeForm.remindList[0].startDays"
v-model="timeForm.remindDay"
multiple
:multiple-limit=3
placeholder="请选择">
<el-option
v-for="item in remindOptions"
:key="item.value"
:label="item.label"
:value="item.value">
:key="item.no"
:label="item.value"
:value="item.no">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="推送患教">
<div style="display: flex">
<el-select v-model="timeForm.pushContentList[0].startDays" placeholder="选择推送时间" clearable>
<el-select
v-model="timeForm.pushDay"
placeholder="选择推送时间"
clearable
>
<el-option
v-for="item in pushTimeOptions"
:key="item.value"
:label="item.label"
:value="item.value">
:key="item.no"
:label="item.value"
:value="item.no">
</el-option>
</el-select>
<el-button plain class="ml20" @click="goSelectCartoon" v-if="!timeForm.hasSelected">选择健康漫画</el-button>
......@@ -70,15 +72,15 @@
</div>
<el-form-item label="随访登记表">
<el-select
v-model="timeForm.followupList[0].resourceId"
v-model="timeForm.followResourceId"
multiple
:multiple-limit=2
placeholder="请选择">
<el-option
v-for="item in formOptions"
:key="item.value"
:label="item.label"
:value="item.value">
:key="item.no"
:label="item.value"
:value="item.no">
</el-option>
</el-select>
</el-form-item>
......@@ -90,18 +92,6 @@
import _ from 'lodash';
import SelectCartoon from '@/views/followup/plan-manage/dialog/select-cartoon';
// const timeFormInit = {
// formRef: '',
// followupTime: '',
// followupMark: '',
// followupWay: '',
// pushTime: '',
// remindTime: [],
// followupForm: [],
// hasSelected: '',
// };
export default {
components: {
SelectCartoon},
......@@ -110,59 +100,29 @@
isSelectCartoon: false,
indexOptions: [
{
value: '0',
label: '0'
}, {
value: '1',
label: '1'
}, {
value: '2',
label: '2'
}, {
value: '3',
label: '3'
},
],
remindOptions: [
{
value: '0',
label: '开始前30天'
no: 0,
value: 0
}, {
value: '1',
label: '开始前20天'
},
{
value: '2',
label: '开始前10天'
},
],
pushTimeOptions: [
{
value: '0',
label: '开始前7天'
}, {
value: '1',
label: '开始前3天'
},
{
value: '2',
label: '当天'
},
no: 1,
value: 1
}
],
formOptions: [
{
value: '0',
label: '随访登记表1'
no: 0,
value: '随访登记表1'
}, {
value: '1',
label: '随访登记表2'
no: 1,
value: '随访登记表2'
},
{
value: '2',
label: '随访登记表3'
no: 2,
value: '随访登记表3'
},
],
followResourceId: '',
pushDay: '',
remindDay: '',
timeFormRules: {
timeNo: [{ required: true, message: '请添加随访时间', trigger: 'change' }],
timeUnit: [{ required: true, message: '请添加随访时间', trigger: 'change' }],
......@@ -175,22 +135,19 @@
type: Object,
},
valBegin: Boolean,
markOptions:Array
markOptions:Array,
followTypeList:Array,
remindOptions:Array,
pushTimeOptions:Array,
},
watch: {
valBegin(val){
if(val){
// console.log('开始校验')
this.$refs[this.timeForm.formRef].validate((valid) => {
// console.log(valid)
this.$emit('checkValid',valid)
});
}
}
},
created(){
},
methods: {
getNowTime() {
......
......@@ -21,12 +21,15 @@
</div>
<div class="form-div" v-if="activeTab != 'setNewRef'">
<div :key="timeFormHas.formRef" v-for="(timeFormHas, index) in setTimeNodeList1" :label="index">
<div v-for="(timeFormHas, index) in setTimeNodeList1" :key="index" :label="index">
<set-time-form
v-if="index == activeTab"
:timeForm="timeFormHas"
:valBegin="valBegin"
:markOptions="markOptions"
:remindOptions="remindOptions"
:pushTimeOptions="pushTimeOptions"
:followTypeList="followTypeList"
@checkValid="checkValid"
/>
</div>
......@@ -36,8 +39,11 @@
<set-time-form
:timeForm="timeForm"
:valBegin="valBegin"
@checkValid="checkValid"
:markOptions="markOptions"
:remindOptions="remindOptions"
:pushTimeOptions="pushTimeOptions"
:followTypeList="followTypeList"
@checkValid="checkValid"
/>
</div>
</div>
......@@ -59,30 +65,14 @@
type: '',//随访方式
timeNo: '',//随访时间
timeUnit: '',//随访时间单位
remindList: [ //提醒医生预约提前天数
{
startDays:''
}
],
pushContentList: [
{
resourceId: "",//漫画id
startDays: ""//推送患教提前天数
}
],
followupList: [//随访量表id
{
resourceId: "",//随访量表id
}
],
// followupTime: '',
// followupMark: '',
// followupWay: '',
// pushTime: '',
// remindTime: [],
// followupForm: [],
remindList: [],//提醒医生预约提前天数
pushContentList: [],//推送患教提前天数 漫画id
followupList: [],//随访量表id
hasSelected: '',
isDisabled: false,
remindDay: '',
pushDay: '',
followResourceId: ''
};
......@@ -99,62 +89,10 @@
currentFormRef: 1,
showSetBtn: true,
timeForm: _.cloneDeep(timeFormInit),
indexOptions: [
{
value: '0',
label: '0'
}, {
value: '1',
label: '1'
}, {
value: '2',
label: '2'
}, {
value: '3',
label: '3'
},
],
markOptions: [
],
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'
},
],
markOptions: [],
followTypeList:[],
remindOptions: [],
pushTimeOptions: [],
timeFormRules: {
timeNo: [{ required: true, message: '请添加随访时间', trigger: 'change' }],
timeUnit: [{ required: true, message: '请添加随访时间', trigger: 'change' }],
......@@ -188,13 +126,7 @@
this.timeForm.isDisabled = true;
this.timeForm.timeUnit = this.setTimeNodeList[0].timeUnit;
}
// 随访时间节点单位
getBasicData({
numList: 'P017'
}).then(res=>{
console.log(res)
this.markOptions = res.data['P017']
})
this.getConstdata()
},
watch: {
valBegin(val){
......@@ -227,10 +159,45 @@
}
},
methods: {
// 一次性获取常量接口数据
getConstdata(){
// 随访时间节点单位
getBasicData({numList: 'P017'}).then(res=>{
this.markOptions = res.data['P017']
})
// 随访方式
getBasicData({numList: 'P212'}).then(res=>{
this.followTypeList = res.data['P212']
})
// 提醒医生天数
getBasicData({numList: 'P213'}).then(res=>{
this.remindOptions = res.data['P213']
})
// 推送患教提醒天数
getBasicData({numList: 'P214'}).then(res=>{
this.pushTimeOptions = res.data['P214']
})
},
checkValid(val){
// console.log(val)
this.valBegin = false
if (val) {
this.timeForm.remindDay.forEach((item)=>{
this.timeForm.remindList.push({
startDays: item
})
})
this.timeForm.pushContentList.push({
startDays: this.timeForm.pushDay,
resourceId: ''
})
this.timeForm.followResourceId.forEach((item)=>{
this.timeForm.followupList.push({
resourceId: item
})
})
this.setTimeNodeList.push(this.timeForm);
this.timeForm = _.cloneDeep(timeFormInit);
this.timeForm.formRef = this.getNowTime();
......
......@@ -44,9 +44,9 @@
clearable>
<el-option
v-for="item in templateOptions"
:key="item.value"
:label="item.label"
:value="item.value">
:key="item.no"
:label="item.value"
:value="item.no">
</el-option>
</el-select>
</el-form-item>
......@@ -120,10 +120,6 @@
time:'',//随访开始时间
remarksStatus: '',
fPlanTimeReqList: [],//时间节点列表
// followupTemplate: '',
// startTime: '',
// followupKind: '',
hasSelectedNum: 0,
},
isShowSelectPatient: false,
......@@ -131,25 +127,11 @@
hasSelectedList: [],
templateOptions: [
{
value: '0',
label: '随访模板一'
}, {
value: '1',
label: '随访模板二'
}, {
value: '2',
label: '随访模板三'
no: 0,
value: '目前请选择自定义模板作为测试'
}
],
kindOptions: [
// {
// value: '0',
// label: '上门随访'
// }, {
// value: '1',
// label: '术后随访'
// }
],
kindOptions: [],
rules: {
name: [{ required: true, message: '请输入随访计划名称', trigger: 'blur' }],
hasSelectedNum: [{ required: true, message: '请添加随访居民', trigger: 'change' }],
......@@ -163,7 +145,6 @@
getBasicData({
numList: 'P211'
}).then(res=>{
console.log(res)
this.kindOptions = res.data['P211']
})
},
......@@ -213,10 +194,12 @@
// 关闭弹层,继续创建
}).catch(() => {
// 确定放弃,跳出当前编辑页面
this.getTimeNodeList([])
this.$router.push({path: '/followup/plan-manage/plan-list'})
});
},
nextClick(formName) {
this.getTimeNodeList([]);
//为方便调试,不做校验
// this.activeTab = 'second';
//用作校验
......@@ -240,7 +223,6 @@
},
saveEdit() {
this.baseInfo.fPlanTimeReqList = this.setTimeNodeList
console.log(this.baseInfo)
createFollowPlan(this.baseInfo)
// console.log('保存setTimeNodeList1',this.$refs.getTimeNodeList.setTimeNodeList1)
// console.log('store中的setTimeNodeList数据为=>',JSON.stringify(this.setTimeNodeList))
......
......@@ -45,12 +45,14 @@
</div>
</div>
</div>
<div class="time-nodes">
<div class="time-nodes" >
<p class="title">随访时间节点</p>
<el-radio-group v-model="timeNodes" size="small">
<el-radio-button :key="item.id" v-for="item in planDetail.fPlanTimeDtoList" :label="item.id">{{item.timeStr}}</el-radio-button>
</el-radio-group>
<div class="followup-contents">
<div class="node-div">
<el-radio-group v-model="timeNodes" size="small">
<el-radio-button :key="item.id" v-for="item in planDetail.fPlanTimeReqList" :label="item.id">{{item.timeStr}}</el-radio-button>
</el-radio-group>
</div>
<div class="followup-contents" v-if="nodeContent.length">
<div class="content-div">
<div class="c-title">随访方式:</div>
<div class="c-content">{{nodeContent[0].typeStr}}</div>
......@@ -104,7 +106,7 @@
timeNodes: null,//时间节点
showFollowTime: false, //是否展示全部时间
thisNodeContents: {},
nodeContent: {}, //节点详情
nodeContent: [], //节点详情
}
},
created() {
......@@ -138,13 +140,15 @@
},
watch: {
planDetail(val) {
this.timeNodes = val.fPlanTimeDtoList[0].id
if(val.fPlanTimeReqList.length){
this.timeNodes = val.fPlanTimeReqList[0].id
}
},
timeNodes(val) {
this.nodeContent = this.planDetail.fPlanTimeDtoList.filter(function(item){
this.nodeContent = this.planDetail.fPlanTimeReqList.filter(function(item){
return item.id == val;
})
console.log('this.nodeContent',this.nodeContent[0])
});
}
}
}
......@@ -195,6 +199,20 @@
padding: 25px;
}
.node-div {
width: 100%;
overflow-x: scroll;
overflow-y: hidden;
white-space: nowrap;
&::-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);
}
}
}
}
}
......
......@@ -129,7 +129,14 @@
})
},
methods: {
...mapActions('planManage', ['getPlanDetail', 'getNodeTimeList', 'getResidentList', 'getRemarkOption', 'getTimeNodeList']),
...mapActions('planManage', [
'getPlanDetail',
'getNodeTimeList',
'getResidentList',
'getRemarkOption',
'getTimeNodeList',
'setFollowPlan'
]),
selectPatientHandler() {
this.isShowSelectPatient = true;
},
......@@ -167,14 +174,15 @@
saveModify() {
this.$confirm('是否确认保存修改内容?', '', {
confirmButtonText: '确定',
cancelButtonText: '取消',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
// 关闭弹层,继续创建
this.$message({
this.modifyFollowPlan(this.planDetail)
/*this.$message({
message: '修改成功!',
type: 'success'
});
});*/
this.$router.back(-1)
}).catch(() => {
// 确定放弃,跳出当前编辑页面
......@@ -194,8 +202,8 @@
watch: {
planDetail(val) {
// this.setTimeNodeList = val.fPlanTimeDtoList
this.setTimeNodeListOnCom(val.fPlanTimeDtoList)
}
this.setTimeNodeListOnCom(val.fPlanTimeReqList)
},
}
}
</script>
......
......@@ -64,9 +64,11 @@
</div>
<div class="time-nodes">
<p class="title">随访时间节点</p>
<el-radio-group v-model="timeNodes" size="small">
<el-radio-button :key="item.nodeId" v-for="item in timeNodeList" :label="item.nodeId">{{item.timeNodeContent}}</el-radio-button>
</el-radio-group>
<div class="node-div">
<el-radio-group v-model="timeNodes" size="small">
<el-radio-button :key="item.nodeId" v-for="item in timeNodeList" :label="item.nodeId">{{item.timeNodeContent}}</el-radio-button>
</el-radio-group>
</div>
<div class="followup-contents">
<div class="content-div">
<div class="c-title">随访方式:</div>
......@@ -222,6 +224,20 @@
padding: 25px;
}
.node-div {
width: 100%;
overflow-x: scroll;
overflow-y: hidden;
white-space: nowrap;
&::-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);
}
}
}
}
}
......
......@@ -179,7 +179,7 @@ export default {
},
changeFollowStatus(row) {
this.statusForm = {
fuPlanPatientTimesId: row.fuPlanPatientTimesId,
fuPlanPatientTimesId: row.planPatientTimesId,
patientId: row.patientId,
nickname: row.patientName,
status: row.status,
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册