|
@ -21,19 +21,19 @@ new Vue({
|
|
|
chooseYear: '',
|
|
|
userRole: '',
|
|
|
analysisType: "1", // 筛选维度的id, 1-按任务,2-按人口,3-高血压,4-糖尿病,5-65岁以上人群
|
|
|
analysisName:"按任务",
|
|
|
signRateData:{
|
|
|
signRateText:"",
|
|
|
signRate:"",
|
|
|
signAmount:"",
|
|
|
signRateAll:"",
|
|
|
completeRateText:"",
|
|
|
completeRate:"",
|
|
|
completeAmount:"",
|
|
|
completeRateAll:""
|
|
|
analysisName: "按任务",
|
|
|
signRateData: {
|
|
|
signRateText: "",
|
|
|
signRate: "",
|
|
|
signAmount: "",
|
|
|
signRateAll: "",
|
|
|
completeRateText: "",
|
|
|
completeRate: "",
|
|
|
completeAmount: "",
|
|
|
completeRateAll: ""
|
|
|
},
|
|
|
yearHtml:"",
|
|
|
contentHtml:""
|
|
|
yearHtml: "",
|
|
|
contentHtml: ""
|
|
|
},
|
|
|
components: {
|
|
|
vuedals: Vuedals.Component
|
|
@ -52,8 +52,12 @@ new Vue({
|
|
|
this.level = arg.level;
|
|
|
this.lowLevel = arg.lowLevel;
|
|
|
this.area = arg.area;
|
|
|
this.areaTitle = arg.areaTitle;
|
|
|
loadData([0, 1, 2], this);
|
|
|
}
|
|
|
EventBus.$emit('update-area-name', {
|
|
|
areaName: this.areaTitle
|
|
|
});
|
|
|
//存储请求所带的参数
|
|
|
reqList.push({
|
|
|
level: this.level,
|
|
@ -63,7 +67,7 @@ new Vue({
|
|
|
endDate: this.endDate,
|
|
|
startDate: this.startDate,
|
|
|
lowLevel: this.lowLevel,
|
|
|
lowCode:this.lowCode,
|
|
|
lowCode: this.lowCode,
|
|
|
analysisType: this.analysisType,
|
|
|
})
|
|
|
}
|
|
@ -84,7 +88,7 @@ new Vue({
|
|
|
endDate: this.endDate,
|
|
|
startDate: this.startDate,
|
|
|
lowLevel: this.lowLevel,
|
|
|
lowCode:this.lowCode,
|
|
|
lowCode: this.lowCode,
|
|
|
analysisType: this.analysisType
|
|
|
});
|
|
|
|
|
@ -92,7 +96,7 @@ new Vue({
|
|
|
var vm = this;
|
|
|
//监听后退按钮的操作
|
|
|
EventBus.$on("back-click", function(arg) {
|
|
|
EventBus.$emit('update-statistics-time', {});//更新统计时间
|
|
|
EventBus.$emit('update-statistics-time', {}); //更新统计时间
|
|
|
if(reqList.length == 1) {
|
|
|
history.go(-1);
|
|
|
} else {
|
|
@ -110,35 +114,64 @@ new Vue({
|
|
|
});
|
|
|
//监听页面刷新
|
|
|
EventBus.$on("refresh-click", function(arg) {
|
|
|
EventBus.$emit('update-statistics-time', {});//更新统计时间
|
|
|
EventBus.$emit('update-statistics-time', {}); //更新统计时间
|
|
|
loadData([0, 1, 2], vm);
|
|
|
});
|
|
|
|
|
|
|
|
|
//弹出筛选框
|
|
|
EventBus.$on('filter-click', function(arg) {
|
|
|
//弹框显示筛选条件
|
|
|
Vuedals.Bus.$emit('new', {
|
|
|
title: '条件筛选',
|
|
|
onClose:function(data){
|
|
|
vm.analysisType = data.id;
|
|
|
Vuedals.Bus.$emit('new', {
|
|
|
title: '条件筛选',
|
|
|
onClose: function(data) {
|
|
|
vm.chooseYear = data.chooseYear;
|
|
|
vm.startDate = getStartDate(vm.chooseYear);
|
|
|
vm.endDate = getEndDate(vm.chooseYear);
|
|
|
vm.lowCode = data.lowCode;
|
|
|
vm.yearHtml = data.yearHtml;
|
|
|
vm.contentHtml = data.contentHtml;
|
|
|
vm.chooseYear = data.year;
|
|
|
vm.startDate = getStartDate(vm.chooseYear);
|
|
|
vm.endDate = getEndDate(vm.chooseYear);
|
|
|
|
|
|
loadData([0, 1, 2], vm);//刷新数据
|
|
|
EventBus.$emit('update-statistics-year', {selectDate:data.year + "年"});//更新年份
|
|
|
EventBus.$emit('update-dimension-name', {dimensionVal:data.name});//更新维度名称
|
|
|
EventBus.$emit('update-statistics-time', {});//更新统计时间
|
|
|
},
|
|
|
component: 'sign-progress-filter',
|
|
|
props: {
|
|
|
yearHtml:vm.yearHtml,
|
|
|
contentHtml:vm.contentHtml
|
|
|
}
|
|
|
});
|
|
|
|
|
|
//请求参数重置,页面类型重新开始
|
|
|
vm.level = vm.userRole.code == '350200' ? 4 : vm.userRole.code.length == 6 ? 3 : 2;
|
|
|
vm.area = vm.userRole.code;
|
|
|
vm.areaTitle = vm.userRole.name;
|
|
|
EventBus.$emit('update-area-name', {
|
|
|
areaName: vm.areaTitle
|
|
|
});
|
|
|
vm.selectedDateType = 1;
|
|
|
|
|
|
//然后清空请求列表数组
|
|
|
reqList.splice(0, reqList.length);
|
|
|
|
|
|
loadData([0, 1, 2], vm); //刷新数据
|
|
|
|
|
|
//存储请求所带的参数
|
|
|
reqList.push({
|
|
|
level: vm.level,
|
|
|
area: vm.area,
|
|
|
areaTitle: vm.areaTitle,
|
|
|
index: vm.index,
|
|
|
endDate: vm.endDate,
|
|
|
startDate: vm.startDate,
|
|
|
lowLevel: vm.lowLevel,
|
|
|
lowCode: vm.lowCode,
|
|
|
analysisType: vm.analysisType
|
|
|
});
|
|
|
|
|
|
EventBus.$emit('update-statistics-year', {
|
|
|
selectDate: vm.chooseYear + "年"
|
|
|
}); //更新年份
|
|
|
EventBus.$emit('update-statistics-time', {}); //更新统计时间
|
|
|
EventBus.$emit('update-dimension-name', {
|
|
|
dimensionVal: data.name
|
|
|
}); //更新维度名称
|
|
|
},
|
|
|
component: 'sign-progress-filter',
|
|
|
props: {
|
|
|
yearHtml: vm.yearHtml,
|
|
|
contentHtml: vm.contentHtml
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
}
|
|
|
})
|
|
@ -162,7 +195,11 @@ function initData(vm) {
|
|
|
vm.startDate = getStartDate(vm.chooseYear);
|
|
|
vm.endDate = getEndDate(vm.chooseYear);
|
|
|
//更新头部信息
|
|
|
EventBus.$emit('update-all-prompt-info', {areaName:vm.areaTitle,selectDate:vm.chooseYear+"年",dimensionVal:vm.analysisName});
|
|
|
EventBus.$emit('update-all-prompt-info', {
|
|
|
areaName: vm.areaTitle,
|
|
|
selectDate: vm.chooseYear + "年",
|
|
|
dimensionVal: vm.analysisName
|
|
|
});
|
|
|
}
|
|
|
|
|
|
function initReqParams(vm) {
|
|
@ -170,7 +207,7 @@ function initReqParams(vm) {
|
|
|
if(vm.lowCode) {
|
|
|
vm.index = 17;
|
|
|
}
|
|
|
|
|
|
|
|
|
reqParam = [{
|
|
|
url: "/statistics/sign_info",
|
|
|
reqType: 'get',
|
|
@ -212,33 +249,38 @@ function initReqParams(vm) {
|
|
|
return reqParam;
|
|
|
}
|
|
|
|
|
|
function getTopTagDatas(data,vm) {
|
|
|
vm.signRateData.signRateText = data.signRate.rate.substring(0,data.signRate.rate.length-2) + "%"
|
|
|
vm.signRateData.signRate = parseFloat(data.signRate.rate)/100;
|
|
|
function getTopTagDatas(data, vm) {
|
|
|
vm.signRateData.signRateText = data.signRate.rate.substring(0, data.signRate.rate.length - 2) + "%"
|
|
|
vm.signRateData.signRate = parseFloat(data.signRate.rate) / 100;
|
|
|
vm.signRateData.signAmount = data.signRate.sign;
|
|
|
vm.signRateData.signRateAll = data.signRate.people;
|
|
|
|
|
|
vm.signRateData.completeRateText = data.signTaskRate.rate.substring(0,data.signTaskRate.rate.length-2) + "%"
|
|
|
vm.signRateData.completeRate = parseFloat(data.signTaskRate.rate)/100;
|
|
|
|
|
|
vm.signRateData.completeRateText = data.signTaskRate.rate.substring(0, data.signTaskRate.rate.length - 2) + "%"
|
|
|
vm.signRateData.completeRate = parseFloat(data.signTaskRate.rate) / 100;
|
|
|
vm.signRateData.completeAmount = data.signTaskRate.sign;
|
|
|
vm.signRateData.completeRateAll = data.signTaskRate.people;
|
|
|
var signArr = [{
|
|
|
name: '签约量',
|
|
|
value: vm.signRateData.signAmount
|
|
|
},{
|
|
|
name: '签约总量',
|
|
|
value: vm.signRateData.signRateAll
|
|
|
}];
|
|
|
|
|
|
var completeArr = [{
|
|
|
name: '完成量',
|
|
|
value: vm.signRateData.completeAmount
|
|
|
},{
|
|
|
name: '完成总量',
|
|
|
value: vm.signRateData.completeRateAll
|
|
|
}];
|
|
|
drawPieChart('signMain', signArr, ['#12b7f5', '#ebebf5']);//签约率
|
|
|
drawPieChart('completeMain', completeArr, ['#12b7f5', '#ebebf5']);//完成率
|
|
|
var signArr = [{
|
|
|
name: '签约量',
|
|
|
value: vm.signRateData.signAmount
|
|
|
}, {
|
|
|
name: '人口数',
|
|
|
value: vm.signRateData.signRateAll
|
|
|
}];
|
|
|
|
|
|
var completeArr = [{
|
|
|
name: '完成量',
|
|
|
value: vm.signRateData.completeAmount
|
|
|
}, {
|
|
|
name: '目标量',
|
|
|
value: vm.signRateData.completeRateAll
|
|
|
}];
|
|
|
var signChart = drawPieChart('signMain', signArr, ['#12b7f5', '#ebebf5']); //签约率
|
|
|
var completeChart = drawPieChart('completeMain', completeArr, ['#12b7f5', '#ebebf5']); //完成率
|
|
|
window.onresize = function() {
|
|
|
signChart.resize();
|
|
|
completeChart.resize();
|
|
|
window.lineCharts.resize(); //日周月折线图
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function loadData(loadArr, vm) {
|
|
@ -271,7 +313,7 @@ function loadData(loadArr, vm) {
|
|
|
}
|
|
|
|
|
|
if(res1 && res1.status == 200) {
|
|
|
getTopTagDatas(res1.data,vm);
|
|
|
getTopTagDatas(res1.data, vm);
|
|
|
}
|
|
|
if(res2 && res2.status == 200) {
|
|
|
handleSecondPanelData(res2.data, vm);
|
|
@ -292,7 +334,7 @@ function handleSecondPanelData(data, vm) {
|
|
|
var xDatas = [],
|
|
|
yDatas = [],
|
|
|
names = [],
|
|
|
taskNum = data.index_1.taskNum,
|
|
|
taskNum = vm.lowCode ? data.index_17.taskNum : data.index_1.taskNum,
|
|
|
colors = ['#12b7f5'],
|
|
|
index_names = {
|
|
|
'index_1': '总签约人数'
|
|
@ -305,7 +347,7 @@ function handleSecondPanelData(data, vm) {
|
|
|
var yData = _.map(data[p].data, function(o) {
|
|
|
return o.amount;
|
|
|
});
|
|
|
|
|
|
|
|
|
xDatas.push(xData);
|
|
|
yDatas.push(yData);
|
|
|
}
|
|
@ -315,8 +357,8 @@ function handleSecondPanelData(data, vm) {
|
|
|
xData: xDatas[0],
|
|
|
yDatas: yDatas,
|
|
|
colors: colors,
|
|
|
markLineValue:taskNum,
|
|
|
markLineName:"目标量"
|
|
|
markLineValue: taskNum,
|
|
|
markLineName: "目标量"
|
|
|
});
|
|
|
}
|
|
|
|
|
@ -327,18 +369,18 @@ function listHandle(data, vm) {
|
|
|
topArr = soreRank(getKeyValueArr(list, 'amount'));
|
|
|
var arr = _.map(list, function(o, index) {
|
|
|
var cols = [o.name];
|
|
|
if(vm.analysisType=="2" && vm.level>2 && vm.lowLevel!=1){//按人口
|
|
|
if(vm.analysisType == "2" && vm.level > 2 && vm.lowLevel != 1) { //按人口
|
|
|
cols.push(o.num);
|
|
|
}else{
|
|
|
} else {
|
|
|
cols.push(o.amount);
|
|
|
}
|
|
|
if(vm.level>2 && vm.lowLevel!=1){
|
|
|
cols.push(o.signTaskNum);
|
|
|
cols.push(parseFloat(o.rate).toFixed(2)+"%");
|
|
|
}else if(vm.chooseYear!="2016"){
|
|
|
cols.push(o.signRegulationNum);
|
|
|
}
|
|
|
|
|
|
if(vm.level > 2 && vm.lowLevel != 1) {
|
|
|
cols.push(o.signTaskNum);
|
|
|
cols.push(parseFloat(o.rate).toFixed(2) + "%");
|
|
|
} else if(vm.chooseYear != "2016") {
|
|
|
cols.push(o.signRegulationNum);
|
|
|
}
|
|
|
|
|
|
return {
|
|
|
rank: topArr[index],
|
|
|
code: o.code,
|
|
@ -346,10 +388,13 @@ function listHandle(data, vm) {
|
|
|
cols: cols
|
|
|
}
|
|
|
});
|
|
|
|
|
|
var headers = ["排名", (vm.analysisType=="2"?"人口数":"签约量"), "目标率","当前签约率"];//analysisType=2 为按人口
|
|
|
if(vm.lowLevel==1 || vm.level==2){//团队
|
|
|
headers = ["排名", (vm.analysisType=="2"?"人口数":"签约量"), "调控量"];
|
|
|
var headers = ["排名", (vm.analysisType == "2" ? "人口数" : "签约量"), "目标率", "当前签约率"]; //analysisType=2 为按人口
|
|
|
if(vm.lowLevel == 1 || vm.level == 2) { //团队
|
|
|
if(vm.chooseYear =="2016"){
|
|
|
headers = ["排名", (vm.analysisType == "2" ? "人口数" : "签约量")];
|
|
|
}else{
|
|
|
headers = ["排名", (vm.analysisType == "2" ? "人口数" : "签约量"), "调控量"];
|
|
|
}
|
|
|
}
|
|
|
|
|
|
EventBus.$emit("render-area-data", {
|