// 基本信息(包括userAgent) var baseInfo = null, // 基础环境信息(包括当前webview、encry相关) baseEnv = null, docInfo = null, fv_id = null, pro_id = null, title = "", followupClass = null, patientCode = null, otherPeople = '', activeField = ""; //记录输入框修改时的id var project_data; var $form = $("#question_form"), BP_D_OPS = BP_U_OPS = WEIGHT_OPS = HEART_RATE_OPS = BS_FPG_OPS = null; //历史记录下拉选择模板 // 获取登录相关信息 var getBaseInfo = function() { docInfo = JSON.parse(plus.storage.getItem("docInfo")); fv_id = baseEnv.webview.followup_id; pro_id = baseEnv.webview.project_id; title = baseEnv.webview.title; followupClass = baseEnv.webview.followupClass; patientCode = baseEnv.webview.patientCode; otherPeople = baseEnv.webview.otherPeople; // 登录的相关信息 var userAgent = JSON.parse(plus.storage.getItem("userAgent")); return { userAgent: userAgent } }, // 获取基础环境信息 getBaseEnvPromise = function () { var env = { webview: plus.webview.currentWebview() }; // 因为有异步请求,需要等待数据返回之后进行处理,所以返回Promise return Promise.resolve().then(function(res) { return env; }); }, initPage = function(){ plus.nativeUI.showWaiting(); $("#title").text(title); if(otherPeople){ $('#btn_group').hide(); $('#question_form').css('pointer-events','none') }else{ $('#btn_group').show(); $('#question_form').css('pointer-events','') } //统一模板 project_data = gTemplate[pro_id]; sendPost("/doctor/followup/getFollowupProjectData", {id: fv_id,followupProject: pro_id}, null, function(res){ for(key in project_data){ project_data[key].value = res.data?res.data[key]:''; if(project_data[key].type==4 || project_data[key].type==3) { if(project_data[key].value){ project_data[key].valueLength = project_data[key].value.length; } } } if(pro_id == 5){ if(followupClass == 1){//高血压 project_data = _.pick(project_data, 'HYP_FOLLOWUP_TYPE_CODE', 'HYP_COMPLICATION_DETAIL'); }else if(followupClass == 2){//糖尿病 project_data = _.pick(project_data, 'DIA_FOLLOWUP_TYPE_CODE', 'DIA_COMPLICATION_DETAIL'); } } //处理拒绝转诊字段不统一问题 if(pro_id == 9){ project_data.DISAGREE_TRANSFER.value = res.data?res.data['REFUSE_REFERRAL_WHY']:'' } var html = template("item", {data:project_data,followupClass:followupClass}); var link = ""; if(pro_id == 8){//健康教育 link = ''; } $form.append(link+html); if(pro_id == 8){//健康教育 $('#jkjy').attr('data-id',res.data?res.data['HEALTH_EDUCATE']:'') } initMobiscroll(); checkBtnEnable(); if(pro_id == 7){//控制目标 $("input[name=CONTROL_CONSTITUTOR]").val(docInfo.name); } plus.nativeUI.closeWaiting(); },'GET'); }, initMobiscroll = function(){ //随访日期选择 $('[data-val=date]').mobiscroll({ preset: 'date', theme: 'ios', display:'bottom', lang: 'zh', dateFormat: 'yy-mm-dd', showLabel: false }); //选择下拉选择 if(pro_id == 8){ var html = ''; var datas = project_data['HEALTH_EDUCATE'].list for(var key in datas){ if(key == $('#jkjy').attr('data-id')){ html += ''; }else{ html += ''; } } $('#jkjy').html(html); $('#jkjy').mobiscroll().select({ theme: 'ios', lang: 'zh', display: 'bottom', placeholder:'请选择', rows:4, onSelect: function ( valueText, inst) { $('#jkjy').attr('data-id',inst._tempValue) $('#jkjy').attr('data-name',valueText) } }) } //绑定数字键盘 $.each(document.querySelectorAll('input[type=number]'), function(index, el){ var name = el.name; if(name == "BP_U" || name == "BP_D" || name=="CONTROL_BP_U"|| name=="CONTROL_BP_D"){ $(el).mobiscroll().numpad({ theme: 'ios', display: 'bottom', lang: 'zh', placeholder: '0', fill: 'rtl', allowLeadingZero: true, template: 'ddd', scale:0, buttons: ['set','cancel'], onShow: function(html, inst){ activeField = this.name; var linkHtml = ""; html.find(".dwwr").before(linkHtml); var dialog = html.find("[role=dialog]"), top = dialog.css("top"); dialog.css('top', (parseFloat(top)-30)+"px"); }, onSelect: function(valueText, inst){ var value = parseFloat($('.mbsc-np-dsp').text()); $(this).val(value); } }); }else if(name=="HEART_RATE" || name=="DAILY_SMOKING" || name=="CONTROL_EXERCISE_DURATION_MINS" || name=="SOMKING_EXP" || name=="EXERCISE_DURATION_MINS" || name=="EXERCISE_DURATION_MINS_EXP"){ $(el).mobiscroll().numpad({ theme: 'ios', display: 'bottom', lang: 'zh', placeholder: '0', fill: 'rtl', allowLeadingZero: true, template: 'ddd', scale:0, buttons: ['set','cancel'], onSelect: function(valueText, inst){ var value = parseFloat($('.mbsc-np-dsp').text()); $(this).val(value); } }) }else if(name == "RENAL_FUNCTION_CREATININE" || name=="DRINK_EXP" || name=="DAILY_DRINKING" || name=="DAILY_STAPLE" || name == "WEIGHT_EXP"){ $(el).mobiscroll().numpad({ theme: 'ios', display: 'bottom', lang: 'zh', placeholder: '0', fill: 'rtl', allowLeadingZero: true, template: 'ddd.d', scale:0, buttons: ['set','cancel'], onSelect: function(valueText, inst){ var value = parseFloat($('.mbsc-np-dsp').text()); $(this).val(value); } }) }else if(name == "BS_FPG" || name == "NO_BS_FPG" || name == "RANDOM_BLOOD_SUGAR" || name == "CONTROL_BS_FPG" || name == "CONTROL_NO_BS_FPG"){ $(el).mobiscroll().numpad({ theme: 'ios', display: 'bottom', lang: 'zh', placeholder: '0', fill: 'rtl', template: 'dd.d', allowLeadingZero: true, buttons: ['set','cancel'], onSelect: function(valueText, inst){ var value = parseFloat($('.mbsc-np-dsp').text()); $(this).val(value); }, onShow: function(html, inst){ activeField = this.name; var linkHtml = ""; html.find(".dwwr").before(linkHtml); var dialog = html.find("[role=dialog]"), top = dialog.css("top"); dialog.css('top', (parseFloat(top)-30)+"px"); }, validate: function(value){ var v = value.length > 0 ? value.join("") : 0; return {invalid: parseFloat(v)<=0}; } }); }else if(name == "WEIGHT" || name == "HEIGHT" || name == "CONTROL_WEIGHT"){ $(el).mobiscroll().numpad({ theme: 'ios', display: 'bottom', lang: 'zh', placeholder: '0', fill: 'rtl', template: 'ddd.d', allowLeadingZero: true, buttons: ['set','cancel'], onSelect: function(valueText, inst){ var value = parseFloat($('.mbsc-np-dsp').text()); $(this).val(value); }, onShow: function(html, inst){ activeField = this.name; var linkHtml = ""; html.find(".dwwr").before(linkHtml); var dialog = html.find("[role=dialog]"), top = dialog.css("top"); dialog.css('top', (parseFloat(top)-30)+"px"); }, validate: function(value){ var v = value.length > 0 ? value.join("") : 0; return {invalid: parseFloat(v)<=0}; } }) }else{ $(el).mobiscroll().numpad({ theme: 'ios', display: 'bottom', lang: 'zh', // placeholder: '0', // fill: 'rtl', // allowLeadingZero: true, // scale:0, // buttons: ['set','cancel'], // onBeforeShow: function(inst){ // inst.settings.leftButton = {text:".", value:"."}; // inst.settings.maxLength = 4; // inst.settings.maxScale = 4; // }, onSelect: function(valueText, inst){ var value = parseFloat($('.mbsc-np-dsp').text()) $(this).val(value) }, // validate: function(value){ // var v = value.length > 0 ? value.join("") : 0; // return {invalid: parseFloat(v)<=0}; // } }) } }) }, checkBtnEnable = function(){ var radios = $('input[type=radio]:checked').val(); var checkboxs = $('input[type=checkbox]:checked').val(); var textareas = $.trim($('textarea').val()); var numbers = 0; var texts = 0; if ($('input[type=text]').length > 0 ) texts = $('input[type=text]').val().length; if(undefined == radios && undefined == checkboxs && '' == textareas) { $('#active_save').hide(); $('#disable_save').show(); } else { $('#active_save').show(); $('#disable_save').hide(); } $("input[type=number]").each(function(){ var value = $(this).val(); if(value.length>0){ $('#active_save').show(); $('#disable_save').hide(); } }); $("input[type=text]").each(function(){ var value = $(this).val(); if(value.length>0){ $('#active_save').show(); $('#disable_save').hide(); } }); }, //获得收缩压和舒张压和心率等历史记录 getXueyaHistoryData = function(){ var url = "doctor/health_index/getHealthIndexHistory", params = {patient:patientCode, type: 2, page:0, pagesize: 3}; sendGet(url, params, null, function(res){ if(res.status == 200){ var BP_D_list = [], BP_U_list = [], HEART_RATE_list = []; for(i=0; i 0){ BP_D_OPS = template('option_tmp', {list: BP_D_list, id: "BP_D", type:2, title: "血压"}); } if(BP_U_list.length > 0){ BP_U_OPS = template('option_tmp', {list: BP_U_list, id: "BP_U", type:2, title: "血压"}); } if(HEART_RATE_list.length > 0){ HEART_RATE_OPS = template('option_tmp', {list: HEART_RATE_list, id: "HEART_RATE", type:2, title: "心率"}); } }else{ mui.toast(res.msg); } }); }, //获得体重的历史记录 getWeightHistoryData = function(){ var url = "doctor/health_index/getHealthIndexHistory", params = {patient:patientCode, type: 3, page:0, pagesize: 3}; sendGet(url, params, null, function(res){ if(res.status == 200){ var weight = []; for(i=0; i 0){ WEIGHT_OPS = template('option_tmp', {list: weight, id: "WEIGHT", type:3, title:"体重"}); } }else{ mui.toast(res.msg); } }); }, //获得血糖的历史记录 getXuetangHistoryData = function(){ var url = "doctor/health_index/getHealthIndexHistory", params = {patient:patientCode, type: 1, page:0, pagesize: 3}; sendGet(url, params, null, function(res){ if(res.status == 200){ var list = []; for(i=0; i< res.data.length; i++){ var item = res.data[i]; list.push({ time: item.time.substr(0, item.time.length-3), value: item.gi, text: item.text }); } if(list.length > 0){ BS_FPG_OPS = template('option_tmp', {list: list, id: "BS_FPG", type:1, title:"血糖"}); } }else{ mui.toast(res.msg); } }); }, openNewPage = function(ele){ var url = ele.getAttribute("data-href"), type = ele.getAttribute("data-type"); openWebview(url, {type: type, patientCode: patientCode}); }, bindEvents = function(){ $form.on("change","input",function(){ if(this.value){ $("#disable_save").hide(); $("#active_save").show(); }else{ var list = $("input"), len = list.length, empty = true; for(i=0; i< len; i++){ var value = list[i].value; if(value){ empty = false; } } if(empty){ $("#disable_save").show(); $("#active_save").hide(); } } //计算BMI值 体质指数(BMI)=体重(kg)÷身高^2(m) var name = $(this).attr("name"); switch(name){ case "WEIGHT": case "WEIGHT_EXP": case "HEIGHT": var w = parseFloat($("input[name=WEIGHT]").val()), ex_w = parseFloat($("input[name=WEIGHT_EXP]").val()), h = parseFloat($("input[name=HEIGHT]").val()); var BMI = w/(h/100 * h/100), EX_BMI = ex_w/(h/100 * h/100); if(!isNaN(BMI)){ $("input[name=BMI]").val(BMI.toFixed(2)); } if(!isNaN(EX_BMI)){ $("input[name=BMI_EXP]").val(EX_BMI.toFixed(2)); } break; } }) //添加获取历史记录的按钮事件 $("body").on("tap", ".mob-link", function(){ var type = $(this).attr("data-type"); openWebview("history_record.html",{ accessData:{ type: type, id: activeField, patientCode: patientCode } }); $("input[name="+activeField+"]").mobiscroll("hide"); }) //判断checkbox和radio控件 $form.on("click","input[type=checkbox]",function(){ if(this.checked){ $("#disable_save").hide(); $("#active_save").show(); this.value = 1; }else{ this.value = 0; } }); $form.on("click","input[type=radio]",function(){ $("#disable_save").hide(); $("#active_save").show(); }); $form.on("click",".c-check",function(){ var hideType = $(this).attr('has-hide') var name = $(this).find('input').attr('name') var $list = $(this).closest('.c-list') var $textarea; if(hideType == "4") { $textarea = $list.find('textarea[name="'+name+'"]') if($(this).find('input')[0].checked) { $textarea.closest('li').show() } else { $textarea.closest('li').hide() } } }); $("#active_save").on("click", function(){ if(pro_id == 2) { var xy_d = $('input[name="BP_D"]').val() var xy_u = $('input[name="BP_U"]').val() if(!(xy_d && xy_u)) { mui.toast("收缩压和舒张压必填"); return ; } } if(pro_id == 5) { var xtExam = $('input[name="DIA_FOLLOWUP_TYPE_CODE"]:checked').val() var xyExam = $('input[name="HYP_FOLLOWUP_TYPE_CODE"]:checked').val() if($('input[name="DIA_FOLLOWUP_TYPE_CODE"]').length>0){ if(!xtExam){ mui.toast("请完善必填项"); return ; } } if($('input[name="HYP_FOLLOWUP_TYPE_CODE"]').length>0){ if(!xyExam){ mui.toast("请完善必填项"); return ; } } } if(pro_id == 3) { // 实验室检查,空腹血糖、餐后血糖、随机血糖、三项需必填一项 var bsValue = $('input[name="BS_FPG"]').val() || $('input[name="NO_BS_FPG"]').val() || $('input[name="RANDOM_BLOOD_SUGAR"]').val() if(!bsValue) { mui.toast("血糖必填一项"); return ; } } // if(pro_id == 4) { // 运动频率、摄盐情况变更为必填 // var exercise = $('input[name="EXERCISE_FREQ_CODE"]:checked').val() // var salt = $('input[name="SALT_TAKEN_LEVEL_CODE"]:checked').val() // if(!exercise) { // mui.toast("请选择运动频率"); // return ; // } // if(!salt) { // mui.toast("请选择摄盐情况"); // return ; // } // } if(pro_id == 8) { // 健康教育 var Value = $('#jkjy').attr('data-id'); if(!Value) { mui.toast("健康教育必填"); return ; } } if(pro_id == 9) { // 转诊原因及机构科室变更为必填 var disagree = $('input[name="DISAGREE_TRANSFER"]').val() if(!disagree || disagree=="0"){ disagree = 0 }else{ disagree = 1 } var tranferReson = $('textarea[name="TRANSFER_RESON"]').val().trim() var tranferOrgDept = $('textarea[name="TRANSFER_ORG_DEPT"]').val().trim() if(!tranferReson) { mui.toast("请输入转诊原因"); return ; } if(!tranferOrgDept) { mui.toast("请输入转诊机构科室"); return ; } if(disagree == 0){ $('textarea[name="DISAGREE_TRANSFER"]').val('') }else{ if(!$('textarea[name="DISAGREE_TRANSFER"]').val().trim()){ mui.toast("请输入拒绝原因"); return ; } } } plus.nativeUI.showWaiting(); var url = "doctor/followup/saveFollowupProjectData", params = {id: fv_id, followupProject:pro_id}, data = {}; $form.serializeArray().map(function(x){data[x.name]=x.value;}); if(pro_id == 7){ data.CONTROL_CONSTITUTOR_DOCTORCODE = docInfo.code; } if(pro_id == 8){ data.HEALTH_EDUCATE = $('#jkjy').attr('data-id'); } //处理拒绝转诊字段不统一问题 if(pro_id == 9){ data.REFUSE_REFERRAL = disagree; data.REFUSE_REFERRAL_WHY = $('textarea[name="DISAGREE_TRANSFER"]').val().trim(); delete data.DISAGREE_TRANSFER } params.followupProjectData = JSON.stringify(data); sendPost(url, params, null, function(res){ plus.nativeUI.closeWaiting(); mui.toast(res.msg); if(res.status == 200){ var preWebview = plus.webview.getWebviewById('fvDetail'), preWebview2 = plus.webview.getWebviewById('xf_fvDetail'), curWebview = plus.webview.currentWebview(); setTimeout(function(){ if(preWebview){ mui.fire(preWebview,"refresh") } if(preWebview2){ mui.fire(preWebview2,"refresh") } },500) setTimeout(function(){ curWebview.close(); },1000) } }, 'POST'); }); $("body").on('keyup', "textarea", function(){ var value = this.value, $count = $(this).siblings("p").find(".other-count"); if($.trim(value) == ""){ this.value = ""; $count.text(0); }else{ $count.text(value.length); } }); }; // 页面业务处理流程开始 new Promise(function(resolve, reject) { // TODO 临时放开 //resolve(true); mui.plusReady(function() { // plus已经准备好,可以往下执行 resolve(true); }); }).then(function() { // 获取基础环境信息 return getBaseEnvPromise().then(function(env) { baseEnv = env; }).then(function() { // 获取登录医生信息 baseInfo = getBaseInfo(); //初始化页面内容 initPage(); // 绑定页面事件 bindEvents(); }) }).catch(function(e) { plus.nativeUI.closeWaiting(); console && console.error(e); }); window.addEventListener("fillValue", function(e){ var id = e.detail.id, value2 = e.detail.value2; value = e.detail.value; $("input[name="+id+"]").val(value); if(activeField == "WEIGHT" || activeField == "HEIGHT"){ $("input[name=WEIGHT]").val(value) $("input[name=HEIGHT]").val(value2) var w = $("input[name=WEIGHT]").val(), h = $("input[name=HEIGHT]").val(); var BMI = w/(h/100 * h/100); if(!isNaN(BMI)){ $("input[name=BMI]").val(BMI.toFixed(2)); } } //填充血压 if(activeField == "BP_D" || activeField == "BP_U"){ var $bpu = $("input[name=BP_U]"), $bpd = $("input[name=BP_D]"); $bpd.val(value) $bpu.val(value2) } if(activeField == "CONTROL_BP_U" || activeField == "CONTROL_BP_D"){ var $bpu = $("input[name=CONTROL_BP_D]"), $bpd = $("input[name=CONTROL_BP_U]"); $bpd.val(value2) $bpu.val(value) } $("#disable_save").hide(); $("#active_save").show(); }) window.addEventListener("fillEdu", function(e){ //填充教育信息 var info = JSON.parse(e.detail.info); var dateStr = info.czrq ? info.czrq.substr(0,10) : info.createTime.substr(0, 10); var type = e.detail.type; $("input[data-val=date]").val(dateStr); $("input[name=ARCHIVE_OPERATOR_NAME]").val(info.doctorName); var content = ""; if(type == "zhidao"){ plus.nativeUI.showWaiting(); var url = "doctor/health/guidance/id", params = {id: info.id}; sendPost(url, params, null, function(res){ if(res.status == 200){ content = res.data.content; var content1 = content.replace(/\ /g, ""); content1 = content1.replace(/<[^>]+?>/g, ""); content1 = content1.substr(0, 2000); $("textarea[name=EDUCATE_CONTENT]").val(content1); $(".other-count").text(content1.length); } plus.nativeUI.closeWaiting(); }, 'POST', '', true); } if(type == "edu"){ var url = "/third/jkEdu/Article/getArticalById", params = {articleId: info.code, userType: 1}; sendPost(url, params, null, function(res){ if(res.status == 200){ content = res.data.articleContent; //出去文本中的html标签的内容 var content1 = content.replace(/\ /g, ""); content1 = content1.replace(/<[^>]+?>/g, ""); content1 = content1.substr(0, 2000); $("textarea[name=EDUCATE_CONTENT]").val(content1); $(".other-count").text(content1.length); } }, 'GET', '', true); } $("#disable_save").hide(); $("#active_save").show(); }); window.addEventListener("filldyy", function(e){ var info = JSON.parse(e.detail.info), text = info.orgName+" "+info.deptName; $("[name=TRANSFER_ORG_DEPT]").val(text); $("[name=TRANSFER_ORG_DEPT]").siblings("p").find(".other-count").text(text.length); });