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}}计划
\
指导留言
\
\
{{message.content}}
\
\
\
\
\ \ {{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') }) }