|
@ -5,11 +5,6 @@ Vue.use(Vuedals.default);
|
|
|
new Vue({
|
|
|
el: "#main",
|
|
|
data: {
|
|
|
appname: "长处方分析",
|
|
|
isback: true,
|
|
|
isrefresh: true,
|
|
|
isfilter: true,
|
|
|
isopen: true,
|
|
|
//页面请求参数
|
|
|
level: '',
|
|
|
area: '',
|
|
@ -19,11 +14,15 @@ new Vue({
|
|
|
dateType: 1, //折线图坐标值1-日,2-周,3-月
|
|
|
startDate: "",
|
|
|
endDate: "",
|
|
|
sDate: "", //折线图中自定义的时间
|
|
|
eDate: "", //折线图中自定义的时间
|
|
|
tagCode: 1, //顶部各个tag标签对应的值
|
|
|
sumType: 1, //记录从筛选页面选择的统计维度 1-订单统计,2-费用统计,3-配送统计,4-年龄统计
|
|
|
sumTypeName: "订单统计",
|
|
|
disease: "", //疾病类型
|
|
|
diseaseName: "全部",
|
|
|
chooseYear: '',
|
|
|
dateValue: [],
|
|
|
orderTagDatas: {
|
|
|
total: 0,
|
|
|
finishCount: 0,
|
|
@ -111,6 +110,10 @@ new Vue({
|
|
|
vm.sumTypeName = data.sumTypeName;
|
|
|
vm.disease = data.disease;
|
|
|
vm.diseaseName = data.diseaseName;
|
|
|
vm.chooseYear = data.chooseYear;
|
|
|
|
|
|
vm.startDate = getStartDate(vm.chooseYear);
|
|
|
vm.endDate = getEndDate(vm.chooseYear)
|
|
|
|
|
|
//将参数职位初始值
|
|
|
vm.level = vm.userRole.code == '350200' ? 4 : vm.userRole.code.length == 6 ? 3 : 2;
|
|
@ -138,14 +141,16 @@ new Vue({
|
|
|
disease: vm.disease,
|
|
|
dateType: vm.dateType
|
|
|
});
|
|
|
EventBus.$emit('update-statistics-year',{selectDate: vm.sumTypeName} );//显示统计维度的名称
|
|
|
EventBus.$emit('update-dimension-name', {dimensionVal: vm.diseaseName});//显示疾病类型的名称
|
|
|
EventBus.$emit('update-statistics-year',{selectDate: vm.chooseYear} );//显示统计维度的名称
|
|
|
EventBus.$emit('update-dimension-name', {dimensionVal: vm.sumTypeName});//显示疾病类型的名称
|
|
|
EventBus.$emit('update-dimension2-name', {dimensionVal2: vm.diseaseName});//显示疾病类型的名称
|
|
|
EventBus.$emit('update-statistics-time', {});//更新统计时间
|
|
|
},
|
|
|
component: 'prescription-filter',
|
|
|
props: {
|
|
|
sumType: vm.sumType,
|
|
|
disease: vm.disease
|
|
|
disease: vm.disease,
|
|
|
chooseYear: vm.chooseYear
|
|
|
}
|
|
|
});
|
|
|
});
|
|
@ -189,7 +194,14 @@ new Vue({
|
|
|
})
|
|
|
},
|
|
|
getBarData: function(arg){
|
|
|
this.dateType = arg.dateType;
|
|
|
this.dateType = arg.dateType || this.dateType;
|
|
|
var dateValue = arg.dateValue;
|
|
|
console.log(arg);
|
|
|
if(dateValue){
|
|
|
this.dateValue = arg.dateValue;
|
|
|
this.sDate = dateValue[0];
|
|
|
this.eDate = dateValue[1];
|
|
|
}
|
|
|
loadData([1], this);
|
|
|
},
|
|
|
getPaymentLineData: function(arg){
|
|
@ -223,6 +235,37 @@ new Vue({
|
|
|
disease: this.disease,
|
|
|
dateType: this.dateType
|
|
|
})
|
|
|
},
|
|
|
exportData: function(){
|
|
|
var sheet = XLSX.utils.table_to_sheet($('#listTable')[0]);
|
|
|
var disease = this.diseaseName == "全部" ? "" : this.diseaseName,
|
|
|
areaName = this.area == "350200" ? "厦门市" : this.areaTitle,
|
|
|
fileName = areaName + disease;
|
|
|
switch(this.sumType){
|
|
|
case 1:
|
|
|
var names = ["续方总量", "已完成", "居民取消", "审核未通过", "进行中", "其他原因取消"];
|
|
|
fileName += names[this.tagCode - 1];
|
|
|
if(this.tagCode > 1){
|
|
|
fileName += "订单";
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
var names = ["费用总计", "人均费用"];
|
|
|
fileName += "续方"+names[this.tagCode -1];
|
|
|
break;
|
|
|
case 3:
|
|
|
var names = ["居民自取", "物流配送", "健管师配送"];
|
|
|
fileName += names[this.tagCode - 1] + "订单";
|
|
|
break;
|
|
|
case 4:
|
|
|
fileName += "续方人数";
|
|
|
break;
|
|
|
default:
|
|
|
fileName += "续方情况";
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
openDownloadDialog(sheet2blob(sheet), fileName+'.xlsx');
|
|
|
}
|
|
|
}
|
|
|
});
|
|
@ -238,13 +281,26 @@ function initData(vm){
|
|
|
vm.lowLevel = vm.level - 1;
|
|
|
vm.area = vm.userRole.code;
|
|
|
vm.areaTitle = vm.userRole.name;
|
|
|
var now = new Date(),
|
|
|
year = now.getFullYear();
|
|
|
if(now.getMonth() < 6){
|
|
|
vm.chooseYear = year - 1;
|
|
|
}else {
|
|
|
vm.chooseYear = year;
|
|
|
}
|
|
|
vm.startDate = vm.sDate = getStartDate(vm.chooseYear);
|
|
|
vm.endDate = vm.eDate = getEndDate(vm.chooseYear);
|
|
|
|
|
|
vm.dateValue = [vm.sDate, vm.eDate];
|
|
|
|
|
|
EventBus.$emit('update-area-name', {areaName: vm.areaTitle});
|
|
|
|
|
|
var now = new Date();
|
|
|
vm.endDate = now.format("yyyy-MM-dd");
|
|
|
|
|
|
EventBus.$emit('update-statistics-year',{selectDate: vm.sumTypeName} );//显示统计维度的名称
|
|
|
EventBus.$emit('update-dimension-name', {dimensionVal: vm.diseaseName});//显示疾病类型的名称
|
|
|
EventBus.$emit('update-statistics-year',{selectDate: vm.chooseYear} );
|
|
|
EventBus.$emit('update-dimension-name', {dimensionVal: vm.sumTypeName});//显示统计维度的名称
|
|
|
EventBus.$emit('update-dimension2-name', {dimensionVal2: vm.diseaseName});//显示疾病类型的名称
|
|
|
}
|
|
|
|
|
|
function initReqParams(vm){
|
|
@ -255,53 +311,53 @@ function initReqParams(vm){
|
|
|
//tagCode: 1.总量,2.已完成,3.居民取消,4.审核不通过,5.进行中,6.其他原因取消
|
|
|
reqParam = [{
|
|
|
url: "/statistics/getPrescriptionCount",
|
|
|
data: {level: vm.level, area: vm.area, disease: vm.disease}
|
|
|
data: {level: vm.level, area: vm.area, disease: vm.disease, year: vm.chooseYear}
|
|
|
},{
|
|
|
url: "/statistics/getPrescriptionTotalHistogram",
|
|
|
data: {level: vm.level, area: vm.area, disease: vm.disease, type: vm.tagCode, interval: vm.dateType}
|
|
|
data: {level: vm.level, area: vm.area, disease: vm.disease, type: vm.tagCode, interval: vm.dateType, year: vm.chooseYear, startTime: vm.sDate, endTime: vm.eDate}
|
|
|
},{
|
|
|
url: "/statistics/getPrescriptionTotalLowLevel",
|
|
|
data: {level: vm.level, lowlevel: vm.lowLevel, area: vm.area, disease: vm.disease, type: vm.tagCode}
|
|
|
data: {level: vm.level, lowlevel: vm.lowLevel, area: vm.area, disease: vm.disease, type: vm.tagCode, year: vm.chooseYear, startTime: vm.startDate, endTime: vm.endDate}
|
|
|
}];
|
|
|
break;
|
|
|
case 2:
|
|
|
//dateType: 折线图坐标值1-日,2-周,3-月
|
|
|
//tagCode: 1.总量,2.平均值
|
|
|
vm.startDate = getBeforeMonthStartDate(3, vm.dateType);
|
|
|
// vm.startDate = getBeforeMonthStartDate(3, vm.dateType);
|
|
|
reqParam = [{
|
|
|
url: "/statistics/getPrescriptionCost",
|
|
|
data: {level: vm.level, area: vm.area, disease: vm.disease}
|
|
|
data: {level: vm.level, area: vm.area, disease: vm.disease, year: vm.chooseYear}
|
|
|
},{
|
|
|
url: "/statistics/getPrescriptionCostAvgLine",
|
|
|
data: {level: vm.level, area: vm.area, disease: vm.disease, type: vm.dateType, startDate: vm.startDate, endDate: vm.endDate}
|
|
|
data: {level: vm.level, area: vm.area, disease: vm.disease, type: vm.dateType, year: vm.chooseYear, startDate: vm.startDate, endDate: vm.endDate}
|
|
|
},{
|
|
|
url: "/statistics/getPrescriptionCostLowLevel",
|
|
|
data: {level: vm.level, lowlevel: vm.lowLevel, area: vm.area, disease: vm.disease, type: vm.tagCode}
|
|
|
data: {level: vm.level, lowlevel: vm.lowLevel, area: vm.area, disease: vm.disease, type: vm.tagCode, year: vm.chooseYear, startTime: vm.startDate, endTime: vm.endDate}
|
|
|
}];
|
|
|
break;
|
|
|
case 3:
|
|
|
//tagCode: 1.自取,2.快递配送,3.健管师配送
|
|
|
reqParam = [{
|
|
|
url: "/statistics/getPrescriptionDispatchingTotal",
|
|
|
data: {level: vm.level, area: vm.area, disease: vm.disease}
|
|
|
data: {level: vm.level, area: vm.area, disease: vm.disease, year: vm.chooseYear}
|
|
|
},{
|
|
|
url: "/statistics/getPrescriptionDispatchingHistogram",
|
|
|
data: {level: vm.level, area: vm.area, disease: vm.disease, type: vm.tagCode, interval: vm.dateType}
|
|
|
data: {level: vm.level, area: vm.area, disease: vm.disease, type: vm.tagCode, interval: vm.dateType, year: vm.chooseYear, startTime: vm.sDate, endTime: vm.eDate}
|
|
|
},{
|
|
|
url: "/statistics/getPrescriptionDispatchingLowLevel",
|
|
|
data: {level: vm.level, lowlevel: vm.lowLevel, area: vm.area, disease: vm.disease, type: vm.tagCode}
|
|
|
data: {level: vm.level, lowlevel: vm.lowLevel, area: vm.area, disease: vm.disease, type: vm.tagCode, year: vm.chooseYear, startTime: vm.startDate, endTime: vm.endDate}
|
|
|
}];
|
|
|
break;
|
|
|
case 4:
|
|
|
reqParam = [{
|
|
|
url: "/statistics/getPrescriptionAgeTotal",
|
|
|
data: {level: vm.level, area: vm.area, disease: vm.disease}
|
|
|
data: {level: vm.level, area: vm.area, disease: vm.disease, year: vm.chooseYear}
|
|
|
},{
|
|
|
url: "/statistics/getPrescriptionAgeHistogram",
|
|
|
data: {level: vm.level, area: vm.area, disease: vm.disease}
|
|
|
data: {level: vm.level, area: vm.area, disease: vm.disease, year: vm.chooseYear, startTime: vm.startDate, endTime: vm.endDate}
|
|
|
},{
|
|
|
url: "/statistics/getPrescriptionAgeLowLevel",
|
|
|
data: {level: vm.level, lowlevel: vm.lowLevel, area: vm.area, disease: vm.disease}
|
|
|
data: {level: vm.level, lowlevel: vm.lowLevel, area: vm.area, disease: vm.disease, year: vm.chooseYear, startTime: vm.startDate, endTime: vm.endDate}
|
|
|
}];
|
|
|
break;
|
|
|
default:
|
|
@ -415,20 +471,34 @@ function handleSecondPanelData(data, vm){
|
|
|
xAxisData.push(item.date);
|
|
|
seriesData.push(item.count);
|
|
|
}
|
|
|
var names;
|
|
|
var names,panelName;
|
|
|
if(vm.sumType == 1){
|
|
|
names = ["续方总量", "已完成", "居民取消", "审核未通过", "进行中", "其他原因取消"];
|
|
|
panelName = "续方订单趋势";
|
|
|
}else if(vm.sumType == 3){
|
|
|
panelName = "订单配送趋势";
|
|
|
names = ["居民自取", "物流配送", "健管师配送"];
|
|
|
}
|
|
|
EventBus.$emit("draw-bar-chart", {
|
|
|
panelName: "近半年统计",
|
|
|
xData: xAxisData,
|
|
|
yData: seriesData,
|
|
|
quotaName: names[vm.tagCode - 1],
|
|
|
color: color,
|
|
|
// EventBus.$emit("draw-bar-chart", {
|
|
|
// panelName: "近半年统计",
|
|
|
// xData: xAxisData,
|
|
|
// yData: seriesData,
|
|
|
// quotaName: names[vm.tagCode - 1],
|
|
|
// color: color,
|
|
|
// unit: "笔",
|
|
|
// selectedDateType: vm.dateType
|
|
|
// });
|
|
|
|
|
|
console.log(vm.dateValue);
|
|
|
EventBus.$emit("draw-line-chart", {
|
|
|
panelName : panelName,
|
|
|
quotaNames : ["订单数"],
|
|
|
xData : xAxisData,
|
|
|
yDatas : [seriesData],
|
|
|
colors : [color],
|
|
|
unit: "笔",
|
|
|
selectedDateType: vm.dateType
|
|
|
selectedDateType: vm.dateType,
|
|
|
dateValue: vm.dateValue
|
|
|
});
|
|
|
break;
|
|
|
case 2:
|
|
@ -444,7 +514,7 @@ function handleSecondPanelData(data, vm){
|
|
|
yDatas.push(yData);
|
|
|
|
|
|
EventBus.$emit("draw-line-chart", {
|
|
|
panelName : "近三个月人均费用趋势",
|
|
|
panelName : "人均费用趋势",
|
|
|
quotaNames : ["人均费用"],
|
|
|
xData : xData,
|
|
|
yDatas : yDatas,
|