new Vue({ el: '#main', data: { roles: [], selectedRole: "", isopen: true, signAnalysis: [{ photo: '../../../images/qianyujingzhan_icon.png', label: '签约进展', url: 'sign-progress.html', allowArea:"", }, { photo: '../../../images/xuqianjingzhan_icon.png', label: '续签进展', url: 'renew-progress.html', allowArea:"", }, { photo: '../../../images/jumingfenxi_icon.png', label: '居民分析', url: 'resident-analysis.html', allowArea:"", }, { photo: '../../../images/jiankangguanli_icon.png', label: '健康管理', url: 'health-management-analysis.html', allowArea:"", },{ photo: '../../../images/tuigaiqian_icon.png', label: '退改签', url: 'change-back.html', allowArea:"", }, { photo: '../../../images/lianglvfenxi_icon.png', label: '两率分析', url: 'two-rate-analysis.html', allowArea:"", }], serviceAnalysis: [{ photo: '../../../images/zongtifenxi_icon.png', label: '总体分析', url: 'comprehensive-analysis.html', allowArea:"", }, { photo: '../../../images/zixunfenxi_icon.png', label: '咨询分析', url: 'consulting-analysis.html', allowArea:"", }, { photo: '../../../images/pijianfenxi_icon.png', label: '评价分析', url: 'estimate-analysis.html', allowArea:"", }, { photo: '../../../images/changcufangfenxi_icon.png', label: '长处方分析', url: 'prescription-analysis.html', allowArea:"", },{ photo: '../../../images/zhufufenxi_icon_pc.png', label: '祝福分析', url: 'blessing-analysis.html', allowArea:"", }, { photo: '../../../images/shangmenfuwu_icon.png', label: '上门服务', url: 'smfw-analysis.html', allowArea:"", }, { photo: '../../../images/shaichafenxin_icon.png', label: '筛查分析', url: 'jbsc-analysis.html', allowArea:"", }, { photo: '../../../images/zhuanbingfenxi_icon.png', label: '专病分析', url: 'special-analysis.html', allowArea:"", }, ], signRateData: { signTask: { text: '', rate: '0.00', sign: 0, people: 0 }, sign: { text: '', rate: '0.00', sign: 0, people: 0 }, renew: { text: '', rate: '0.00', sign: 0, people: 0 } }, dataQuery: [{ photo: '../../../images/shujudaochu_icon.png', label: '数据查询', url: 'comprehensive-query.html', allowArea:"", },{ photo: '../../../images/weijishihuifu_icon.png', label: '咨询未及时回复', url: 'consult-not-reply.html', allowArea:"", }, { photo: '../../../images/icon-baobiao.png', label: '年度考核报表', url: 'annual-appraisal-report.html', allowArea:"", }, ], paramValue:'', paramType:'', isGugan: false, }, methods: { open: function() { EventBus.$emit('open-click', {}); }, showDetail: function(url) { window.location.href = url; }, goToPage: function(val){ var url = "sign-progress.html"; if(val == 2){ url = "renew-progress.html"; }else if(val == 3){ url = "comprehensive-query.html"; } window.location.href = url; }, userRoleData:function(v) { var vm = this var roles = window.sessionStorage.getItem("userRole"); //如果没有缓存userRole,则说明是第一次进入统计页面,需要重新请求患者信息 // if(!roles){ var vm = this; httpRequest.getDoctorInfo().then(function(res){ var docInfo = res.data, userRole = docInfo.userRole; if(docInfo.expandLevelName){ vm.isGugan = docInfo.expandLevelName.indexOf("慢病骨干")>-1 } _.each(userRole,function(item,index){ if(item.areas!="350200"){ item.roleType='2' } }) if(docInfo.specialistRole&&docInfo.specialistRole.length){ //如果有专科权限 _.each(docInfo.specialistRole,function(item,index){ var hasIndex = _.findIndex(userRole,{areas:item.areas}) if(hasIndex == -1){ //去重 item.roleType='1' userRole.push(item) } }) } if(userRole.length>0){ window.sessionStorage.setItem("userRole", JSON.stringify(userRole)); window.localStorage.setItem("docInfo", JSON.stringify(docInfo)) window.sessionStorage.setItem("docInfo", JSON.stringify(docInfo)); vm.roles = userRole; vm.selectedRole = vm.getHighestRole(userRole).code; var selected = vm.getHighestRole(userRole); window.sessionStorage.setItem("selectedRole", JSON.stringify(selected)); $("#main").removeClass("c-hide") }else if(vm.isGugan){ window.localStorage.setItem("docInfo", JSON.stringify(docInfo)) window.sessionStorage.setItem("docInfo", JSON.stringify(docInfo)); var selected = { code: docInfo.town, areas: docInfo.town, name: docInfo.hospitalName } window.sessionStorage.setItem("selectedRole", JSON.stringify(selected)); $("#main").removeClass("c-hide") } if(userRole.length==0&&docInfo.specialistRole&&docInfo.specialistRole.length==0&&!vm.isGugan){ top.toastr.warning("您没有权限查看该页面"); } }) // }else{ // this.roles = JSON.parse(roles); // if(this.roles.length>0){ // var selected = window.sessionStorage.getItem("selectedRole"); // if(selected && selected!= "undefined") { // this.selectedRole = JSON.parse(selected).code; // } else { // this.selectedRole = this.roles[0].code; // var selected = this.roles[0]; // window.sessionStorage.setItem("selectedRole", JSON.stringify(selected)); // } // $("#main").removeClass("c-hide") // }else{ // top.toastr.warning("您没有权限查看该页面"); // } // } }, paramClick:function(v) { if(v == 'ztfx') { this.showDetail(this.serviceAnalysis[0].url) }else if(v == 'zxfx') { this.showDetail(this.serviceAnalysis[1].url) }else if(v == 'pjfx') { this.showDetail(this.serviceAnalysis[2].url) }else if(v == 'ccffx') { this.showDetail(this.serviceAnalysis[3].url) }else if(v == 'zffx') { this.showDetail(this.serviceAnalysis[4].url) }else if(v == 'smfw') { this.showDetail(this.serviceAnalysis[5].url) }else if(v == 'scfx') { this.showDetail(this.serviceAnalysis[6].url) }else if(v == 'zbfx') { if(this.paramType) { this.showDetail('special-analysis.html?type='+this.paramType) }else{ this.showDetail(this.serviceAnalysis[7].url) } }else if(v == 'sjcx') { this.showDetail(this.dataQuery[0].url) }else if(v=='jkmzf'){ this.showDetail('comprehensive-query.html?iSearch=1') } else if(v == 'ndkhbb') { this.showDetail(this.dataQuery[2].url) }else if(v == 'jmfx') { this.showDetail(this.signAnalysis[2].url) }else if(v == 'jkgl') { this.showDetail(this.signAnalysis[3].url) }else if(v == 'tgq') { this.showDetail(this.signAnalysis[4].url) } }, getHighestRole(userRole){ var vm = this var index = userRole.findIndex(function(item){return item.code.indexOf(350200)>-1 }) if(index>-1){ return userRole[index] } index = userRole.findIndex(function(item){return item.code.indexOf('jk_')>-1}) if(index>-1){ return userRole[index] } index = userRole.findIndex(function(item){return item.code.length == 6}) if(index>-1){ return userRole[index] } return userRole[0] } }, mounted: function() { //获取缓存里面的userRole this.userRoleData() //TODO 发布删除这个 // window.location.href = 'comprehensive-query.html' // 获取URL地址 var url = window.location.href; // 获取参数部分 var params = url.split('?')[1]; // 将参数部分转换为对象 var paramsObj = {}; if (params) { var paramsArr = params.split('&'); for (var i = 0; i < paramsArr.length; i++) { var param = paramsArr[i].split('='); paramsObj[param[0]] = param[1]; } } // 获取指定参数的值 this.paramValue = paramsObj['name']; this.paramType = paramsObj['type']; }, watch: { selectedRole: function(val) { var vm = this var selected = _.findWhere(this.roles, { code: val }); window.sessionStorage.setItem("selectedRole", JSON.stringify(selected)); getSignData(this); console.log(this.selectedRole) if(vm.selectedRole) { vm.paramClick(vm.paramValue) } }, // "paramValue":{ // handler:function(v) { // this.paramClick(v) // }, // }, } }) function getSignData(vm){ var code = vm.selectedRole, now = new Date(), params = { area: code, level: code == '350200' ? 4 : code.length == 6 ? 3 : 2, endDate: now.format("yyyy-MM-dd") }; statisticAPI.getSignInfo(params).then(function(res){ if(res.status == 200){ var data = res.data; vm.signRateData = { signTask: { text: formatRate(data.signTaskRate.rate), rate: '0.00', sign: data.signTaskRate.sign, people: data.signTaskRate.people }, sign: { text: formatRate(data.signRate.rate), rate: '0.00', sign: data.signRate.sign, people: data.signRate.people }, renew: { text: data.renewRange, rate: '0.00', sign: data.renew.split("/")[0], people: data.renew.split("/")[1] } } var val1 = data.signRate.people - data.signRate.sign, val2 = data.signTaskRate.people - data.signTaskRate.sign; var signArr = [ {name: "签约数", value: data.signRate.sign}, {name: "未签约数", value: val1 >0 ? val1 : 0}, ], signTaskArr = [ {name: "签约数", value: data.signTaskRate.sign}, {name: "未达标数", value: val2 >0 ? val2 : 0 } ], val = data.renew.split("/")[1] - data.renew.split("/")[0], renewArr = [ {name: "续签数", value: data.renew.split("/")[0]}, {name: "未达标数", value: val<0 ? 0 : val} ], color = ['#12b7f5', '#EBEBF5']; var signChart = drawPieChart("signMain", signArr, color, true); var completeChart = drawPieChart("completeMain", signTaskArr, color, true); var renewChart = drawPieChart("renewMain", renewArr, color, true); window.onresize = function() { signChart.resize(); completeChart.resize(); renewChart.resize(); } }else{ console.log(res.msg); } }) } function formatRate(str){ var val = parseFloat(str); return val.toFixed(2)+"%"; }