123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435 |
- $(function() {
- var teamCode = '',
- tType = 0;
- //接口
- var pi = {
- ztqk: 'statistics/getStatTitleInfo',//总体情况
- zxtj: 'statistics/getReyStatbyTeam',//咨询统计
- jmgzqs: 'statistics/getConcernbyTeam',//居民关注趋势
- gzbhqs: 'statistics/getConcerAndCancel',//关注变化趋势
- jgnfw: 'statistics/getServiceRankingList',//机构内排行
- pjmyd: 'statistics/getAvgLine'//医生平均分
- };
-
- function openWebview(href,hrefId,extras) {
- if(plus.os.name == "Android") {
- var wv = plus.webview.create( href, hrefId, {hardwareAccelerated:false}, extras);
- wv.show("slide-in-right",250);
- } else {
- mui.openWindow({
- url:href,
- id:hrefId,
- extras:extras
- })
- }
- }
-
- var gzbg = {
- // 下拉
- $demoComtop: $('.demo-comtop'),
- $linMask: $('.lin-mask'),
- $linSelGroup: $('.lin-sel-group'),
- $selTit: $('#selTit'),
- // echarts
- $qyqkChart: document.getElementById('qyqkChart'),
- $zxtjChart: document.getElementById('zxtjChart'),
- $jmgzChart: document.getElementById('jmgzChart'),
- $gzbhChart: document.getElementById('gzbhChart'),
- $jgChart: document.getElementById('jgChart'),
- $mydChart: document.getElementById('mydChart'),
- //总体情况
- $qyrs: $('#qyrs'),
- $fwrs: $('#fwrs'),
- $pjmyd: $('#pjmyd'),
- //咨询统计
- $whfs: $('#whfs'),
- $yhfs: $('#yhfs'),
- $jgnph: $('.jgnph'),
- $zbdj: $('.zbdj'),
- //事件
- es: ['tap'],
- weeksData: null,
- monthData: null,
- type: 0,
- startDate: '',
- endDate: '',
- self: null,
- weeks: ['','第一周','第二周','第三周','第四周','第五周'],
- dateArr: [],
- init: function () {
- var me = this;
- me.self = plus.webview.currentWebview();
- teamCode = me.self.teamCode;
- me.bindEvent();
- me.setDate();
- },
- setDate: function () {
- if (this.type === 0) {
- this.startDate = $d.init(1);
- this.endDate = $d.init(2);
- } else {
- this.startDate = $d.init(3);
- this.endDate = $d.init(4);
- }
- if (this.weeksData === null || this.monthData === null) {
- this.loadDate();
- } else {
- this.setDateInPage();
- }
- },
- getZTQKData: function () {//总体情况
- return getReqPromise( pi.ztqk, {
- startDate: this.startDate,
- endDate: this.endDate
- }, 'GET');
- },
- getZXTJData: function () {//咨询统计
- return getReqPromise( pi.zxtj, {
- startDate: this.startDate,
- endDate: this.endDate,
- isNow: 1
- }, 'GET');
- },
- getJMGZQSData: function () {//居民关注趋势
- return getReqPromise( pi.jmgzqs, {
- startDate: this.startDate,
- endDate: this.endDate,
- type: this.type
- }, 'GET');
- },
- getGZBHQSData: function () {//关注变化趋势
- return getReqPromise( pi.gzbhqs, {
- startDate: this.startDate,
- endDate: this.endDate,
- type: this.type
- }, 'GET');
- },
- getJGNFWData: function () {//机构内排行
- return getReqPromise( pi.jgnfw, {
- startDate: this.startDate,
- endDate: this.endDate
- }, 'GET');
- },
- getPJMYDData: function () {//医生平均分
- return getReqPromise( pi.pjmyd, {
- startDate: this.startDate,
- endDate: this.endDate,
- type: this.type
- }, 'GET');
- },
- loadDate: function () {
- var me = this;
- plus.nativeUI.showWaiting();
- Promise.all([ me.getZTQKData(), me.getZXTJData(),me.getJMGZQSData(),me.getGZBHQSData(),me.getJGNFWData(),me.getPJMYDData()]).then(function (ress) {
- if (me.type === 0) {
- me.weeksData = ress;
- }
- if (me.type === 1) {
- me.monthData = ress;
- }
- // console.error(JSON.stringify(ress))
- // console.error(JSON.stringify(ress[3]))
- me.setDateInPage();
- plus.nativeUI.closeWaiting();
- });
- },
- setDateInPage: function () {
- var me = this,
- data = me.type === 0 ? me.weeksData : me.type === 1 ? me.monthData : [],
- d = [],
- qyrs = 0,
- fwrs = 0,
- pjmyd = 0,
- whfs = 0,
- yhfs = 0;
- if (data[0].status == 200) {
- d= data[0].data;
- qyrs = d[7].concernCount;
- fwrs = d[1].consultCount + d[2].reservationCount + d[3].articleCount + d[4].guidanceCount + d[5].followupCount;
- pjmyd = d[6].avgScore;
- }
- if (data[1].status == 200) {
- whfs = data[1].data.onReyCount;
- yhfs = data[1].data.totalCount;
- }
- me.$qyrs.html(qyrs);//qyrs
- if(pjmyd==0){
- me.$pjmyd.html("暂无评分");
- }else{
- me.$pjmyd.html(pjmyd);
- }
- //咨询统计
- me.$whfs.html(whfs);
- me.$yhfs.html(yhfs);
- me.initChartsData();
- },
- initChartsData: function () {
- var me = this,
- data = me.type === 0 ? me.weeksData : me.type === 1 ? me.monthData : [],
- qy = {dt:[],da:[]},
- zxtj = [],
- jgnfw = [],
- jmgzqs = [],
- gzbhqs = {},
- pjmyd = {dt:[],da:[]},
- xqzq = {da1: [], da2: []},
- dArr = $d.init(5);
- me.dateArr = $d.init(6);
- if (data[1].status == 200) {
- zxtj = data[1].data;
- }
- if (data[0].status == 200) {
- var datas = data[0];
- var fwrc = parseInt(datas.data[3].articleCount)+parseInt(datas.data[4].guidanceCount)+parseInt(datas.data[1].consultCount)
- jgnfw = [datas.data[1].consultCount, datas.data[5].followupCount, datas.data[2].reservationCount, datas.data[4].guidanceCount, datas.data[3].articleCount];
- me.$fwrs.html(fwrc);//fwrs
- }
- if (data[4].status == 200) {
- var html = '';
- html += '<li>' + (data[4].data[0].consultRK ? ('第' + data[4].data[0].consultRK + '名') : '未上榜') + '</li>';
- html += '<li>' + (data[4].data[3].guidanceRK ? ('第' + data[4].data[3].guidanceRK + '名') : '未上榜') + '</li>';
- html += '<li>' + (data[4].data[4].articleRK ? ('第' + data[4].data[4].articleRK + '名') : '未上榜') + '</li>';
- me.$jgnph.html(html);
- }
- if (data[5].status == 200) {
- pjmyd = me.getDataXY(data[5].data, 2);
- if (me.type === 0) {
- // me.dateArr = $d.init(5);
- pjmyd = $h.contrastDate( dArr, pjmyd, 'dt', 'da');
- }
- if (me.type === 1) {
- var d1 = $h.getWeeksData( pjmyd, 'dt', 'da'),
- pjmyd = d1.da;
- me.dateArr = d1.dt;
- }
- }
- if(data[2].status == 200){
- jmgzqs = me.getDataXY(data[2].data, 3);
- if (me.type === 0) {
- // me.dateArr = $d.init(5);
- jmgzqs = $h.contrastDate(dArr, jmgzqs, 'dt', 'da');
- }
- if (me.type === 1) {
- var d1 = $h.getWeeksData( jmgzqs, 'dt', 'da'),
- jmgzqs = d1.da;
- me.dateArr = d1.dt;
- }
- }
- //处理关注变化趋势
- if(data[3].status == 200){
- gzbhqs = data[3].data;
- var concorn = gzbhqs[0].concorn//新增关注
- var cancel = gzbhqs[0].cancel;//取消关注
- concorn = me.getDataXY(concorn, 3);
- cancel = me.getDataXY(cancel, 4);
- if (me.type === 0) {
- concorn = $h.contrastDate(dArr, concorn, 'dt', 'da');
- cancel = $h.contrastDate(dArr, cancel, 'dt', 'da');
- }
- if (me.type === 1) {
- var d1 = $h.getWeeksData( concorn, 'dt', 'da');
- var d2 = $h.getWeeksData( cancel, 'dt', 'da');
- concorn = d1.da;
- cancel = d2.da;
- me.dateArr = d1.dt;
- }
- gzbhqs = {concorn:concorn,cancel:cancel}
- }
- me.loadCharts(qy, zxtj, jgnfw, pjmyd, jmgzqs, gzbhqs);
- },
- loadCharts: function(qy, zxtj, jgnfw, pjmyd, jmgzqs, gzbhqs) {
- var me = this,gzbhxAxisData=[],gzbhSeriesData1=[],gzbhSeriesData2=[];
- var count = zxtj.onReyCount + zxtj.totalCount;
- var zx = count == 0 ? (1/2)*100 : 0;
- jgnfw.splice(1,2);//删除随访和代预约的值
- //处理咨询统计
- var unreplay = zxtj.onReyCount, //未回复数
- total = zxtj.totalCount,
- replay = parseInt(total) - parseInt(unreplay); //已回复咨询数
- $("#totalCount").text(total);//总咨询数
-
- Promise.all([
- //咨询统计
- $ic.init({
- el: me.$zxtjChart,
- seriesData: [{
- name: '未回复咨询',
- value: unreplay// || zx
- }, {
- name: '已回复咨询',
- value: replay// || zx
- }],
- chartsType: 2,
- seriesName:"咨询数量"
- }),
- //机构内服务
- $ic.init({
- el: me.$jgChart,
- xAxisData: ['咨询', '指导', '教育'],//['咨询', '随访', '代预约', '指导', '教育']
- seriesData: jgnfw,
- chartsType: 3,
- color: '#fbba31',
- cb: me.eConsole
- }),
- //平均医生评分
- $ic.init({
- el: me.$mydChart,
- xAxisData: me.dateArr,
- seriesData: me.setSeries(1, pjmyd),
- chartsType: 1,
- }),
- //居民关注趋势
- $ic.init({
- el: me.$jmgzChart,
- xAxisData: me.dateArr,
- seriesData: me.setSeries(2, jmgzqs),
- chartsType: 1
- }),
- //关注变化趋势
- $ic.init({
- el: me.$gzbhChart,
- xAxisData: me.dateArr,
- legend: {
- data:['新增关注','取消关注']
- },
- seriesData: [{
- name:"新增关注",
- type: "line",
- symbol: "emptyCircle",
- data: gzbhqs.concorn
- },
- {
- name:"取消关注",
- type: "line",
- symbol: "emptyCircle",
- data: gzbhqs.cancel
- }],
- chartsType: 1
- }),
- ]);
- },
- getDataXY: function ( d, t) {
- var data = {dt:[],da:[]};
- if (this.type == 0) {
- for (var i = 0, len = d.length; i< len; i++) {
- data.dt.push(t == 1 ? d[i].applyDate : t == 2 ?d[i].dateNo:d[i].applyDate);
- data.da.push(t == 1 ? d[i].signCount : t == 2 ?d[i].avgCount:t == 4?d[i].cancelCount:d[i].concernCount);
- }
- return data;
- }
- if (this.type == 1) {
- for (var i = 0, len = d.length; i< len; i++) {
- data.dt.push(t == 1 ? d[i].weekOfMonth : t == 2 ?d[i].weekNo:d[i].weekOfMonth);
- data.da.push(t == 1 ? d[i].signCount : t == 2 ?d[i].avgCount:t == 4?d[i].cancelCount:d[i].concernCount);
- }
- return data;
- }
- },
- getXQDataXY: function ( d, t) {
- var data = {dt:[],da:[]};
- for (var i = 0, len = d.length; i< len; i++) {
- if (this.type === 0) {
- data.dt.push(d[i].dateNo);
- }
- if (this.type === 1) {
- data.dt.push(d[i].weekOfMonth);
- }
- data.da.push(t == 1 ? d[i].inCount : d[i].outCount);
- }
- return data;
- },
- setSeries: function ( type, seriesData) {
- return [{
- name: type == 1 ? '医生评分' :'居民关注' ,
- type: "line",
- symbol: "emptyCircle",
- data: seriesData
- }]
- },
- bindEvent: function () {
- var me = this;
- $h.setEvent([
- [ me.$demoComtop, me.es[0], function () {
- me.xlEventFun( this, me);
- }, 'h1'],
- [ me.$linMask, me.es[0], function () {
- $(this).hide();
- me.$linSelGroup.hide();
- }],
- [ me.$linSelGroup, me.es[0], function () {
- me.switchWeeksToMonth( this, me);
- }, 'li'],
- ]);
- },
- //周月切换
- switchWeeksToMonth: function ( that, me) {
- var type = $(that).attr('data-type');
- $(that).siblings().removeClass('checked');
- $(that).addClass('checked');
- me.$selTit.html($(that).find('label').html());
- me.$linMask.hide();
- me.$linSelGroup.hide();
- me.type = parseInt(type);
- tType = me.type;
- this.setDate();
- },
- //下拉
- xlEventFun: function ( thst, me) {
- var lCss = me.$linMask.css('display');
- if (lCss == 'none') {
- me.$linMask.show();
- me.$linSelGroup.show();
- } else {
- me.$linMask.hide();
- me.$linSelGroup.hide();
- }
- },
- eConsole: function (param) {
- // return;
- if(typeof param.seriesIndex != 'undefined') {
- switch(param.dataIndex) {
- case 0:
- openWebview('../html/tuanduizixunxiangqing.html', 'tuanduizixunxiangqing', {
- teamCode: teamCode,
- type: tType
- })
- break;
- case 1:
- openWebview('../html/tuanduisuifangxiangqing.html', 'tuanduisuifangxiangqing', {
- teamCode: teamCode,
- type: tType
- })
- break;
- case 2:
- openWebview('../html/tuanduidaiyuyuexiangqing.html', 'tuanduidaiyuyuexiangqing', {
- teamCode: teamCode,
- type: tType
- })
- break;
- case 3:
- openWebview('../html/tuanduizhidaoxiangqing.html', 'tuanduizhidaoxiangqing', {
- teamCode: teamCode,
- type: tType
- })
- break;
- case 4:
- openWebview('../html/tuanduijiaoyuxiangqing.html', 'tuanduijiaoyuxiangqing', {
- teamCode: teamCode,
- type: tType
- })
- break;
- default:
- break;
- }
- }
- }
- };
-
- mui.init();
- mui.plusReady(function(){
- gzbg.init();
- });
- });
|