var currentGMT = new Date() //当前时间GMT
function showSuccessMessage(msg) {
layer.msg(msg, {
icon: 1
})
}
function showSuccessMessage(msg) {
layer.msg(msg, {
icon: 1
})
}
function showErrorMessage(msg) {
layer.msg(msg, {
icon: 5
})
}
function showWarningMessage(msg) {
layer.msg(msg, {
icon: 2
})
}
function showInfoMessage(msg) {
layer.msg(msg, {
icon: 6
})
}
var previewLayerIndex, followupLayerIndex, KFZDlayerIndex
function closeFollowUpLayer(planDetaiId, relationCode, flag) {
if ($.isArray(relationCode)) {
$.each(relationCode, function (index, item) {
_vm.saveRehabilitationOperateRecord(planDetaiId, 6, item, flag)
})
} else {
_vm.saveRehabilitationOperateRecord(planDetaiId, 6, relationCode, flag)
}
layer.close(followupLayerIndex)
}
function closeKFZDlayer(planDetaiId, relationRecordId) {
layer.close(KFZDlayerIndex)
_vm.saveRehabilitationOperateRecord(planDetaiId, 5)
}
function closeKFZD() {
layer.close(KFZDlayerIndex)
_vm.initData()
}
var _vm
Vue.component('server-items-detail', {
template:
'
\
\
\
\
\
服务内容-{{service.title}}
\
{{patientname}}患者{{service.title}}计划
\
指导留言
\
\
\
\
\
{{currentDay}}\
\
\
\
\
\
\
\
\
\
\
周一
\
周二
\
周三
\
周四
\
周五
\
周六
\
周日
\
\
\
\
\
\
{{item.day}}\
\
\
\
\
\
专
科\
家
医\
\
\
\
{{(item.specialist && item.specialist.finish)}}/{{(item.specialist && item.specialist.all)}}\
\
\
\
{{(item.family && item.family.finish)}}/{{(item.family && item.family.all)}}\
\
\
{{curTaskName || \' \'}}
\
\
无服务项
\
\
\
\
\
\
\
\
\
\
时间 | \
项目 | \
执行人员 | \
执行地点 | \
相关记录 | \
状态 | \
\
\
\
{{item.date}} \
{{item.time}} \
{{item.html}}\
| \
\
{{item.name}} \
{{item.content}} \
| \
{{item.doctorName}} | \
{{item.hospitalName}} | \
查看 | \
{{item.status==0?\'未完成\':(item.status==1?\'已完成\':\'已预约\')}} | \
\
\
\
\
暂无数据 \
| \
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
',
props: ['patientname', 'patientcode', 'planid', 'plandetailid'],
data: function () {
return {
scList: [],
patientInfo: {},
ynow: currentGMT.getFullYear(), //年份
mnow: currentGMT.getMonth(), //月份(比实际少一个月---0开始至11)
dnow: currentGMT.getDate(), //当前日
currentDay: null, //带中文格式的当前年月
calendarData: [], //日历数据
timeAxisData: [], //时间轴数据
tabStatus: 1,
title: '',
docInfo: JSON.parse(window.localStorage.getItem('wlyyAgent')),
docInfo1: JSON.parse(window.localStorage.getItem('docInfo')),
upImgs: [],
upImgArr: [],
imgData: {
accept: 'image/gif, image/jpeg, image/png, image/jpg'
},
node: '',
layerIndex: undefined,
planDetaiId: '',
service: {
relationRecordImg: {},
messageList: {}
},
message: { isImg: false, content: '' },
islimit: false,
relationRecordId: null
}
},
watch: {
tabStatus: function () {
if (this.islimit) {
this.goToLoadData(true)
}
}
},
mounted: function () {
_vm = this
this.initData()
},
methods: {
initData: function () {
var vm = this
this.planDetaiId = this.plandetailid
this.getServiceItem()
},
getServiceItem: function () {
var vm = this
var loadding = top.layer.load(0, {
shade: false
}) //0代表加载的风格,支持0-2
rehaAPI
.serviceItem({
planDetailId: vm.planDetaiId
})
.then(function (res) {
top.layer.close(loadding)
if (res.status == 200) {
vm.service = res.data
vm.getPatientInfo(vm.service.patient)
var isZK = vm.docInfo.doctorType == 1 ? true : false
vm.service.isZK = isZK
if (vm.service.isMyTask == 1) {
//执行者
vm.service.isCK = true //无法显示按钮
if (vm.docInfo.uid == vm.service.specialistDoctorCode) {
//说明我自己是创建者
vm.service.isCK = false
vm.service.isCreate = true
}
} else {
if (vm.docInfo.uid == vm.service.specialistDoctorCode) {
//说明我自己是创建者
vm.service.isCreate = true
}
}
if (vm.service.frequencyCode) {
vm.islimit = true
vm.goToLoadData(true)
vm.monDetail()
} else {
vm.islimit = false
vm.tabStatus = 2
vm.selectByPlanDetaiId()
}
vm.getList()
vm.selectByGuidance()
vm.$forceUpdate()
} else {
showErrorMessage(res.msg)
}
})
},
// 获取康复计划服务项的指导留言
selectByGuidance: function () {
var vm = this
var params = {
planId: vm.planid,
itemCode: vm.service.type
}
rehaAPI.selectByGuidance(params).then(function (res) {
if (res.status == 200) {
var messageIndex = _.findIndex(res.data, { doctor_type: 1 })
if (messageIndex > -1) {
var message = res.data[messageIndex]
var contentType = message.content_type
if (contentType == 2 || contentType == 9) {
vm.message.isImg = true
}
vm.message.content = vm.getContent(message.content, message.content_type)
} else {
vm.message.content = '无'
}
} else {
showErrorMessage(res.msg)
}
})
},
goToEditConfig: function () {
var vm = this
location.href = '../../recover/html/new_recover.html?patient=' + vm.patientcode + '&isEditConfig=true&planId=' + vm.planid + '&planDetailId=' + vm.planDetaiId
},
closeAllLayer: function (name, planDetaiId, type, relationCode, flag) {
if (name == '预览康复指导') {
layer.close()
}
},
// 提醒患者 num 1康复指导2康复下转3复诊提醒4上门服务提醒5家签提醒
sendSpecialistWeixinMessage: function (planDetaiId, type) {
var vm = this
var text = ''
var patientName = vm.patientname
var patientCode = vm.patientcode
if (type == 4) {
// 上门服务
text = '请问您是否确认提醒' + patientName + '居民预约上门护理服务?'
} else if (type == 7) {
// 康复复诊
text = '请问您是否确认提醒' + patientName + '居民进行复诊?'
}
var current = layer.confirm(
text,
{
btn: ['确定', '取消'],
title: '提示'
},
function (index) {
var _type = type == 4 ? 4 : type == 7 ? 3 : ''
var loading = layer.load(0, { shade: false })
var params = {
patient: patientCode,
doctor: vm.docInfo.uid,
type: _type,
relationCode: planDetaiId,
planId: vm.planid
}
rehaAPI.sendSpecialistWeixinMessage(params).then(function (res) {
layer.close(loading)
if (res.status == 200) {
showSuccessMessage('提交成功!')
if (_type == 3 || _type == 4) {
// 提醒患者后,即认为是已完成
vm.saveRehabilitationOperateRecord(planDetaiId, type)
}
} else {
showErrorMessage(res.msg)
}
})
layer.close(current) //再执行关闭
}
)
},
// 添加完成记录
addCompleteRecord: function () {
var vm = this
var detailId = this.planDetaiId
var type = vm.service.type
$('#completeRecord').css('display', 'block')
this.layerIndex = layer.open({
type: 1,
area: ['500px', '450px'],
shade: 0.5,
title: '添加完成记录',
btn: ['确定', '关闭'], //只是为了演示
shadeClose: false, //点击遮罩关闭层
content: $('#completeRecord'),
yes: function () {
vm.saveRehabilitationOperateRecord(detailId, 1)
layer.close(vm.layerIndex)
}
})
},
monDetail: function () {
this.currentDay = this.ynow + '年' + (this.mnow + 1) + '月'
},
is_leap: function (year) {
//判断是否为闰年
return year % 100 == 0 ? (res = year % 400 == 0 ? 1 : 0) : (res = year % 4 == 0 ? 1 : 0)
},
preMonth: function () {
//上一个月
if (this.mnow <= 0) {
this.mnow = 11
this.ynow = this.ynow - 1
} else {
this.mnow--
}
this.monDetail()
this.goToLoadData(true)
},
getPreMouth: function () {
var pMnow, pYnow
if (this.mnow <= 0) {
pMnow = 11
pYnow = this.ynow - 1
} else {
pMnow = this.mnow - 1
pYnow = this.ynow
}
var m_days = new Array(31, 28 + this.is_leap(pYnow), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) //每个月的天数
return {
days: m_days[pMnow],
date: pYnow + '-' + (++pMnow >= 10 ? pMnow : '0' + pMnow)
}
},
nextMonth: function () {
//下一个月
if (this.mnow >= 11) {
this.mnow = 0
this.ynow = this.ynow + 1
} else {
this.mnow++
}
this.monDetail()
this.goToLoadData(true)
},
getNextMouth: function () {
var nMnow, nYnow
if (this.mnow >= 11) {
nMnow = 0
nYnow = this.ynow + 1
} else {
nMnow = this.mnow + 1
nYnow = this.ynow
}
var m_days = new Array(31, 28 + this.is_leap(nYnow), 31, 30, 31, 01, 31, 31, 30, 31, 30, 31) //每个月的天数
return {
days: m_days[nMnow],
date: nYnow + '-' + (++nMnow >= 10 ? nMnow : '0' + nMnow)
}
},
goToLoadData: function (flag) {
//flag是否更新数据
this.tabStatus == 1 && (!this.calendarData.length || flag) && this.calendar()
this.tabStatus == 2 && (!this.timeAxisData.length || flag) && this.timeAxis()
},
calendar: function () {
var nlstr = new Date(this.ynow, this.mnow, 1) //当月第一天
var firstday = nlstr.getDay() - 1 //第一天星期几,默认是周日 我们改成周一
firstday = firstday == -1 ? 6 : firstday //如果是-1,说明当月的第一天是周日
var m_days = new Array(31, 28 + this.is_leap(this.ynow), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) //每个月的天数
var tr_str = Math.ceil((m_days[this.mnow] + firstday) / 7) //当前月天数+第一天是星期几的数值 获得 表格行数
var c_days = m_days[this.mnow] //当前月份的天数
var p_arr = this.getPreMouth()
var n_arr = this.getNextMouth()
var i, k, idx, date_str
var dataArr = [] //天数/年月
for (i = 0; i < tr_str; i++) {
//表格的行
for (k = 0; k < 7; k++) {
//表格每行的单元格
idx = i * 7 + k //单元格自然序列号
date_str = idx - firstday + 1 //计算日期
var __ym
if (date_str <= 0) {
//过滤无效日期(小于等于零的、大于月总天数的)
date_str = date_str + p_arr['days'] //当前日期+上个月的天数就是上个月的日期
__ym = p_arr['date']
} else if (date_str > c_days) {
date_str = date_str - c_days //下个月的日期就是这个月的天数-当月的天数
__ym = n_arr['date']
} else {
__ym = this.ynow + '-' + (this.mnow >= 9 ? '' : '0') + (this.mnow + 1)
}
dataArr.push({
day: date_str,
date: __ym
})
}
}
this.__Data = dataArr
this.calenderPlanDetail()
},
// 日历有计划数据处理
planHandleData: function (data, day, mounth) {
var item = data
item.day = day
if (mounth) {
item.mounth = mounth
}
var finishFlag = false
var sFlag = false
var fFlag = false
if (item.specialist) {
if (item.specialist.all == item.specialist.finish) {
sFlag = true
}
} else {
sFlag = true
}
if (item.family) {
if (item.family.all == item.family.finish) {
fFlag = true
}
} else {
fFlag = true
}
finishFlag = sFlag && fFlag
item.finishFlag = finishFlag
return item
},
calenderPlanDetail: function () {
var vm = this
var __days = vm.__Data
var lastDay = __days.concat().pop().day
lastDay = lastDay > 9 ? lastDay : '0' + lastDay
if (vm.searchTask || vm.status || vm.status == 0) {
vm.isFastSearch = true
} else {
vm.isFastSearch = false
}
var params = {
executeStartTime: vm.isFastSearch ? '' : __days[0].date + '-' + __days[0].day + ' 00:00:00', //日历开始时间(格式:yyyy-MM-dd HH:mm:ss)
executeEndTime: vm.isFastSearch ? '' : __days.concat().pop().date + '-' + lastDay + ' 23:59:59', //日历结束时间(格式:yyyy-MM-dd HH:mm:ss)
planId: vm.planid, //计划id
searchTask: vm.service.type, //快速查找任务:(1、我的任务,2、健康教育,3、健康指导,4、随访)
status: null //任务状态(0未完成,1已完成,2已预约)
}
rehaAPI.calendarPlanDetail(params).then(function (res) {
vm.curTask = vm.searchTask
vm.curTaskName = vm.searchTaskName
vm.calendarData = []
var list = []
if (res.status == 200) {
var data = res.data
// 快速查找
if (vm.isFastSearch) {
vm.searchData = []
var searchData0 = [],
searchData1 = [],
searchData2 = []
for (var setM = 1; setM <= 12; setM++) {
var _setM = setM > 9 ? setM : '0' + setM,
_setY = new Date().getFullYear()
var data0 = [],
data1 = [],
data2 = []
for (var i in data) {
var getY = i.split('-')[0],
getM = i.split('-')[1],
getD = i.split('-')[2]
// 去年
if (_setY - 1 == getY && _setM == getM) {
var item = vm.planHandleData(data[i], getD, getM)
data0.push(item)
data.length && data.splice(i, 1)
} else if (_setY == getY && _setM == getM) {
// 今年
var item = vm.planHandleData(data[i], getD, getM)
data1.push(item)
data.length && data.splice(i, 1)
} else if (_setY + 1 == getY && _setM == getM) {
// 明年
var item = vm.planHandleData(data[i], getD, getM)
data2.push(item)
data.length && data.splice(i, 1)
}
}
if (data0.length) {
var dataSort = vm.daysSort(data0)
var addlen = (dataSort.length + 1) % 7 ? (dataSort.length + 1) % 7 : 7
for (var i = 0; i < 7 - addlen; i++) {
dataSort.push({
noService: true
})
}
searchData0.push(dataSort)
}
if (data1.length) {
var dataSort = vm.daysSort(data1)
var addlen = (dataSort.length + 1) % 7 ? (dataSort.length + 1) % 7 : 7
for (var i = 0; i < 7 - addlen; i++) {
dataSort.push({
noService: true
})
}
searchData1.push(dataSort)
}
if (data2.length) {
var dataSort = vm.daysSort(data2)
var addlen = (dataSort.length + 1) % 7 ? (dataSort.length + 1) % 7 : 7
for (var i = 0; i < 7 - addlen; i++) {
dataSort.push({
noService: true
})
}
searchData2.push(dataSort)
}
}
if (searchData0.length) {
vm.searchData.push(searchData0)
}
if (searchData1.length) {
vm.searchData.push(searchData1)
}
if (searchData2.length) {
vm.searchData.push(searchData2)
}
return false
}
// 正常日历
var _currentTimeStamp = +new Date(new Date().setHours(0, 0, 0, 0))
for (var i in __days) {
var _key = __days[i].date + '-' + (__days[i].day > 9 ? __days[i].day : '0' + __days[i].day)
var item = {
noService: true,
day: __days[i].day
}
for (var j in data) {
if (_key == j) {
item = vm.planHandleData(data[j], __days[i].day)
data.length && data.splice(j, 1)
break
}
}
var thatTime = +new Date(_key) - 8 * 60 * 60 * 1000
var future = _currentTimeStamp > thatTime ? 0 : _currentTimeStamp == thatTime ? 1 : 2
item.future = future
list.push(item)
// vm.calendarData.push(item);
}
vm.calendarData = vm.chunkFunction(list, 7)
}
})
},
chunkFunction: function (arr, size) {
let changeIndex = 0
let secondArr = []
while (changeIndex < arr.length) {
secondArr.push(arr.slice(changeIndex, (changeIndex += size)))
}
return secondArr
},
//时间轴请求
timeAxis: function () {
var m_days = new Array(31, 28 + this.is_leap(this.ynow), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) //每个月的天数
var c_days = m_days[this.mnow] //当前月份的天数
var __ym = this.ynow + '-' + (this.mnow >= 9 ? '' : '0') + (this.mnow + 1)
var dataArr = [] //天数/年月
for (; c_days > 0; c_days--) {
dataArr.push({
day: c_days,
date: __ym
})
}
this.__xData = dataArr
this.calendarPlanDetailList()
},
//限频次 时间轴请求
calendarPlanDetailList: function () {
var vm = this
var __days = vm.__xData
var lastDay = __days.concat().pop().day
lastDay = lastDay > 9 ? lastDay : '0' + lastDay
var params = {
executeEndTime: __days[0].date + '-' + __days[0].day + ' 23:59:59', //日历开始时间(格式:yyyy-MM-dd HH:mm:ss)
executeStartTime: __days.concat().pop().date + '-' + lastDay + ' 00:00:00', //日历结束时间(格式:yyyy-MM-dd HH:mm:ss)
planId: vm.planid, //计划id
searchTask: vm.service.type, // 服务项
status: null //任务状态(0未完成,1已完成,2已预约)
}
rehaAPI.calendarPlanDetailList(params).then(function (res) {
if (res.status == 200) {
// var _currentTimeStamp=+new Date(new Date().setHours(0, 0, 0, 0))
var list =
_.map(res.data || {}, function (o) {
// var _time=o.executeTime.split(' ');
// var thatTime=+new Date(_time[0]);
// var future=_currentTimeStamp>thatTime?0:(_currentTimeStamp==thatTime?1:2);
// (o.status==0 && _currentTimeStamp>thatTime) && (future=-1)
// var _html=o.status==2?'预':(future==-1?'逾':'');
// _html=future==1?'今':_html;
// if(_html=='预') future=3;
var _time = o.executeTime.split(' ')
var _html = ''
var d = new Date(o.execute_time)
if (d.format('yyyy-MM-dd') == new Date().format('yyyy-MM-dd')) {
o.firstSort = '1'
future = 1
_html = '今'
if (o.status) {
o.secondSort = '2'
} else {
o.secondSort = '1'
}
} else if (d > new Date()) {
o.firstSort = '3'
future = 2
if (o.status) {
o.secondSort = '2'
} else {
o.secondSort = '1'
}
} else {
o.firstSort = '2'
future = 0
if (o.status == 0) {
future = -1
_html = '逾'
o.secondSort = '1'
} else {
o.secondSort = '2'
}
}
o.html = _html
o.date = _time[0]
o.time = _time[1]
o.future = future
o.doctorName = o.doctor_name
o.hospitalName = o.hospital_name
return o
}) || []
var nowTime = new Date().getTime()
vm.timeAxisData = _.sortBy(list, function (o) {
return o.firstSort + o.secondSort + nowTime / o.execute_time
})
} else {
showErrorMessage(res.msg)
}
})
},
//不限频次 时间轴请求
selectByPlanDetaiId: function () {
var vm = this
var params = {
planId: this.planid,
code: vm.service.type,
page: 1,
pagesize: 10000
}
rehaAPI.selectByPlanDetaiId(params).then(function (res) {
if (res.status == 200) {
var list =
_.map(res.data.list || {}, function (o) {
var _time = o.completeTime.split(' ')
var _html = ''
var d = new Date(o.completeTime)
if (d.format('yyyy-MM-dd') == new Date().format('yyyy-MM-dd')) {
o.firstSort = '1'
future = 1
_html = '今'
if (o.status) {
o.secondSort = '2'
} else {
o.secondSort = '1'
}
} else if (d > new Date()) {
o.firstSort = '3'
future = 2
if (o.status) {
o.secondSort = '2'
} else {
o.secondSort = '1'
}
} else {
o.firstSort = '2'
future = 0
if (o.status == 0) {
future = -1
_html = '逾'
o.secondSort = '1'
} else {
o.secondSort = '2'
}
}
o.html = _html
o.date = _time[0]
o.time = _time[1]
o.future = future
o.hospitalName = o.hosiptalName
return o
}) || []
var nowTime = new Date().getTime()
vm.timeAxisData = _.sortBy(list, function (o) {
return o.firstSort + o.secondSort + nowTime / o.execute_time
})
} else {
showErrorMessage(res.msg)
}
})
},
zdly: function (data) {
var vm = this
var otherCode, otherName
var planDetailId = vm.plandetailid
if (vm.docInfo.doctorType == 1) {
if (docInfo.uid == data.specialistDoctorCode) {
//当前医生为创建计划的专科医生,与全科医生聊天
otherCode = data.familyDoctorCode
otherName = data.familyDoctorName
} else {
//当前医生为专科,当前医生不是创建计划的专科医生,没反应
return false
}
} else {
otherCode = data.specialistDoctorCode
otherName = data.specialistDoctorName
}
top.layer.open({
type: 2,
area: ['660px', '600px'],
shade: 0.5,
title: '指导留言',
fixed: true, //不固定
maxmin: true,
closeBtn: 1,
shift: 5,
shadeClose: false, //点击遮罩关闭层
content: '../../consulting/html/consulting.html?otherCode=' + otherCode + '&otherName=' + encodeURI(otherName) + '&planDetailId=' + planDetailId,
end: function () {
// 未点击确定按钮,点击关闭按钮
vm.initData()
}
})
},
//康复指导
kfzd: function () {
var vm = this
KFZDlayerIndex = layer.open({
type: 2,
// offset: ['100px'], //右下角弹出
area: ['660px', '650px'],
shade: 0.5,
title: '康复指导',
fixed: true, //不固定
maxmin: true,
closeBtn: 1,
shift: 5,
shadeClose: false, //点击遮罩关闭层
content:
'../../rehabilitation/html/rehabilitation_guidance.html?patient=' + vm.patientcode + '&planDetaiId=' + vm.planDetaiId + '&planId=' + vm.planid + '&isRecordId=true',
end: function () {
// 未点击确定按钮,点击关闭按钮
vm.initData()
}
})
},
// 康复随访计划
sfjh: function () {
var vm = this
followupLayerIndex = layer.open({
type: 2,
// offset: ['100px'], //右下角弹出
area: ['660px', '650px'],
shade: 0.5,
title: '随访计划',
fixed: true, //不固定
maxmin: true,
closeBtn: 1,
shift: 5,
shadeClose: false, //点击遮罩关闭层
content: '../../followup/html/followup_newplan.html?patient=' + vm.patientcode + '&planDetaiId=' + vm.planDetaiId + '&planId=' + vm.planid,
end: function () {
// 未点击确定按钮,点击关闭按钮
vm.initData()
}
})
},
upLoadImgToBase64: function () {
var vm = this
var img1 = event.target.files[0]
var reader = new FileReader()
var type = img1.type //文件的类型,判断是否是图片
var size = img1.size //文件的大小,判断图片的大小
if (this.imgData.accept.indexOf(type) == -1) {
alert('请选择我们支持的图片格式!')
return false
}
if (size > 3145728) {
alert('请选择3M以内的图片!')
return false
}
reader.readAsDataURL(img1)
reader.onload = function (e) {
vm.upImgs.push({
baseUrl: e.target.result
})
vm.upImgArr.push(img1)
vm.uploadImg(vm.upImgArr)
}
},
//上传图片
uploadImg: function (data) {
var vm = this
var len = data.length
if (len == 0) {
return
} else {
var file = data[len - 1]
var formData = new FormData()
formData.append('file', file)
rehaAPI.upload(formData).then(function (res) {
if (res.status == 200) {
vm.upImgs[len - 1].img = res.data
data.pop()
vm.$forceUpdate()
vm.uploadImg(data)
} else {
layer.msg(res.msg, {
icon: 5
})
}
})
}
},
saveRehabilitationOperateRecord: function (planDetailId, type, relationCode, flag) {
var vm = this
var patientName = vm.patientname
var patientCode = vm.patientcode
var _image = []
for (var i in vm.upImgs) {
_image.push(vm.upImgs[i].img)
}
var params = {
rehabilitationDetailId: planDetailId,
node: vm.node || '',
patientCode: patientCode,
doctorCode: vm.docInfo.uid,
relationRecordType: type,
relationRecordCode: '',
relationRecordImg: '',
status: flag && flag == 2 ? 1 : 0, // 改记录的状态
relationCode: relationCode, //业务id
flag: flag //标记(1随访2临时随访)
}
rehaAPI.saveRehabilitationOperateRecord({ dataJson: JSON.stringify(params) }).then(function (res) {
if (res.status == 200) {
if (type == 1) {
vm.updateNoteAndImageRehabilitationOperate(planDetailId)
} else if (type == 6) {
vm.updateRelationCodeByDetailId(planDetailId, relationCode)
} else {
vm.updateNoteAndImageRehabilitationOperate(planDetailId)
}
} else {
showErrorMessage(res.msg)
}
})
},
getPatientInfo(code) {
var vm = this
httpRequest.post('doctor/patient_label_info/patient', { data: { patient: code } }).then(function (res) {
vm.patientInfo = res.data
})
},
updateNoteAndImageRehabilitationOperate: function (planDetailId, relationCode) {
var vm = this
var _image = []
for (var i in vm.upImgs) {
_image.push(vm.upImgs[i].img)
}
var params = {
planDetailId: planDetailId,
node: vm.node || '',
image: JSON.stringify(_image) || ''
}
if (relationCode) {
params['relationCode'] = relationCode
}
var loadding = top.layer.load(0, {
shade: false
}) //0代表加载的风格,支持0-2
rehaAPI.updateNoteAndImageRehabilitationOperate(params).then(function (res) {
top.layer.close(loadding)
if (res.status == 200) {
vm.initData()
} else {
showErrorMessage(res.msg)
}
})
},
onViewDetail: function (item, type) {
var vm = this
console.log(item,"item",type);
if (this.scList == 0&&item.code == '6'&& vm.docInfo.doctorType != '1') {
this.$confirm('提示该居民近一年没有进行冠心病风险评估,请先进行评估,再进行随访登记', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(function () {
top.layer.open({
type: 2,
area: ['820px', '648px'],
shade: 0.5,
title: 'ASCVD风险评估',
fixed: true, //不固定
maxmin: true,
closeBtn: 1,
shift: 5,
shadeClose: false, //点击遮罩关闭层
content:
`../../jbsc/html/questionnaire.html?fliter_code=6bcd306aaafb4e4381071346d86fadbb1&fliter_title=ASCVD风险评估&resident_code=${vm.patientInfo.code}&resident_name=${vm.patientInfo.name}&surveyStatus=2&age=${vm.patientInfo.age}&noswitch=1`
})
})
} else {
var planids, recordId
if (this.islimit) {
planids = item.id
} else {
planids = item.id
recordId = item.recordId
}
this.viewDetail(planids, type, recordId)
}
},
getList: function () {
var vm = this
var params = {
doctor: vm.docInfo1.code,
diseaseType: vm.service.disease,
type: '',
patientName: '',
patientCode: vm.patientcode,
isDanger: '',
pageNo: 1,
pageSize: 1,
filterType: 1,
isAscvd: vm.service.disease == '3' ? 1 : ''
}
rehaAPI.getList(params).then(function (res) {
vm.scList = res.data
})
},
viewDetail: function (planids, type, recordId) {
var vm = this
if (!planids) {
layer.msg('无服务项', { icon: 5 })
return
}
if (type == 1) {
// 单个服务项
var s = '../../rehabilitation/html/guide_the_message.html?planid=' + planids + '&pId=' + vm.planid + '&patient=' + vm.patientcode + '&patientName=' + vm.patientname
if (recordId) {
s += '&recordId=' + recordId
}
layer.open({
type: 2,
area: ['800px', '700px'],
shade: 0.5,
title: '服务项目内容',
fixed: true, //不固定
maxmin: true,
closeBtn: 1,
shift: 5,
shadeClose: false, //点击遮罩关闭层
content: s,
end: function () {
// 未点击确定按钮,点击关闭按钮
vm.initData() // 刷新
}
})
return
}
layer.open({
// 康复计划的所有服务项
type: 2,
area: ['800px', '700px'],
shade: 0.5,
title: '服务项目内容',
fixed: true, //不固定
maxmin: true,
closeBtn: 1,
shift: 5,
shadeClose: false, //点击遮罩关闭层
content:
'../../rehabilitation/html/service_item_content.html?planids=' +
planids +
'&planId=' +
vm.planid +
'&patient=' +
vm.patientcode +
'&patientName=' +
vm.patientname +
'&disease=' +
vm.service.disease +
'&scLenght=' +
vm.scList.length,
end: function () {
vm.initData()
}
})
},
onClose: function () {
this.$emit('onclose')
},
qwapp: function () {
layer.msg('请前往app处理', { icon: 5 })
},
getContent: function (value, type) {
var res = value
if (type == 2 || type == 9) {
res = ""
} else if (type == 3) {
res = '【语音】'
} else if (type == 19) {
res = '【聊天记录】'
} else if (type == 12) {
res = '【视频】'
}
return res
},
previewImg: function (url) {
imgShow('#outerdiv', '#innerdiv', '#bigimg', url)
},
toDoorDialog() {
var vm = this
top.layer.open({
type: 2,
area: ['850px', '700px'],
shade: 0.5,
title: '代预约',
fixed: true, //不固定
maxmin: true,
closeBtn: 1,
// shift: 5,
shadeClose: false, //点击遮罩关闭层
content: `../../rehabilitation/html/toDoorService.html?patient=${this.patientcode}&detailId=${this.plandetailid}`,
end: function () {
vm.getServiceItem()
}
})
}
}
})
function imgShow(outerdiv, innerdiv, bigimg, _this) {
var src = _this.attr('src') //获取当前点击的pimg元素中的src属性
$(bigimg).attr('src', src) //设置#bigimg元素的src属性
/*获取当前点击图片的真实大小,并显示弹出层及大图*/
$('')
.attr('src', src)
.load(function () {
var windowW = $(window).width() //获取当前窗口宽度
var windowH = $(window).height() //获取当前窗口高度
var realWidth = this.width //获取图片真实宽度
var realHeight = this.height //获取图片真实高度
var imgWidth, imgHeight
var scale = 0.8 //缩放尺寸,当图片真实宽度和高度大于窗口宽度和高度时进行缩放
if (realHeight > windowH * scale) {
//判断图片高度
imgHeight = windowH * scale //如大于窗口高度,图片高度进行缩放
imgWidth = (imgHeight / realHeight) * realWidth //等比例缩放宽度
if (imgWidth > windowW * scale) {
//如宽度扔大于窗口宽度
imgWidth = windowW * scale //再对宽度进行缩放
}
} else if (realWidth > windowW * scale) {
//如图片高度合适,判断图片宽度
imgWidth = windowW * scale //如大于窗口宽度,图片宽度进行缩放
imgHeight = (imgWidth / realWidth) * realHeight //等比例缩放高度
} else {
//如果图片真实高度和宽度都符合要求,高宽不变
imgWidth = realWidth
imgHeight = realHeight
}
$(bigimg).css('width', imgWidth) //以最终的宽度对图片缩放
var w = (windowW - imgWidth) / 2 //计算图片与窗口左边距
var h = (windowH - imgHeight) / 2 //计算图片与窗口上边距
$(innerdiv).css({ 'top': h, 'left': w }) //设置#innerdiv的top和left属性
$(outerdiv).fadeIn('fast') //淡入显示#outerdiv及.pimg
})
$(outerdiv).click(function () {
//再次点击淡出消失弹出层
$(this).fadeOut('fast')
})
}