123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369 |
- 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
- }
|