|
@ -1,6 +1,10 @@
|
|
new Vue({
|
|
new Vue({
|
|
el: '#app',
|
|
el: '#app',
|
|
data: {
|
|
data: {
|
|
|
|
pickerOptions0: {
|
|
|
|
disabledDate:function(time) {
|
|
|
|
return time.getTime() > Date.now() - 8.64e6
|
|
|
|
}},
|
|
city: '上饶市',
|
|
city: '上饶市',
|
|
town: [],
|
|
town: [],
|
|
selectTown:["0"],
|
|
selectTown:["0"],
|
|
@ -32,8 +36,15 @@ new Vue({
|
|
middleData1:'',
|
|
middleData1:'',
|
|
middleData2:'',
|
|
middleData2:'',
|
|
middleData3:'',
|
|
middleData3:'',
|
|
|
|
linkageFilter1:'',
|
|
|
|
linkageFilter3:'',
|
|
},
|
|
},
|
|
mounted: function() {
|
|
mounted: function() {
|
|
|
|
var _nowMonth;
|
|
|
|
nowMonth == '0'?_nowMonth = 12:_nowMonth=nowMonth
|
|
|
|
this.time = new Date(nowYear+'-'+ (_nowMonth))
|
|
|
|
this.linkageFilter1 = "quotaDate >= '" + getLastMonthStartDate() + "' and quotaDate <= '" + getLastMonthEndDate() + "';";
|
|
|
|
this.linkageFilter2 = "quotaDate >= '" + getHalfYearStartDate() + "' and quotaDate <= '" + getHalfYearEndDate() + "';";
|
|
this.initData();
|
|
this.initData();
|
|
},
|
|
},
|
|
filters:{
|
|
filters:{
|
|
@ -53,40 +64,32 @@ new Vue({
|
|
initData: function() {
|
|
initData: function() {
|
|
this.timeType = 1;//默认显示本月
|
|
this.timeType = 1;//默认显示本月
|
|
$(".div-mask-layer").show();
|
|
$(".div-mask-layer").show();
|
|
var vm = this,data1, data2, data3, data4, data5, data6, data7, data8;
|
|
|
|
this.town.map(function(v, i) {
|
|
|
|
if(v.name == vm.city) {
|
|
|
|
vm.cityVal = v.id;
|
|
|
|
}
|
|
|
|
})
|
|
|
|
// 上个月
|
|
|
|
var linkageFilter1 = "quotaDate >= '" + getMonthStartDate() + "' and quotaDate <= '" + getMonthEndDate() + "';";
|
|
|
|
console.log(linkageFilter1)
|
|
|
|
|
|
var vm = this;
|
|
|
|
// debugger
|
|
|
|
// 这个月
|
|
|
|
var linkageFilter1 = this.linkageFilter1
|
|
|
|
// console.log(linkageFilter1)
|
|
if(vm.cityVal!="0") {
|
|
if(vm.cityVal!="0") {
|
|
linkageFilter1 += "town=" + vm.cityVal + ";";
|
|
linkageFilter1 += "town=" + vm.cityVal + ";";
|
|
}
|
|
}
|
|
// 今年
|
|
|
|
var linkageFilter2 = "quotaDate >= '" + getYearStartDate() + "' and quotaDate <= '" + getYearEndDate() + "';";
|
|
|
|
if(vm.cityVal!="0") {
|
|
|
|
linkageFilter2 += "town=" + vm.cityVal + ";";
|
|
|
|
}
|
|
|
|
console.log(linkageFilter2)
|
|
|
|
// 半年
|
|
// 半年
|
|
var linkageFilter3 = "quotaDate >= '" + getHalfYearStartDate() + "' and quotaDate <= '" + getHalfYearEndDate() + "';";
|
|
|
|
|
|
var linkageFilter2 = this.linkageFilter2
|
|
if(vm.cityVal!="0") {
|
|
if(vm.cityVal!="0") {
|
|
linkageFilter3 += "town=" + vm.cityVal + ";";
|
|
|
|
|
|
linkageFilter2 += "town=" + vm.cityVal + ";";
|
|
}
|
|
}
|
|
console.log(linkageFilter3)
|
|
|
|
var linkageFilter4 = "quotaDate >= '" + getYearEndDate() + "' and quotaDate <= '" + getYearEndDate() + "';";
|
|
|
|
console.log(linkageFilter4)
|
|
|
|
|
|
// console.log(linkageFilter2)
|
|
|
|
// 本月,没有地区条件
|
|
|
|
var linkageFilter3 = vm.linkageFilter1;
|
|
|
|
// console.log(linkageFilter3)
|
|
var reqUrl = [{url: bigDataAPI.getCityHospital,reqType: 'get',data: {}},
|
|
var reqUrl = [{url: bigDataAPI.getCityHospital,reqType: 'get',data: {}},
|
|
{url: bigDataAPI.getNoChartTemplateData,reqType: 'get',data: {viewCodeStr: "VIEW_22_0004",linkageFilter:linkageFilter1}},//医保费用
|
|
{url: bigDataAPI.getNoChartTemplateData,reqType: 'get',data: {viewCodeStr: "VIEW_22_0004",linkageFilter:linkageFilter1}},//医保费用
|
|
{url: bigDataAPI.getTemplateDataByViewCode,reqType: 'get',data: {viewCode: "VIEW_22_0003",linkageFilter:linkageFilter3}},//医保支出费用月趋势
|
|
|
|
|
|
{url: bigDataAPI.getTemplateDataByViewCode,reqType: 'get',data: {viewCode: "VIEW_22_0003",linkageFilter:linkageFilter2}},//医保支出费用月趋势
|
|
{url: bigDataAPI.getTemplateDataByViewCode,reqType: 'get',data: {viewCode: "VIEW_22_0002",linkageFilter:linkageFilter1}},//医保目录外费用占比
|
|
{url: bigDataAPI.getTemplateDataByViewCode,reqType: 'get',data: {viewCode: "VIEW_22_0002",linkageFilter:linkageFilter1}},//医保目录外费用占比
|
|
{url: bigDataAPI.getTemplateDataByViewCode,reqType: 'get',data: {viewCode: "VIEW_22_0005",linkageFilter:linkageFilter1}},//
|
|
{url: bigDataAPI.getTemplateDataByViewCode,reqType: 'get',data: {viewCode: "VIEW_22_0005",linkageFilter:linkageFilter1}},//
|
|
{url:bigDataAPI.getMapJingWeiDuInfo,reqType: 'get',data:{}},//上饶地图经纬度数据
|
|
{url:bigDataAPI.getMapJingWeiDuInfo,reqType: 'get',data:{}},//上饶地图经纬度数据
|
|
{url: bigDataAPI.getNoChartTemplateData,reqType: 'get',data: {viewCodeStr: "VIEW_22_0001",linkageFilter:linkageFilter1}},//机构排行
|
|
|
|
|
|
{url: bigDataAPI.getNoChartTemplateData,reqType: 'get',data: {viewCodeStr: "VIEW_22_0001",linkageFilter:linkageFilter1,limitCondition:JSON.stringify({'VIEW_22_0001': '50'})}},//机构排行
|
|
{url: bigDataAPI.getNoChartTemplateData,reqType: 'get',data: {viewCodeStr: "VIEW_22_0006",linkageFilter:linkageFilter1,limitCondition:JSON.stringify({'VIEW_22_0006': '50'})}},//疾病
|
|
{url: bigDataAPI.getNoChartTemplateData,reqType: 'get',data: {viewCodeStr: "VIEW_22_0006",linkageFilter:linkageFilter1,limitCondition:JSON.stringify({'VIEW_22_0006': '50'})}},//疾病
|
|
|
|
{url: bigDataAPI.getNoChartTemplateData,reqType: 'get',data: {viewCodeStr: "VIEW_22_0004",linkageFilter:linkageFilter3}}//医保费用地图数据
|
|
];
|
|
];
|
|
// debugger
|
|
// debugger
|
|
httpRequest.getReqPromises(reqUrl).then(function(datas) {
|
|
httpRequest.getReqPromises(reqUrl).then(function(datas) {
|
|
@ -101,6 +104,8 @@ new Vue({
|
|
label: '上饶市',
|
|
label: '上饶市',
|
|
value: '0'
|
|
value: '0'
|
|
})
|
|
})
|
|
|
|
// debugger
|
|
|
|
// console.log(datas[1])
|
|
vm.middleData1 = toThousands(datas[1].obj.VIEW_22_0004[0].HC_22_1001/10000);
|
|
vm.middleData1 = toThousands(datas[1].obj.VIEW_22_0004[0].HC_22_1001/10000);
|
|
vm.middleData2 = datas[1].obj.VIEW_22_0004[0].HC_22_1002;
|
|
vm.middleData2 = datas[1].obj.VIEW_22_0004[0].HC_22_1002;
|
|
vm.middleData3 = toThousands(datas[1].obj.VIEW_22_0004[0].HC_22_1006/10000);
|
|
vm.middleData3 = toThousands(datas[1].obj.VIEW_22_0004[0].HC_22_1006/10000);
|
|
@ -108,23 +113,18 @@ new Vue({
|
|
// vm.leftData1 = datas[1];
|
|
// vm.leftData1 = datas[1];
|
|
var chart3 = datas[3].obj.viewInfos[0].options[0].option;
|
|
var chart3 = datas[3].obj.viewInfos[0].options[0].option;
|
|
var chart4 = datas[4].obj.viewInfos[0].options[0].option;
|
|
var chart4 = datas[4].obj.viewInfos[0].options[0].option;
|
|
var data1 = datas[1]
|
|
|
|
var data5 = datas[5];
|
|
var data5 = datas[5];
|
|
var data6 = datas[6];
|
|
var data6 = datas[6];
|
|
var data7 = datas[7];
|
|
var data7 = datas[7];
|
|
|
|
var data8 = datas[8];
|
|
vm.setLeftChart1(chart2);
|
|
vm.setLeftChart1(chart2);
|
|
vm.setLeftChart2(chart3);
|
|
vm.setLeftChart2(chart3);
|
|
vm.setLeftChart3(chart4);
|
|
vm.setLeftChart3(chart4);
|
|
vm.setTable1(data6)
|
|
vm.setTable1(data6)
|
|
vm.setTable2(data7)
|
|
vm.setTable2(data7)
|
|
// vm.setRightChart1(data8);
|
|
|
|
// vm.setRightChart2(data9);
|
|
|
|
// vm.setTable1(data4);
|
|
|
|
// vm.setTable2(data5);
|
|
|
|
// vm.setleftData1();
|
|
|
|
echarts.registerMap('上饶',data5);
|
|
echarts.registerMap('上饶',data5);
|
|
vm.setMapData(data1);
|
|
|
|
vm.setYesterDay(data1);
|
|
|
|
|
|
vm.setMapData(data8);
|
|
|
|
vm.setYesterDay(data8);
|
|
$(".div-mask-layer").hide();
|
|
$(".div-mask-layer").hide();
|
|
})
|
|
})
|
|
},
|
|
},
|
|
@ -175,11 +175,17 @@ new Vue({
|
|
},
|
|
},
|
|
setLeftChart2: function(data) {
|
|
setLeftChart2: function(data) {
|
|
var options = JSON.parse(data);
|
|
var options = JSON.parse(data);
|
|
this.leftData2_legend = toThousands((Number(options.series[0].data[0].value)+Number(options.series[0].data[1].value))/10000)
|
|
|
|
|
|
this.leftData2_legend = null;
|
|
|
|
if(options.series[0].data[0] && options.series[0].data[1]){
|
|
|
|
if(options.series[0].data[0].value && options.series[0].data[1].value){
|
|
|
|
this.leftData2_legend = toThousands((Number(options.series[0].data[0].value)+Number(options.series[0].data[1].value))/10000)
|
|
|
|
}
|
|
|
|
}
|
|
options = leftChart2(options);
|
|
options = leftChart2(options);
|
|
this.leftData2 = options;
|
|
this.leftData2 = options;
|
|
},
|
|
},
|
|
setLeftChart3: function(data) {
|
|
setLeftChart3: function(data) {
|
|
|
|
// debugger
|
|
var options = JSON.parse(data);
|
|
var options = JSON.parse(data);
|
|
options = leftChart3(options);
|
|
options = leftChart3(options);
|
|
this.leftData3 = options;
|
|
this.leftData3 = options;
|
|
@ -213,22 +219,33 @@ new Vue({
|
|
item.HC_22_1001 = toThousands(Number(item.HC_22_1001)/10000)
|
|
item.HC_22_1001 = toThousands(Number(item.HC_22_1001)/10000)
|
|
return item;
|
|
return item;
|
|
})
|
|
})
|
|
this.tableData1 = arr;
|
|
|
|
|
|
if(arr.length == 0){
|
|
|
|
this.tableData1 = false;
|
|
|
|
}else{
|
|
|
|
this.tableData1 = arr;
|
|
|
|
}
|
|
|
|
// console.log(this.tableData1)
|
|
},
|
|
},
|
|
setTable2: function(data) {
|
|
setTable2: function(data) {
|
|
console.log(data)
|
|
|
|
|
|
// console.log(data)
|
|
var arr = data.obj.VIEW_22_0006;
|
|
var arr = data.obj.VIEW_22_0006;
|
|
arr.shift()
|
|
arr.shift()
|
|
arr = arr.map(function(item){
|
|
arr = arr.map(function(item){
|
|
|
|
if(item.HC_22_1004 == 0){
|
|
|
|
return item;
|
|
|
|
}
|
|
item.HC_22_1004 = toThousands(Number(item.HC_22_1004)/10000)
|
|
item.HC_22_1004 = toThousands(Number(item.HC_22_1004)/10000)
|
|
return item;
|
|
return item;
|
|
})
|
|
})
|
|
this.tableData2 = arr;
|
|
|
|
console.log(this.tableData2)
|
|
|
|
|
|
if(arr.length == 0){
|
|
|
|
this.tableData2 = false;
|
|
|
|
}else{
|
|
|
|
this.tableData2 = arr;
|
|
|
|
}
|
|
|
|
// console.log(this.tableData2)
|
|
},
|
|
},
|
|
setCity(item) {
|
|
setCity(item) {
|
|
this.city = item.name;
|
|
this.city = item.name;
|
|
|
|
|
|
},
|
|
},
|
|
setTimeStr(v) {
|
|
setTimeStr(v) {
|
|
this.timeType = v;
|
|
this.timeType = v;
|
|
@ -254,50 +271,99 @@ new Vue({
|
|
return JSON.parse(JSON.stringify(obj))
|
|
return JSON.parse(JSON.stringify(obj))
|
|
},
|
|
},
|
|
clickMap: function(res) {
|
|
clickMap: function(res) {
|
|
|
|
var vm = this;
|
|
|
|
// console.log(res)
|
|
this.city = res.name;
|
|
this.city = res.name;
|
|
|
|
// console.log(this.town)
|
|
|
|
var k = null;
|
|
|
|
this.town.map(function(item,index){
|
|
|
|
if(item.label == res.name){
|
|
|
|
k = item.value
|
|
|
|
}
|
|
|
|
if(item.label == vm.city) {
|
|
|
|
vm.cityVal = item.value;
|
|
|
|
}
|
|
|
|
})
|
|
|
|
this.selectTown = [];
|
|
|
|
this.selectTown.push(k);
|
|
},
|
|
},
|
|
skipClick: function() {
|
|
skipClick: function() {
|
|
console.log(222)
|
|
|
|
|
|
// console.log(222)
|
|
this.skipShow == 0 ? this.skipShow = 1 : this.skipShow = 0
|
|
this.skipShow == 0 ? this.skipShow = 1 : this.skipShow = 0
|
|
|
|
},
|
|
|
|
areaChange:function(data){
|
|
|
|
console.log(data)
|
|
|
|
console.log(this.town)
|
|
|
|
var cityValue = null,city=null;
|
|
|
|
this.town.map(function(item,index){
|
|
|
|
if(item.value == data[0]){
|
|
|
|
cityValue = item.value;
|
|
|
|
city = item.label
|
|
|
|
if(data[1]){
|
|
|
|
item.children.map(function(t){
|
|
|
|
if(t.value == data[1]){
|
|
|
|
cityValue = t.value
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
console.log(cityValue)
|
|
|
|
this.cityVal = cityValue;
|
|
|
|
this.city = city;
|
|
|
|
},
|
|
|
|
clickTime:function(data){
|
|
|
|
// console.log(data);
|
|
|
|
var year = data.substring(0,4);
|
|
|
|
var month = data.substring(5,7);
|
|
|
|
var linkageFilter1 = "quotaDate >= '" + data +"-01' and quotaDate <= '" + data+'-'+getDaysInMonth(year,month)+"';"
|
|
|
|
var linkageFilter2 = "quotaDate >= '" + getLastHalfMonthArray(data) +"' and quotaDate <= '" + data+'-'+getDaysInMonth(year,month)+"';"
|
|
|
|
this.linkageFilter1 = linkageFilter1;
|
|
|
|
this.linkageFilter2 = linkageFilter2;
|
|
|
|
this.initData();
|
|
}
|
|
}
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
city: function(value) {
|
|
city: function(value) {
|
|
var that = this;
|
|
var that = this;
|
|
that.lineHeightIndex = value;
|
|
that.lineHeightIndex = value;
|
|
|
|
// this.selectTown = value;
|
|
this.initData();
|
|
this.initData();
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
//数字格式化
|
|
//数字格式化
|
|
function toThousands(str) {
|
|
|
|
if(!str) return
|
|
|
|
str = parseInt(str);
|
|
|
|
if(typeof(str) == 'number') str = str.toString()
|
|
|
|
|
|
function toThousands(num) {
|
|
|
|
if (!num && num !== 0) return ''
|
|
|
|
if (typeof (num) == 'number') {
|
|
|
|
num = num.toString()
|
|
|
|
}
|
|
|
|
var str = ''
|
|
|
|
if (num.indexOf('.') != -1) {
|
|
|
|
num = Number(num).toFixed(2);
|
|
|
|
str = num.split('.')[1];
|
|
|
|
num = num.split('.')[0];
|
|
|
|
}
|
|
|
|
if (str) {
|
|
|
|
str = '.' + str
|
|
|
|
}
|
|
|
|
|
|
var newStr = "";
|
|
|
|
var count = 0;
|
|
|
|
if(str.indexOf(".") == -1) {
|
|
|
|
for(var i = str.length - 1; i >= 0; i--) {
|
|
|
|
if(count % 3 == 0 && count != 0) {
|
|
|
|
newStr = str.charAt(i) + "," + newStr;
|
|
|
|
} else {
|
|
|
|
newStr = str.charAt(i) + newStr;
|
|
|
|
}
|
|
|
|
count++;
|
|
|
|
}
|
|
|
|
str = newStr;
|
|
|
|
} else {
|
|
|
|
for(var i = str.indexOf(".") - 1; i >= 0; i--) {
|
|
|
|
if(count % 3 == 0 && count != 0) {
|
|
|
|
newStr = str.charAt(i) + "," + newStr;
|
|
|
|
} else {
|
|
|
|
newStr = str.charAt(i) + newStr; //逐个字符相接起来
|
|
|
|
}
|
|
|
|
count++;
|
|
|
|
}
|
|
|
|
str = newStr + (str + "00").substr((str + "00").indexOf("."), 3);
|
|
|
|
|
|
return (num || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') + str;
|
|
|
|
}
|
|
|
|
document.getElementById("full").onclick = function (event) {
|
|
|
|
var app = document.getElementById('app')
|
|
|
|
FullScreen(app);
|
|
|
|
}
|
|
|
|
function FullScreen(el) {
|
|
|
|
var isFullscreen = document.fullScreen || document.mozFullScreen || document.webkitIsFullScreen;
|
|
|
|
if (!isFullscreen) { //进入全屏,多重短路表达式
|
|
|
|
(el.requestFullscreen && el.requestFullscreen()) ||
|
|
|
|
(el.mozRequestFullScreen && el.mozRequestFullScreen()) ||
|
|
|
|
(el.webkitRequestFullscreen && el.webkitRequestFullscreen()) || (el.msRequestFullscreen && el.msRequestFullscreen());
|
|
|
|
|
|
|
|
} else { //退出全屏,三目运算符
|
|
|
|
document.exitFullscreen ? document.exitFullscreen() :
|
|
|
|
document.mozCancelFullScreen ? document.mozCancelFullScreen() :
|
|
|
|
document.webkitExitFullscreen ? document.webkitExitFullscreen() : '';
|
|
}
|
|
}
|
|
return str;
|
|
|
|
}
|
|
}
|