Vue.use(Vuedals.default); new Vue({ el: "#main", data: { height:"", isloading:false, //加载中 start:"", end:"", tabledata:[], //表格数据 levelList:[{level:"4",areaLevel:"2"},{level:"3",areaLevel:"3"},{level:"2",areaLevel:"4"}], //两种搜索,地区等级对比 areaLevel:"", // 2、市,3、区,4、社区,5、团队 initareaLevel:"", initlevel: '', initarea: '', level: '', area: '', areaTitle: '', index: '121', lowLevel: '', initlowLevel:"", years:[], chooseYear: '', userRole: '', treedata: [{ id: 1, prop:"aaa10", label: '一级 1', children: [{ id: 4, prop:"aaa9", label: '二级 1-1', children: [{ id: 9, prop:"aaa1", label: '三级 1-1-1' }, { id: 10, prop:"aaa2", label: '三级 1-1-2' }] }] }, { id: 2, prop:"aaa8", label: '一级 2', children: [{ id: 5, prop:"aaa3", label: '二级 2-1' }, { id: 6, prop:"aaa4", label: '二级 2-2' }] }, { id: 3, prop:"aaa7", label: '一级 3', children: [{ id: 7, prop:"aaa5", label: '二级 3-1' }, { id: 8, prop:"aaa6", label: '二级 3-2' }] }], tableHeader:[], defaultProps: { children: 'children', label: 'label' }, pickerOptions:{ disabledDate(time) { return time.getTime() > Date.now() }, }, radio:'1', currentPage:1, currentSize:100, datatotal:1000, areaList:[], areaCode:"", communityList:[{code:"",name:"全部"}], communityCode:"", teamList:[{code:"",name:"全部"}], teamCode:"", }, components: { vuedals: Vuedals.Component }, mounted: function () { var vm=this //初始化数据 initData(vm); vm.height = document.body.offsetHeight - 85 window.onresize = function () { vm.height = document.body.offsetHeight - 85 console.log(vm.height) } }, methods: { beforeReq:function(){ var vm=this,startDate="",endDate="",checked=[] if(vm.radio=="1"){ startDate = getStartDate(vm.chooseYear) endDate = getEndDate(vm.chooseYear) }else{ if(!vm.start&&!vm.end){ this.$message({ message: '请选择创建时间', type: 'warning' }); return false }else{ if(vm.start>vm.end){ this.$message({ message: '开始时间应早于结束时间', type: 'warning' }); return false }else{ startDate = vm.start endDate = vm.end } } } var checkTree = vm.$refs.tree.getCheckedNodes(true); if(checkTree.length){ vm.tableHeader = [] _.each(checkTree,function(item,index){ vm.tableHeader.push({prop:item.prop,label:item.label}) checked.push(item.id) }) console.log(JSON.stringify(vm.tableHeader)) console.log(JSON.stringify(checked)) }else{ this.$message({ message: '请选择查询项', type: 'warning' }); return false } return {start:startDate,end:endDate} }, searchHandle:function(){ var vm = this,DateJson=undefined console.log("before-pass") DateJson = vm.beforeReq() if(DateJson){ console.log("pass") } }, backClick:function(){ history.go(-1); }, bindEvent:function(){ var vm=this //监听后退按钮的操作 EventBus.$on("back-click", function (arg) { EventBus.$emit('update-statistics-time', {}); //更新统计时间 vm.backClick() }); //监听页面刷新 EventBus.$on("refresh-click", function (arg) { EventBus.$emit('update-statistics-time', {}); //更新统计时间 initData(vm) }); $("#main").removeClass("c-hide"); }, handleSizeChange:function(val) { console.log(`每页 ${val} 条`); }, handleCurrentChange:function(val) { console.log(`当前页: ${val}`); }, initTableHeader:function() { var vm=this }, //获取省市区 type:省1,市2,区3 ,社区 4 flag:是否有下级搜索 getDistrict: function(type,code,name) { var vm=this,list = [],param="" if(type == 3){ list = [{code:code,name:name}] param = "area" }else if(type == 4){ list = [{code:"",name:"全部"}] param = "community" }else if(type == 5){ list = [{code:"",name:"全部"}] param = "team" } var params={ type:type,code:code } homeAPI.getDistrict(params).then(function(res) { if(res.status == 200) { vm[param+"List"]=list.concat(res.list) vm[param+"Code"]=vm[param+"List"][0].code } else { vm.$message.error(res.msg) } }) }, selChange:function(type){ var vm=this,name="" if(type == 3){ name = _.find(vm.areaList,{code:vm.areaCode}).name vm.initSelOption("community") vm.initSelOption("team") if(vm.areaCode != "350200"){ vm.getDistrict(4,vm.areaCode,name) } }else if(type == 4){ name = _.find(vm.communityList,{code:vm.communityCode}).name vm.initSelOption("team") if(vm.areaCode){ vm.getDistrict(5,vm.areaCode,name) } } }, initSelOption:function(param){ var vm=this vm[param+"List"]=[{code:"",name:"全部"}] vm[param+"Code"]=vm[param+"List"][0].code } }, }) function initData(vm) { //获得缓存中缓存的角色权限 var userRole = window.sessionStorage.getItem("selectedRole"); if (!userRole) { return false; } vm.userRole = JSON.parse(userRole); //level:2、市,3、区,4、社区,5、团队 vm.initareaLevel = vm.areaLevel = vm.userRole.code == '350200' ? 2 : vm.userRole.code.length == 6 ? 3 : 4; vm.initlevel = vm.level = vm.userRole.code == '350200' ? 4 : vm.userRole.code.length == 6 ? 3 : 2; // vm.lowLevel = vm.initlowLevel = vm.userRole.code == '350200' ? 3 : vm.userRole.code.length == 6 ? 2 : 1; vm.initarea =vm.area = vm.userRole.code; vm.areaTitle = vm.userRole.name; if(vm.initlevel == 4){ //市获取区 vm.getDistrict(3,vm.initarea,vm.areaTitle.substr(0,3)) }else if(vm.initlevel == 3){ //区获取社区 vm.areaList = [{code:vm.initarea,name:vm.areaTitle}] vm.areaCode = vm.initarea vm.getDistrict(4,vm.initarea,vm.areaTitle) }else if(vm.initlevel == 2){ //社区获取团队 vm.communityList = [{code:vm.initarea,name:vm.areaTitle}] vm.communityCode = vm.initarea vm.getDistrict(5,vm.initarea,vm.areaTitle) } //初始化时间 var now = new Date(); vm.end = now.format("yyyy-MM-dd") var start = now.getTime() - 30*24*60*60*1000 vm.start = new Date(start).format("yyyy-MM-dd") vm.nowyear = vm.chooseYear = now.getFullYear() vm.nowmonth = now.getMonth()+1 vm.years = [] for(i=vm.nowyear; i>=2016; i--){ vm.years.push(i) } vm.bindEvent() } function initReqParams(vm) { var reqParam = [{ url: "doctor/statisticAnalyze/doorAggregateAnalysis", //头中部数据 reqType: 'get', data:{ startDate: vm.start, endDate: vm.end, area: vm.area, level: vm.areaLevel, //2、市,3、区,4、社区,5、团队 }, },{ url: "doctor/statisticAnalyze/order_lowlevel_all", //工单列表--表格 reqType: 'get', data:{ startDate: vm.start, endDate: vm.end, area: vm.area, level: vm.level, //2、市,3、区,4、社区,5、团队 sort: 1, lowLevel:vm.lowLevel||"", //等级 1:团队 2社区机构 3区级 4市级 }, },] return reqParam; } function loadData(loadArr, vm) { //获取其他请求的参数 var reqParams = initReqParams(vm), reqPromise = [], newArr = []; //记录非顶部请求的请求数组 for (i = 0; i < loadArr.length; i++) { var j = loadArr[i]; var param = reqParams[j]; reqPromise.push(httpRequest.get(param.url, { data: param.data })); newArr.push(loadArr[i]); } vm.isloading=true if (reqPromise.length > 0) { Promise.all(reqPromise).then(function (ress) { var res1, res2, res3, res4, res5; for (var i = 0; i < loadArr.length; i++) { var j = loadArr[i] + 1; if (j == 1) { res1 = ress[i]; } if (j == 2) { res2 = ress[i]; } if (j == 3) { res3 = ress[i]; } if (j == 4) { res4 = ress[i]; } if (j == 5) { res5 = ress[i]; } } if (res1 && res1.status == 200) { vm.topData=res1.data // vm.topData.evaluateSplit=parseFloat(vm.topData.evaluateSplit).toFixed(2) var voucherList=_.map(vm.topData.voucherList,function(item,index){ return { code:item.slaveKey1, amount:item.result1, name:item.slaveKey1Name, } }) if(voucherList.length==0||(voucherList.length==1&&!voucherList.name)){ vm.pieShow=false }else{ vm.pieShow=true } setTimeout(function(){ //服务人群分析-饼图 handlePieData({elId:"pieChart",arry: voucherList, title:{},colors: colors,param:"total",position:['30%', '51%'],radius:['75%', '90%']}) handlePieData({elId:"pieChart1",arry: voucherList, title:{},colors: colors,param:"total",position:['30%', '51%'],radius:['75%', '90%']}) },10) } if (res2 && res2.status == 200) { vm.tabledata0=listHandle(res2.data["index_121"],"all", vm); } vm.isloading=false }) } } function listHandle(list,param, vm){ var topArr = []; if(list.length==1&&!list[0].name){ list=[] } topArr = soreRank(getKeyValueArr(list, param||"amount")); var newlist = _.map(list, function(o, index){ o.rank=topArr[index] return o }); EventBus.$emit("render-area-data",{ }); return newlist }