|
@ -4,25 +4,25 @@
|
|
|
<p class="c-f18">就诊日期</p>\
|
|
|
<div class="div-table">\
|
|
|
<div class="table-row">\
|
|
|
<div class="table-cell arrow-cell"><i class="fa fa-caret-left c-f20 c-909090"></i></div>\
|
|
|
<div class="table-cell arrow-cell" :class="{\'active\': page!=1}" @click="prePage"><i class="fa fa-caret-left c-f20 c-909090"></i></div>\
|
|
|
<div v-for="d in planDate" class="table-cell">{{d.date}} {{d.day}}</div>\
|
|
|
<div class="table-cell arrow-cell active"><i class="fa fa-caret-right c-f20 c-909090"></i></div>\
|
|
|
<div class="table-cell arrow-cell" :class="{\'active\': page!=totalPage}" @click="nextPage"><i class="fa fa-caret-right c-f20 c-909090"></i></div>\
|
|
|
</div>\
|
|
|
<div class="table-row">\
|
|
|
<div class="table-cell c-f16 bgc-ebf4f3">上午</div>\
|
|
|
<div class="table-cell arrow-cell c-f16 bgc-ebf4f3">上午</div>\
|
|
|
<div class="table-cell" v-for="(item, index) in amData" :class="{\'active\': item.arrangeID == arrangeid && arrangeid!=undefined}" @click="getNumbers(item.arrangeID)">\
|
|
|
<span :class="getColor(item.arrangeStatus, item.numberStatus)">{{getStatusName(item.arrangeStatus, item.numberStatus)}}</span><br/>\
|
|
|
<span class="yy-tag" :class="{\'active\': item.arrangeStatus==1 && item.numberStatus==1}">预约</span>\
|
|
|
</div>\
|
|
|
<div class="table-cell"></div>\
|
|
|
<div class="table-cell arrow-cell"></div>\
|
|
|
</div>\
|
|
|
<div class="table-row">\
|
|
|
<div class="table-cell c-f16 bgc-ebf4f3">下午</div>\
|
|
|
<div class="table-cell arrow-cell c-f16 bgc-ebf4f3">下午</div>\
|
|
|
<div class="table-cell" v-for="(item, index) in pmData" :class="{\'active\': item.arrangeID == arrangeid && arrangeid!=undefined}" @click="getNumbers(item.arrangeID)">\
|
|
|
<span :class="getColor(item.arrangeStatus, item.numberStatus)">{{getStatusName(item.arrangeStatus, item.numberStatus)}}</span><br/>\
|
|
|
<span class="yy-tag" :class="{\'active\': item.arrangeStatus==1 && item.numberStatus==1}">预约</span>\
|
|
|
</div>\
|
|
|
<div class="table-cell"></div>\
|
|
|
<div class="table-cell arrow-cell"></div>\
|
|
|
</div>\
|
|
|
</div>\
|
|
|
<p class="c-f18 mt30">就诊时间</p>\
|
|
@ -49,23 +49,12 @@
|
|
|
modeId: '', //号源池模式:1:实时号源池, 0:非实时号源池
|
|
|
baseInfo: {}, //记录医生医院等基础信息
|
|
|
specialPrice: 0, //挂号费(单位:分)
|
|
|
page: 1 , //日期分页,当有号源的日期数超过了7天,则需要分页展示
|
|
|
totalPage: 1,
|
|
|
pageSize: 7
|
|
|
}
|
|
|
},
|
|
|
mounted: function(){
|
|
|
var now = new Date(),
|
|
|
d = new Date();
|
|
|
//默认只有7天的号源
|
|
|
for(i=1; i<8; i++){
|
|
|
var nDate = now.getDate();
|
|
|
d.setDate(nDate + i);
|
|
|
var obj = {
|
|
|
date: d.format("MM/dd"),
|
|
|
day: getWeekDay(d.getDay()),
|
|
|
fullDate: d.format("yyyy-MM-dd")
|
|
|
}
|
|
|
this.planDate.push(obj);
|
|
|
}
|
|
|
|
|
|
getDoctorInfo(this);
|
|
|
getNumbers(this.arrangeid, this);
|
|
|
},
|
|
@ -86,6 +75,16 @@
|
|
|
this.registerNumber = id;
|
|
|
this.modeId = modeId;
|
|
|
},
|
|
|
prePage: function(){
|
|
|
if(this.page > 1){
|
|
|
this.page --;
|
|
|
}
|
|
|
},
|
|
|
nextPage: function(){
|
|
|
if(this.page < this.totalPage){
|
|
|
this.page ++;
|
|
|
}
|
|
|
},
|
|
|
submitForm: function(){
|
|
|
if(!this.arrangeid){
|
|
|
dialog({
|
|
@ -151,7 +150,6 @@
|
|
|
|
|
|
//获取医生排班信息
|
|
|
function getArrangeDate(vm, docInfo){
|
|
|
console.log(vm);
|
|
|
var params = {
|
|
|
hospitalId: docInfo.hospitalId, //'2h+klDvGn+Q=',
|
|
|
hosDeptId: docInfo.hosDeptId, //'vp0N0lqGZgA=',
|
|
@ -164,46 +162,42 @@
|
|
|
if(res.successFlg){
|
|
|
if(res.obj.Code == "10000"){
|
|
|
var list = res.obj.Result;
|
|
|
//获取每天上午和下午的数据
|
|
|
for(i=0; i<7; i++){
|
|
|
var d = vm.planDate[i].fullDate;
|
|
|
var objArr = _.where(list, {registerDate: d});
|
|
|
if(objArr.length > 0){
|
|
|
if(objArr.length == 1){
|
|
|
var obj = objArr[0];
|
|
|
//先groupby结果,判断有几天号源
|
|
|
var dateGroup = _.groupBy(list, 'registerDate');
|
|
|
console.log(dateGroup);
|
|
|
for(key in dateGroup){
|
|
|
var d = new Date(key);
|
|
|
vm.planDate.push({
|
|
|
date: d.format("MM/dd"),
|
|
|
day: getWeekDay(d.getDay())
|
|
|
}); //日期记录
|
|
|
|
|
|
var objArr = dateGroup[key];
|
|
|
if(objArr.length == 1){
|
|
|
var obj = objArr[0];
|
|
|
if(obj.timeId == 1){ //1 上午 2下午 3 晚上
|
|
|
vm.amData.push(obj);
|
|
|
vm.pmData.push({
|
|
|
arrangeID: '', //没有排号
|
|
|
arrangeStatus: 0,
|
|
|
});
|
|
|
}else{
|
|
|
vm.pmData.push(obj);
|
|
|
vm.amData.push({
|
|
|
arrangeID: '', //没有排号
|
|
|
arrangeStatus: 0,
|
|
|
});
|
|
|
}
|
|
|
}else if(objArr.length == 2){
|
|
|
for(j=0; j<objArr.length; j++){
|
|
|
var obj = objArr[j];
|
|
|
if(obj.timeId == 1){ //1 上午 2下午 3 晚上
|
|
|
vm.amData.push(obj);
|
|
|
vm.pmData.push({
|
|
|
arrangeID: '', //没有排号
|
|
|
arrangeStatus: 0,
|
|
|
});
|
|
|
}else{
|
|
|
vm.pmData.push(obj);
|
|
|
vm.amData.push({
|
|
|
arrangeID: '', //没有排号
|
|
|
arrangeStatus: 0,
|
|
|
});
|
|
|
}
|
|
|
}else if(objArr.length == 2){
|
|
|
for(j=0; j<objArr.length; j++){
|
|
|
var obj = objArr[j];
|
|
|
if(obj.timeId == 1){ //1 上午 2下午 3 晚上
|
|
|
vm.amData.push(obj);
|
|
|
}
|
|
|
if(obj.timeId == 2 || obj.timeId == 3){
|
|
|
vm.pmData.push(obj);
|
|
|
}
|
|
|
if(obj.timeId == 2 || obj.timeId == 3){
|
|
|
vm.pmData.push(obj);
|
|
|
}
|
|
|
}
|
|
|
}else{
|
|
|
vm.amData.push({
|
|
|
arrangeID: '', //没有排号
|
|
|
arrangeStatus: 0, //自定义状态,0无安排,1-4系统定义:1正常 2停诊 3已取消 4暂停预约
|
|
|
})
|
|
|
vm.pmData.push({
|
|
|
arrangeID: '', //没有排号
|
|
|
arrangeStatus: 0, //自定义状态,0无安排,1-4系统定义:1正常 2停诊 3已取消 4暂停预约
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
}else{
|
|
@ -242,14 +236,48 @@
|
|
|
}
|
|
|
dateInfo = arr[0];
|
|
|
var numberInfo = _.findWhere(vm.numberSource, {numberSN: vm.registerNumber});
|
|
|
var patientInfo = JSON.parse(window.sessionStorage.getItem("oauthInfo"));
|
|
|
|
|
|
//请求接口提交挂号单(我们自己系统)
|
|
|
var params = {
|
|
|
patientName: patientInfo.realName,
|
|
|
userId: patientInfo.id,
|
|
|
cardType: 1, //默认身份证
|
|
|
cardNo: patientInfo.idCardNo,
|
|
|
phoneNo: patientInfo.telephone,
|
|
|
hospitalName: vm.baseInfo.hosName,
|
|
|
hospitalId: vm.baseInfo.hospitalId,
|
|
|
deptName: vm.baseInfo.deptName,
|
|
|
deptId: vm.baseInfo.hosDeptId,
|
|
|
doctorName: vm.baseInfo.doctorName,
|
|
|
doctorId: vm.baseInfo.doctorSn,
|
|
|
lczcName: vm.baseInfo.lczcName,
|
|
|
photoUri: vm.baseInfo.photoUri,
|
|
|
registerDate: dateInfo.registerDate,
|
|
|
timeId: dateInfo.timeId,
|
|
|
commendTime: numberInfo.commendTime || numberInfo.commendScope,
|
|
|
serialNo: numberInfo.serialNo,
|
|
|
invalidDate: dateInfo.invalidDate,
|
|
|
originType: 1, //来源类型,1:PC,2:APP,
|
|
|
registerType: 1 //挂号方式,1:预约挂号,2:现场挂号
|
|
|
};
|
|
|
|
|
|
appointmentAPI.createRegistration({entityJson: JSON.stringify(params)}).then(function(res){
|
|
|
if(res.successFlg){
|
|
|
var id = res.obj.id;
|
|
|
//存储这些数据传递去确认页面
|
|
|
window.localStorage.setItem("dateInfo", JSON.stringify(dateInfo));
|
|
|
window.localStorage.setItem("numberInfo", JSON.stringify(numberInfo));
|
|
|
window.localStorage.setItem("baseInfo", JSON.stringify(vm.baseInfo));
|
|
|
|
|
|
//跳转去确认信息页面
|
|
|
window.location.href = "confirm-info.html?id="+id;
|
|
|
}else{
|
|
|
console.log(res.errorMsg);
|
|
|
}
|
|
|
})
|
|
|
|
|
|
//存储这些数据传递去确认页面
|
|
|
window.localStorage.setItem("dateInfo", JSON.stringify(dateInfo));
|
|
|
window.localStorage.setItem("numberInfo", JSON.stringify(numberInfo));
|
|
|
window.localStorage.setItem("baseInfo", JSON.stringify(vm.baseInfo));
|
|
|
|
|
|
//跳转去确认信息页面
|
|
|
window.location.href = "confirm-info.html";
|
|
|
}
|
|
|
|
|
|
function getWeekDay(val){
|