$(function() {
var teamCode = '',
tType = 0;
//接口
var pi = {
ztqk: 'statistics/getStatTitleInfo',
qyqk: 'statistics/getSignCountLineByType',
zxtj: 'statistics/getReyStatbyTeam',
jgnfw: 'statistics/getServiceRankingList',
ccftj: 'statistics/getPrescriptionTotalCount',
xqzq: 'statistics/getTeamRenewChangeLine',
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'),
$jgChart: document.getElementById('jgChart'),
$ccfChart: document.getElementById('ccfChart'),
$xqzqChart: document.getElementById('xqzqChart'),
$mydChart: document.getElementById('mydChart'),
// 续约/签约切换
$qiehuan: $('#qiehuan'),
$qyLab: $('.qy-lab'),
$qyQh: $('.qy-qh'),
$jgnph: $('.jgnph'),
//总体情况
$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');
},
getQYQKData: function (t) {
return getReqPromise( pi.qyqk, {
startDate: this.startDate,
endDate: this.endDate,
signType: t,
type: this.type
}, 'GET');
},
getZXTJData: function () {
return getReqPromise( pi.zxtj, {
startDate: this.startDate,
endDate: this.endDate,
isNow: 1
}, 'GET');
},
getJGNFWData: function () {
return getReqPromise( pi.jgnfw, {
startDate: this.startDate,
endDate: this.endDate
}, 'GET');
},
getCCFTJData: function(){
//获得长处方统计数据
return getReqPromise( pi.ccftj, {
startDate: this.startDate,
endDate: this.endDate,
adminTeamId: teamCode
}, 'GET');
},
getXQZQData: function () {
return getReqPromise( pi.xqzq, {
teamCode: teamCode,
startDate: this.startDate,
endDate: this.endDate,
type: this.type
}, 'GET');
},
getPJMYDData: function () {
return getReqPromise( pi.pjmyd, {
startDate: this.startDate,
endDate: this.endDate,
type: this.type
}, 'GET');
},
loadDate: function () {
var me = this;
Promise.all([ me.getZTQKData(), me.getQYQKData(0), me.getZXTJData(), me.getJGNFWData(), me.getPJMYDData(), me.getXQZQData(), me.getCCFTJData()]).then(function (ress) {
if (me.type === 0) {
me.weeksData = ress;
}
if (me.type === 1) {
me.monthData = ress;
}
me.setDateInPage();
});
},
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[0].signTotal;
fwrs = d[1].consultCount + d[2].reservationCount + d[3].articleCount + d[4].guidanceCount + d[5].followupCount;
pjmyd = d[6].avgScore;
}
if (data[2].status == 200) {
whfs = data[2].data.onReyCount;
yhfs = data[2].data.totalCount;
}
me.$qyrs.html(qyrs);
me.$fwrs.html(fwrs);
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 = [],
ccftj = [],
pjmyd = {dt:[],da:[]},
xqzq = {da1: [], da2: []},
dArr = $d.init(5);
me.dateArr = $d.init(6);
if (data[1].status == 200) {
qy = me.getDataXY( data[1].data, 1);
if (me.type === 0) {
qy = $h.contrastDate( dArr, qy, 'dt', 'da');
}
if (me.type === 1) {
var d1 = $h.getWeeksData( qy, 'dt', 'da'),
qy = d1.da;
me.dateArr = d1.dt;
}
}
if (data[2].status == 200) {
zxtj = data[2].data;
}
if (data[0].status == 200) {
jgnfw = [data[0].data[1].consultCount, data[0].data[5].followupCount, data[0].data[2].reservationCount, data[0].data[4].guidanceCount, data[0].data[3].articleCount];
}
if (data[3].status == 200) {
var html = '';
html += '
' + (data[3].data[0].consultRK ? ('第' + data[3].data[0].consultRK + '名') : '') + '';
html += '' + (data[3].data[1].followupRK ? ('第' + data[3].data[1].followupRK + '名') : '') + '';
html += '' + (data[3].data[2].reservationRK ? ('第' + data[3].data[2].reservationRK + '名') : '') + '';
html += '' + (data[3].data[3].guidanceRK ? ('第' + data[3].data[3].guidanceRK + '名') : '') + '';
html += '' + (data[3].data[4].articleRK ? ('第' + data[3].data[4].articleRK + '名') : '') + '';
me.$jgnph.html(html);
}
if (data[4].status == 200) {
pjmyd = me.getDataXY( data[4].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[5].status == 200) {
xqzq.dt1 = me.getXQDataXY( data[5].data.inLine, 1);
xqzq.dt2 = me.getXQDataXY( data[5].data.outLine, 2);
if (me.type === 0) {
// me.dateArr = $d.init(5);
xqzq.dt1 = $h.contrastDate( dArr, xqzq.dt1, 'dt', 'da');
xqzq.dt2 = $h.contrastDate( dArr, xqzq.dt2, 'dt', 'da');
}
if (me.type === 1) {
var d1 = $h.getWeeksData( xqzq.dt1, 'dt', 'da'),
d2 = $h.getWeeksData( xqzq.dt2, 'dt', 'da');
xqzq.dt1 = d1.da;
xqzq.dt2 = d2.da;
me.dateArr = d1.dt;
}
}
if(data[6].status == 200){
var ccfdata = data[6].data;
ccftj.push(ccfdata.total);
ccftj.push(ccfdata.finishCount);
ccftj.push(ccfdata.processingCount);
ccftj.push(ccfdata.patientCancelCount);
ccftj.push(ccfdata.noReviewedCount);
ccftj.push(ccfdata.payOuttimeCount);
}
me.loadCharts( qy, zxtj, jgnfw, ccftj, pjmyd, [ me.setXQSeries( 1, xqzq.dt1), me.setXQSeries( 2, xqzq.dt2)]);
},
initQYQKCharts: function ( t, xd, yd) {
// console.log(t)
// console.log(xd)
// console.log(yd)
$ic.init({
el: this.$qyqkChart,
xAxisData: xd,
seriesData: this.setSeries(t, yd),
chartsType: 1
});
},
loadCharts: function ( qy, zxtj, jgnfw, ccftj, pjmyd, xqzq) {
var me = this;
var count = zxtj.onReyCount + zxtj.totalCount;
var zx = count == 0 ? (1/2)*100 : 0;
Promise.all([
// 签约情况
me.initQYQKCharts( 1, me.dateArr, qy),
// 资讯统计
$ic.init({
el: me.$zxtjChart,
seriesData: [{
name: '未回复咨询',
value: zxtj.onReyCount || zx
}, {
name: '已回复咨询',
value: zxtj.totalCount || zx
}],
chartsType: 2
}),
// 机构内服务
$ic.init({
el: me.$jgChart,
xAxisData: ['咨询', '随访', '代预约', '指导', '教育'],
seriesData: jgnfw,
chartsType: 3,
color: '#fbba31',
cb: me.eConsole
}),
// 长处方统计
$ic.init({
el: me.$ccfChart,
xAxisData: ['总量', '已完成', '进行中', '居民\n取消', '审核\n未通过', '其他\n原因\n取消'],
seriesData: ccftj,
chartsType: 3,
color: '#17B3EC',
grid: {
x: 35,
y: 30,
x2: 20,
y2: 60
},
cb: function(){}
}),
// 平均医生评分
$ic.init({
el: me.$mydChart,
xAxisData: me.dateArr,
seriesData: me.setSeries(2, pjmyd),
chartsType: 1
}),
// 续签转签
$ic.init({
el: me.$xqzqChart,
xAxisData: me.dateArr,
seriesData: xqzq,
chartsType: 1,
legend: {
x: 'right',
data: ["签入人数", "签出人数"]
}
})
]);
},
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 : d[i].dateNo);
data.da.push(t == 1 ? d[i].signCount : d[i].avgCount);
}
return data;
}
if (this.type == 1) {
for (var i = 0, len = d.length; i< len; i++) {
data.dt.push(t == 1 ? d[i].weekOfMonth : d[i].weekNo);
data.da.push(t == 1 ? d[i].signCount : d[i].avgCount);
}
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;
},
setXQSeries: function ( type, seriesData) {
return {
name: type == 1 ? '签入人数' : type == 2 ? '签出人数' : '',
type: "line",
symbol: "emptyCircle",
data: seriesData
}
},
setSeries: function ( type, seriesData) {
return [{
name: type == 1 ? '签约数' : type == 2 ? '医生评分' : type == 3 ? '续签数' : '',
type: "line",
symbol: "emptyCircle",
data: seriesData
}]
},
bindEvent: function () {
var me = this;
// 续约/签约切换
$h.setEvent([
[ me.$qiehuan, me.es[0], function () {
me.xyQyEventFun( this, me);
}],
[ 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'],
[ $(me.$xqzqChart), me.es[0], function () {
openWebview('../html/tuanduizhuanqianxiangqing.html', 'tuanduizhuanqianxiangqing', {
teamCode: teamCode
})
}],
[ me.$zbdj, me.es[0], function () {
var o = { seriesIndex:1, dataIndex:0};
o.dataIndex = $(this).index();
me.eConsole(o);
console.log($(this).index());
}, '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();
}
},
getSwitchData: function ( t1, t2, t3, that, me) {
var qy = {dt:[],da:[]};
Promise.all([me.getQYQKData(t1)]).then(function (res) {
if (res[0].status == 200) {
qy = me.getDataXY( res[0].data, 1),
dArr = $d.init(5);
me.dateArr = $d.init(6);
if (me.type === 0) {
// me.dateArr = $d.init(5);
qy = $h.contrastDate( dArr, qy, 'dt', 'da');
}
if (me.type === 1) {
var d1 = $h.getWeeksData( qy, 'dt', 'da'),
qy = d1.da;
me.dateArr = d1.dt;
}
me.initQYQKCharts( t2, me.dateArr, qy);
}
});
$(that).attr('data-type', t3);
},
// 续约/签约切换时间函数
xyQyEventFun: function ( that, me) {
var type = $(that).attr('data-type');
if(type == '1') {
me.$qyLab.html('续约情况');
me.$qyQh.html('切换签约情况');
me.getSwitchData( 1, 3, '2', that, me);
}
if(type == '2') {
me.$qyLab.html('签约情况');
me.$qyQh.html('切换续约情况');
me.getSwitchData( 0, 1, '1', that, me);
}
},
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();
});
});